具有 NXP 内核 4.14.98 的基于 i.MX6dl 的嵌入式设备通过eth0
.在数百个案例中,有一次界面会在二十分钟或一小时后无明显原因地停止。系统日志说
[ 1450.764118] fec 2188000.ethernet eth0: Graceful transmit stop did not complete!
[ 1450.771484] fec 2188000.ethernet eth0: Link is Down
没有发出暂停或断电命令。也不存在与接口保持打开状态的情况不同的已知事件。在这种状态下,ifconfig
报告
eth0 Link encap:Ethernet HWaddr 00:30:D6:25:76:A2
inet addr:192.168.0.5 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::230:d6ff:fe25:76a2/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:6844776 errors:5 dropped:0 overruns:4 frame:1
TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:441617696 (421.1 MiB) TX bytes:5570 (5.4 KiB)
超支是不寻常的。当我尝试重新启动时:
# ifconfig eth0 down
# ifconfig eth0 up
ifconfig: SIOCSIFFLAGS: Connection timed out
同时dmesg
报告fec 2188000.ethernet eth0: could not attach to PHY
。 PHY 是 Micrel KSZ9031。
阻塞 PHY 可以生成该Graceful transmit stop did not complete
消息吗?
可以尝试什么方法找到问题的原因呢?
答案1
事实证明,这是为 Micrel KSZ9031 供电的 PMIC(Dialog Semiconductors)中的一个未记录的错误。降压调节器的自动模式不可靠,可能会进入故障状态。选择“固定 PWM”模式解决了这个问题。
所以最后,这不是 U&L 相关的原因,但我把它留在这里,因为有人可能会偶然发现它来寻找类似的问题。