나는 기가비트 이더넷(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