最近、私のギガビットホームネットワークのスループットは100Mbit / sにすぎないことを発見しました。
見てみると、私のArchLinux BoxがNICとそれに接続されているスイッチでサポートされているリンク速度以外のリンク速度をethtool
使用していることがわかりました。理由はわかりませんが、NICは以下に基づいてリンクモードを宣伝していないようです。100baseT/Half
1000baseT/Full
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
実行によって自動ネゴシエーションが明示的に有効になったら、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
答え2
私は同じ問題を抱えており、これを意識的に設定していないと確信しています...
ethtool --change enp0s31f6 autoneg on
すぐに修正し、ネットワークが1Gbit全二重で正しく自動ネゴシエートされた後、NetworkManagerを見てみると、実際には100mbitに設定されました。