Recentemente, notei que estou recebendo apenas 100Mbit / s de througput na minha rede doméstica gigabit.
Ao olhar para ele com ethtool
, descobri que minha caixa ArchLinux estava usando 100baseT/Half
como velocidade de link em vez de 1000baseT/Full
, que a NIC e o switch conectado a ela suportam.Não sei por que, mas a NIC parece não esteja anunciando seus modos de link de acordo com ethtool
:
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
Ao ativar explicitamente a negociação automática executando ethtool --change enp0s31f6 autoneg on
, ela parece anunciar todos os seus modos para o switch e usa 1000baseT/Full
.
Isso só funciona na maior parte do tempo e por um tempo. Quando eu desconectar o cabo e ligá-lo de volta em desligar automaticamente a maioria das vezes , mas nem sempre. Além disso, algumas vezes, a configuração do autoneg como ativado o desativa novamente.
A reinicialização também desativa novamente.
Observe que a negociação automática não fica desativada ao desconectar, mas ao fazer a replicação. dsmeg
registra isso quando o autoneg foi ativado e eu conecto um cabo:
[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
Estou usando a placa de rede Intel da minha placa-mãe asrock (de ~ 2015) e um switch não gerenciado (Netgear GS208).