私はギガビットイーサネット(KSZ9031RNX)と10/100イーサネット(DP83848J)を備えたMicrochip sama5d36ボードを持っています。カーネル 4.20 では、イーサネットケーブルを抜き、再び差し込むまでギガビットイーサネットは接続されません。この問題は、特定のルータ接続とギガビットポートでのみ発生します。カーネル 4.18 に戻すと問題がなくなります。 dtsファイルは同じで、構成設定に重要な変更は表示されません。
これは私のdts設定です。
macb0: ethernet@f0028000 {
phy-mode = "rgmii";
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ethernet-phy@7 {
reg = <0x7>;
};
};
私はsystemd-networkdを使用しており、これは/etc/systemd/networkにある設定です:
[Match]
Name=eth0
[Network]
DHCP=yes
再起動後:
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 00:1c:1e:08:a0:e1 brd ff:ff:ff:ff:ff:ff
プラグを抜いてから差し込んだ後:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1c:1e:08:a0:e1 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.6/24 brd 192.168.2.255 scope global dynamic eth0
valid_lft 85532sec preferred_lft 85532sec
inet6 fe80::21c:1eff:fe08:a0e1/64 scope link
valid_lft forever preferred_lft forever
問題をどこで見つけることができるかについての洞察力はありますか?
答え1
バグのようです。最新のカーネルにアップグレードしてみてください。
バラよりhttps://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.20.13
そしてhttps://www.spinics.net/lists/netdev/msg543703.html
送信cbae90516d2a5fd3c71d55a28bacc5f67625564d
作成者:Heiner Kallweit
日付:2019年1月10日木曜日20:22:26 +0100net:phy:micrel:KSZ9031のSoft_resetコールバックをgenphy_soft_resetに設定する
[アップストリームコミット1d16073a326891c2a964e4cb95bc18fbcafb5f74]
これまで、PHYドライバがSoft_resetコールバックを実装していない場合は、genphy_soft_resetが自動的に使用されていました。これは上記のコミットに変更され、KSZ9031が破損しています。この問題を解決するには、genphy_soft_resetを使用するようにKSZ9031 PHYドライバを設定します。
修正: 6e2d85ec0559("net:phy: 過度のソフトリセットにより停止される")
報告者: Tony Lindgren
署名者: Heiner Kallweit
テスト者: Tony Lindgren
テスト者: Sekhar Nori
レビュー者: Florian Fainelli
署名者 - 署名者: David S .ミラー
署名者: Sasha Levin