我正在u-boot上测试i.MX6主板上的以太网连接
我使用了以下命令:
setenv ipaddr xx.xx.xx.xx
setenv serverip xx.xx.xx.xx
setenv netmask xx.xx.xx.xx
setenv gatewayip xx.xx.xx.xx
setenv ethaddr xx:xx:xx:xx:xx:xx
当我对我的地址执行ping操作时失败
=> ping xx.xx.xx.xx
Using FEC device
ARP Retry count exceeded; starting again
ARP Retry count exceeded; starting again
=> mii info
PHY 0x00: OUI = 0x209A, Model = 0x01, Rev = 0x00, 100baseT, FDX
=> mii dump 0 0
0. (3100) -- PHY control register --
(8000:0000) 0.15 = 0 reset
(4000:0000) 0.14 = 0 loopback
(2040:2000) 0. 6,13 = b01 speed selection = 100 Mbps
(1000:1000) 0.12 = 1 A/N enable
(0800:0000) 0.11 = 0 power-down
(0400:0000) 0.10 = 0 isolate
(0200:0000) 0. 9 = 0 restart A/N
(0100:0100) 0. 8 = 1 duplex = full
(0080:0000) 0. 7 = 0 collision test enable
(003f:0000) 0. 5- 0 = 0 (reserved)
错误是什么。我在恩智浦网站上看到,假的MAC地址不适用于ping ..如何使其工作..
答案 0 :(得分:1)
首先,我们需要检查MAC地址是否正确写入了H / W寄存器,即基本上是SpecAdd1top
和SpecAdd1bottom
寄存器(保存了MAC地址)。读取这两个寄存器的值,以及它们是否与分配的MAC地址完全匹配。
需要通过在服务器端PC上运行Wireshark来验证ARP请求是否已在服务器PC上到达。如果到达,则在ARP超时时间为5毫秒内未获得对目标板的ARP响应。似乎ARP请求没有到达服务器端,这意味着它没有正确发送ARP请求。
从u-boot以太网MAC驱动程序检查ENET MAC是否成功发送ARP请求。
将ARP超时时间从5ms增加到更多ms。
答案 1 :(得分:0)
使用wireshark或tcpdump来验证" wire"实际发生了什么。随着现代以太网的切换,您需要找到一种方法来实际看到特定的以太网段。如果您的设备通过交叉电缆连接并且您的笔记本电脑位于另一侧,则这很容易。否则,您可能必须配置交换机,以便将流量从某个端口复制到连接笔记本电脑的端口。
答案 2 :(得分:0)
您可能希望使用 dhcp 命令而不是使用 setenv 来设置网络适配器。
使用 dhcp 验证您是否具有正常工作的网络连接,并且可以使用 printenv 手动显示当前正在设置的环境变量的正确值。
如果基本ping无法使用静态IP地址,那么是什么让您认为DHCP请求有更大的成功机会?
静态地址可能设置不正确。例如。如果指定了错误的网关或网络掩码,则可能无法ping目标。