参考am335x_evm做了一块双网卡板子,使用ti-sdk-am335x-evm-05.05.00.00-Linux-x86-Install,两路网口都可以Ping通。
U-Boot# ping 192.168.0.35
Auto Negotitation failed for port 1
link up on port 0, speed 1000, full duplex
Using cpsw device
host 192.168.0.35 is alive
目前想使用新的Linux内核版本,所以下载了ti-processor-sdk-linux-am335x-evm-04.03.00.05-Linux-x86-Install.bin。进入u-boot后,第一路网口可以ping通主机,但是第二路网口ping不通主机:
=> ping 192.168.0.35
cpsw Waiting for PHY auto negotiation to complete……… TIMEOUT !
ping failed; host 192.168.0.35 is not alive
=> mii info
PHY 0x00: OUI = 0x1374, Model = 0x07, Rev = 0x04, 1000baseX, HDX
PHY 0x01: OUI = 0x1374, Model = 0x07, Rev = 0x04, 1000baseX, FDX
想请问下,这是因为命令行没有使用第二路网口来ping还是第二路网口的配置还有问题?
Lee Jiejia:
ping会调用到drivers/net/phy/phy.c里面的这个函数:int genphy_update_link(struct phy_device *phydev),我在里面把addr打印出来,发现无论连接哪一路网口,phydev->addr的值都是0。在u-boot命令行中,如何使用第二路网口去ping呢?