커널 4.20과 작동하려면 기가비트 이더넷을 다시 연결해야 합니다.

커널 4.20과 작동하려면 기가비트 이더넷을 다시 연결해야 합니다.

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

net: 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

관련 정보