Der Befehl ethtool wird verwendet, um die Einstellungen des Ethernet-Adapters anzuzeigen/zu ändern. Sie können die Geschwindigkeit der Netzwerkkarte, die automatische Aushandlung, die Wake-on-LAN-Einstellung und den Duplexmodus mit diesem Tool unter Linux ändern. In diesem Artikel zeige ich Ihnen einige ethtool-Befehlsbeispiele, die Ihnen bei der Behebung von Problemen mit Ethernet-Karten helfen.
1) Ethernet-Schnittstellendetails anzeigen
Der Befehl ethtool ruft den Status der Ethernet-Schnittstelle ab. Die Ausgabe zeigt Eigenschaften wie Geschwindigkeit, Duplex, Status und Aktivierung der etho-Schnittstelle an.
Unten ist ein Beispiel:
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
Es gibt drei Arten von Duplexen:
Vollduplex :Wird verwendet, wenn das Ethernet mit dem Switch verbunden ist. Ermöglicht bidirektionale Übertragungen, dh das gleichzeitige Senden und Empfangen von Paketen.
Halbduplex :Wird verwendet, wenn das Ethernet mit dem Hub verbunden ist. Erlaubt nur Übertragungen in eine Richtung, dh entweder das Senden oder Empfangen von Paketen.
Automatische Verhandlung :Die Ethernet-Schnittstelle entscheidet anhand der Netzwerkverbindung, ob Voll- oder Halbduplex verwendet wird.
2) ETHTOOL_OPTS-Variable
Die Ethtool-Befehlseinstellungen können mit der Ethtool_opt-Variablen dauerhaft festgelegt werden. Sehen wir uns das folgende Beispiel an:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
ETHTOOL_OPTS="speed 50 duplex full autoneg off"
Sie können die obige Einstellung mit den Befehlen ifup und ifdown testen.
3) Statistiken anzeigen
Die Ethernet-Treibereinstellungen und Autonegotiation können mit den folgenden Befehlen überprüft werden:
# ethtool -i eth0
driver: bnx2
version: 2.0.1-suse
firmware-version: 1.9.3
bus-info: 0000:04:00.0
[root@localhost ~]# ethtool –a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
Die Option „–p“ des Ethtool-Befehls hilft, das spezifische Gerät von mehreren Geräten zu identifizieren.
# ethtool –p eth0
Die Statistik der Netzwerkkarte ist sehr nützlich bei der Fehlersuche bei Netzwerkproblemen.
# ethtool –S eth0
NIC statistics:
tx_packets: 148683
rx_packets: 179489
tx_errors: 0
rx_errors: 0
rx_missed: 0
align_errors: 0
tx_single_collisions: 0
tx_multi_collisions: 0
unicast: 116884
broadcast: 25361
multicast: 61674
tx_aborted: 0
tx_underrun: 0
Die obige Ausgabe zeigt die Details zu den übertragenen und empfangenen Paketen.
4) Flusskontrolle aktivieren
Die Flusskontrolle in Vollduplex kann durch den Parameter „PAUSE“ in den neuesten eingebetteten MAC- und GMAC-Geräten aktiviert werden.
Hier ist die Lösung:
# ethtool -A eth0 [autoneg on|off] [rx on|off] [tx on|off]
Details zu Offload-Parametern erhalten Sie wie folgt:
# ethtool –k eth0
Alle Änderungen, die an den Ethernet-Parametereinstellungen vorgenommen wurden, werden jedoch beim nächsten Booten gelöscht. Damit sie beim nächsten Booten intakt bleiben, müssen Sie diese Änderungen dauerhaft machen, indem Sie den Befehl zu /etc/rc.local
hinzufügen# cat /etc/rc.local
ethtool -s eth0 speed 100 duplex full autoneg on 1>/dev/null 2>/dev/null
ethtool -s eth1 speed 100 duplex full autoneg on 1>/dev/null 2>/dev/null
5) Duplexmodus einstellen
Das folgende Beispiel zeigt, wie Sie die Geschwindigkeit oder den Duplexmodus mit dem ethtool-Befehl wie folgt einstellen:
# ethtool -s eth0 speed 100 duplex full
# ethtool -s eth0 speed 10 duplex half
Lesen Sie auch:
- So finden Sie Netzwerkschnittstellendetails mit dem Linux Mii-Tool