Linux는 케이블이 연결되면 이더넷 자동 협상을 비활성화합니까?

Linux는 케이블이 연결되면 이더넷 자동 협상을 비활성화합니까?

최근에 내 기가비트 홈 네트워크의 처리량이 100Mbit/s에 불과하다는 사실을 발견했습니다.

살펴보니 내 ArchLinux Box가 NIC와 이에 연결된 스위치에서 지원하는 링크 속도 가 아닌 다른 링크 속도를 ethtool사용하고 있는 것을 발견했습니다 . 이유는 모르겠지만 NIC는 다음을 기반으로 링크 모드를 광고하지 않는 것 같습니다 .100baseT/Half1000baseT/Fullethtool

Settings for enp0s31f6:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  Not reported
    Advertised pause frame use: No
    Advertised auto-negotiation: No
    Speed: 100Mb/s
    Duplex: Half
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: off
    MDI-X: on (auto)
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000007 (7)
                           drv probe link
    Link detected: yes

실행을 통해 자동 협상이 명시적으로 활성화되면 ethtool --change enp0s31f6 autoneg on모든 모드를 스위치에 알리고 1000baseT/Full.

이것은 대부분의 시간과 일정 기간 동안만 작동합니다. 케이블을 분리했다가 다시 연결하면 자동 크기 조정이 꺼집니다.대부분의 경우, 그러나 항상 그런 것은 아닙니다. 또한 자동 승인을 설정하면 즉시 다시 비활성화되는 경우도 있습니다. 다시 시작하면 다시 비활성화됩니다.

플러그를 뽑았을 때 자동 협상이 비활성화되는 것이 아니라 다시 연결하면 자동 협상이 비활성화된다는 점에 유의하십시오. dsmeg자동 협상이 활성화되고 케이블이 연결되면 이 정보가 기록됩니다.

[153692.029252] e1000e: enp0s31f6 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
[153699.577779] e1000e: enp0s31f6 NIC Link is Up 100 Mbps Half Duplex, Flow Control: None
[153699.577782] e1000e 0000:00:1f.6 enp0s31f6: 10/100 speed: disabling TSO

저는 asrock 마더보드(~2015년부터)와 함께 Intel 네트워크 카드와 관리되지 않는 스위치(Netgear GS208)를 사용하고 있습니다.

답변1

몇 시간 동안 검색한 끝에 가장 확실한 곳에서 해결책을 찾았습니다.

NetworkManager가 이더넷 포트 설정에서 어떻게든 자동 협상을 비활성화한 것 같습니다.

연결 - KDE 시스템 설정

이상하게도 NetworkManager가 이더넷 링크 모드를 변경할 수 있다는 것을 알고 난 후에도 이 기능을 자세히 설명하는 온라인 소스를 찾을 수 없습니다. 제가 인터넷 검색을 통해 찾은 바에 따르면 이를 수행하는 유일한 방법은 설정하는 것입니다 ethtool.

답변2

나는 똑같은 문제를 겪고 있으며 이것을 의식적으로 설정하지 않았다고 확신합니다 ...

ethtool --change enp0s31f6 autoneg on

즉시 수정하여 네트워크가 1Gbit 전이중으로 올바르게 자동 협상된 다음 NetworkManager를 살펴보니 실제로 100mbit로 설정되었습니다...

관련 정보