NXPカーネル4.14.98を通過したi.MX6dlベースの組み込みデバイスは、何百eth0
もの場合に20分または1時間後に明らかな理由なくインターフェイスが停止しました。システムログによると
[ 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)の文書化されていないバグであることがわかりました。降圧レギュレータの自動モードは信頼できず、エラー状態に入ることができます。 「Fixed PWM」モードを選択すると問題が解決しました。
だから結局これは理由のためにU&Lとは関係ありませんが、似たような問題を探している人が偶然発見するかもしれないのでここに残しておきました。