This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352上网卡AR8035驱动配置的问题



请问下能读到mac地址,但是检测不到网线的插入,dhcp服务起来后也分配不到IP,这是怎么回事?

网卡驱动的配置如下:

#define AM335X_EVM_PHY_ID        0x4dd072
#define AM335X_EVM_PHY_MASK        0xfffffffe

/* Module pin mux for rgmii1 */
static struct pinmux_config rgmii1_pin_mux[] = {
    {"mii1_txen.rgmii1_tctl", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
    {"mii1_rxdv.rgmii1_rctl", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
    {"mii1_txd3.rgmii1_td3", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
    {"mii1_txd2.rgmii1_td2", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
    {"mii1_txd1.rgmii1_td1", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
    {"mii1_txd0.rgmii1_td0", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
    {"mii1_txclk.rgmii1_tclk", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
    {"mii1_rxclk.rgmii1_rclk", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
    {"mii1_rxd3.rgmii1_rd3", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
    {"mii1_rxd2.rgmii1_rd2", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
    {"mii1_rxd1.rgmii1_rd1", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
    {"mii1_rxd0.rgmii1_rd0", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
    {"mdio_data.mdio_data", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
    {"mdio_clk.mdio_clk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT_PULLUP},
    {NULL, 0},
};

    am33xx_cpsw_init(AM33XX_CPSW_MODE_RGMII, "0:06", "0:04");
    /* Atheros Tx Clk delay Phy fixup */
    phy_register_fixup_for_uid(AM335X_EVM_PHY_ID, AM335X_EVM_PHY_MASK,am33xx_evm_tx_clk_dly_phy_fixup);

原理图如下:红线部分是有连接的地方

还请问下  am33xx_cpsw_init(AM33XX_CPSW_MODE_RGMII, "0:06", "0:04");中的“0:06”和“0:06”是什么意思?我看有的sdk中的phy_id是整形的,为ACT ,RXD1,RXD0三位的一个值,这里是字符串是什么含义?

在uboot下不正确配置网卡有关系吗?在uboot下不使用网络的情况下;

谢谢

  • 一般调试网卡,都是要先在u-boot下把网卡跑通,执行ping和dhcp都可以正常工作。

  • 检测不到网线的插入很可能是物理层PHY的事情,可以检查一下PHY的芯片--AR8035的接线问题

  • 您好,我检查了我们的板与demo板的原理图,发现在连线上有些差异;

    下面这个是我们现在的原理图

    主要是LED_10/100和LED_1000,LED_ACT之间的差别,这个应该不会影响到网线的检测吧,只是灯的状态;

    还有就是我在我们买的开发板上发现LED_10/100在未插网线是2.7V插入网线,识别到会拉低到1.8V;但是我们的板现在没有这个变化,而且这个变化应该和cpu是没关的吧,因为我在开发板MLO和uboot都没起来的情况下都能检测到这种变化;但是MAC地址又能读取到;

    MDC 和开发板的也不对,只有300KHZ

    我们自己的两块板都是这样的现象;

    请问我还可以往哪个方向找找原因呢?

  • 还想请教个问题,我们的第二个AR8035,的SDIO并没有和第一张的共用,这样会导致这样的问题吗?

  • 检测不到网线,是因为rj45的原因,今天拿到重新打板的一个网口座就OK了;

    我现在想挂载NFS,但是现在启动的时候,当dhcp服务起来后,系统就崩溃了,这是崩溃的日志

    PHY: 0:06 - Link is Up - 100/Full
    Sending DHCP requests ., OK
    IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.1.128
    ------------[ cut here ]------------
    WARNING: at drivers/net/ethernet/ti/cpsw.c:491 cpsw_rx_handler+0x170/0x178()
    Modules linked in:
    Backtrace:
    [<c0017dbc>] (dump_backtrace+0x0/0x10c) from [<c04a2f74>] (dump_stack+0x18/0x1c)
     r6:c02c9cfc r5:00000009 r4:00000000 r3:c06c340c
    [<c04a2f5c>] (dump_stack+0x0/0x1c) from [<c003cdd8>] (warn_slowpath_common+0x54/0x6c)
    [<c003cd84>] (warn_slowpath_common+0x0/0x6c) from [<c003ce14>] (warn_slowpath_null+0x24/0x2c)
     r8:00000000 r7:0000076c r6:df32fbc0 r5:df050500 r4:df32f800
    r3:00000009
    [<c003cdf0>] (warn_slowpath_null+0x0/0x2c) from [<c02c9cfc>] (cpsw_rx_handler+0x170/0x178)
    [<c02c9b8c>] (cpsw_rx_handler+0x0/0x178) from [<c02c589c>] (__cpdma_chan_free+0xa4/0xb0)
     r7:18000000 r6:df357dc0 r5:60000093 r4:df333200
    [<c02c57f8>] (__cpdma_chan_free+0x0/0xb0) from [<c02c596c>] (__cpdma_chan_process+0xc4/0xfc)
    [<c02c58a8>] (__cpdma_chan_process+0x0/0xfc) from [<c02c5ad8>] (cpdma_chan_stop+0xd8/0x16c)
     r6:a0000093 r5:df333200 r4:df357dc0 r3:e0872a60
    [<c02c5a00>] (cpdma_chan_stop+0x0/0x16c) from [<c02c5bbc>] (cpdma_ctlr_stop+0x50/0x8c)
     r6:df355600 r5:df3556cc r4:00000020 r3:00000002
    [<c02c5b6c>] (cpdma_ctlr_stop+0x0/0x8c) from [<c02ca090>] (cpsw_ndo_stop+0x1a4/0x1dc)
     r7:00001203 r6:00000001 r5:c072f464 r4:df3b1800
    [<c02c9eec>] (cpsw_ndo_stop+0x0/0x1dc) from [<c03dfd18>] (__dev_close_many+0x90/0xd4)
     r5:df02de58 r4:df3b1800
    [<c03dfc88>] (__dev_close_many+0x0/0xd4) from [<c03dfd8c>] (__dev_close+0x30/0x48)
     r5:00001202 r4:df3b1800
    [<c03dfd5c>] (__dev_close+0x0/0x48) from [<c03e33dc>] (__dev_change_flags+0x84/0x13c)
    [<c03e3358>] (__dev_change_flags+0x0/0x13c) from [<c03e3510>] (dev_change_flags+0x18/0x50)
     r7:00000002 r6:c069f870 r5:00001203 r4:df3b1800
    [<c03e34f8>] (dev_change_flags+0x0/0x50) from [<c067a4bc>] (ic_close_devs+0x3c/0x5c)
     r6:c069f870 r5:00000000 r4:df3b5d40 r3:df3b1800
    [<c067a480>] (ic_close_devs+0x0/0x5c) from [<c067bd04>] (ip_auto_config+0xd34/0xf6c)
     r6:c069f870 r5:00000000 r4:c070009c r3:c070009c
    [<c067afd0>] (ip_auto_config+0x0/0xf6c) from [<c000876c>] (do_one_initcall+0x128/0x1a8)
    [<c0008644>] (do_one_initcall+0x0/0x1a8) from [<c065188c>] (kernel_init+0x84/0x120)
    [<c0651808>] (kernel_init+0x0/0x120) from [<c003fc58>] (do_exit+0x0/0x65c)
     r5:c0651808 r4:00000000
    ---[ end trace 6f44cb8dc33afa60 ]---
    IP-Config: Complete:
         device=eth0, addr=192.168.1.128, mask=255.255.255.0, gw=192.168.1.1,
         host=192.168.1.128, domain=, nis-domain=(none),
         bootserver=0.0.0.0, rootserver=192.168.1.80, rootpath=




    VFS: Unable to mount root fs via NFS, trying floppy.
    VFS: Cannot open root device "nfs" or unknown-block(2,0)
    Please append a correct "root=" boot option; here are the available partitions:
    1f00             128 mtdblock0  (driver?)
    1f01             128 mtdblock1  (driver?)
    1f02             128 mtdblock2  (driver?)
    1f03             128 mtdblock3  (driver?)
    1f04            1920 mtdblock4  (driver?)
    1f05             128 mtdblock5  (driver?)
    1f06            5120 mtdblock6  (driver?)
    1f07            5120 mtdblock7  (driver?)
    1f08          249344 mtdblock8  (driver?)
    b300         7639040 mmcblk0  driver: mmcblk
      b301         7639008 mmcblk0p1 00000000-0000-0000-0000-000000000000
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
    Backtrace:
    [<c0017dbc>] (dump_backtrace+0x0/0x10c) from [<c04a2f74>] (dump_stack+0x18/0x1c)
     r6:00008000 r5:c059f4f0 r4:c070cdc8 r3:c06c340c
    [<c04a2f5c>] (dump_stack+0x0/0x1c) from [<c04a3170>] (panic+0x64/0x194)
    [<c04a310c>] (panic+0x0/0x194) from [<c0651c88>] (mount_block_root+0x174/0x228)
     r3:00000004 r2:00000000 r1:df02df40 r0:c059f4f0
     r7:c059f558
    [<c0651b14>] (mount_block_root+0x0/0x228) from [<c0651ef0>] (mount_root+0xc8/0xe8)
    [<c0651e28>] (mount_root+0x0/0xe8) from [<c065207c>] (prepare_namespace+0x16c/0x1cc)
     r4:c070bee0
    [<c0651f10>] (prepare_namespace+0x0/0x1cc) from [<c06518fc>] (kernel_init+0xf4/0x120)
     r5:c06a0900 r4:c06a0900
    [<c0651808>] (kernel_init+0x0/0x120) from [<c003fc58>] (do_exit+0x0/0x65c)
     r5:c0651808 r4:00000000

    我现在是两张网卡,一张网卡正常工作,另一张网卡MDIO口接错了,接的IIC;所以不能正常工作,这个会影响NFS的挂载吗?

  • MDIO接错了,如何对相应的网卡进行寄存器操作和读取确认呢?

    至于会不会影响NFS的挂载,要看你是哪个网卡出错了,我们目前支持的EMAC1启动,所以如果你能保证你的网卡1上的配置和通讯一切正常,那就应该可以正常的走网络挂NFS的系统。如果这时候挂载出错,就需要检查你的主机端网络设置,和本身基本配置设置。排除主机端的很简单,你直接mount自己做自检就好了,然后再看你本身的配置。

    话说你提供的log中看不到你的uboot传参,是不知道你的uboot环境变量设置是否正确的,但是log中有这么一句:IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.1.128,serverip 为啥是0.0.0.0?