最近在开发PHY驱动程序,在调试中,一配置网卡信息,就会出现RX接收错误,超过数量门槛并使网络停止。
# ifconfig eth3
eth3 Link encap:Ethernet HWaddr E2:EB:CF:37:64:DA
inet addr:192.168.1.113 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::e0eb:cfff:fe37:64da/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:78 dropped:0 overruns:0 frame:0
TX packets:691 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:29482 (28.7 KiB)
Memory:1ae6000-1ae6fff
经通过大量实验及代码追踪,发现RGMII Rx clock delay这个是直接影响这个接收错误。
注释PHY中代码后,配置正常,Ping正常。