Manchmal schlägt die Aushandlung der korrekten Verbindungsgeschwindigkeit zwischen Switch und NIC (Network Interface Controller, auch Netzwerkkarte genannt) fehl. Dieses Problem kann durch minderwertige oder zu lange Netzwerkkabel, veraltete Treiber oder Firmware oder auch durch falsche oder inkompatible Einstellungen auf einer der beiden Seiten verursacht werden. Besonders bei Multi-Gigabit-Verbindungen (z. B. 2.5G, 5G oder 10G Ethernet) treten solche Probleme häufiger auf, da nicht alle Geräte die Autonegotiation-Standards exakt gleich interpretieren.
Wenn sich der Switch also nicht korrekt mit der Netzwerkkarte auf eine Geschwindigkeit einigen kann, hilft unter Linux oft das Werkzeug ethtool, mit dem sich die Verbindungsgeschwindigkeit und der Duplex-Modus manuell setzen oder überprüfen lassen.
Praxisbeispiel
In meinem Fall wollte sich der Switch TL-SG3428X-M2 (Firmware 1.0.1) von TP-Link mit einer Intel X550-T2 Netzwerkkarte (NVM Update 3.6) nicht auf die gewünschte Verbindungsgeschwindigkeit von 2.5 Gbit/s einigen. Stattdessen fiel die Verbindung immer wieder auf 1 Gbit/s zurück oder kam gar nicht zustande.
Mit Hilfe des Programms ethtool konnte ich die Geschwindigkeit manuell auf den gewünschten Wert erzwingen:
ethtool -s enp2s0f0 speed 2500 duplex full autoneg on
Dieser Befehl setzt die Schnittstelle enp2s0f0 auf eine feste Geschwindigkeit von 2.5 Gbit/s im Vollduplex-Modus und aktiviert gleichzeitig die automatische Aushandlung (autoneg on). Das kann helfen, wenn die automatische Erkennung zwischen Switch und NIC fehlschlägt.
Dauerhafte Konfiguration über Systemd-Service
Damit der Befehl nach einem Neustart nicht erneut manuell eingegeben werden muss, habe ich einen Systemd-Service erstellt, der die Geschwindigkeit beim Booten automatisch setzt.
Datei erstellen mit:
sudo vi /etc/systemd/system/speed.enp2s0f0.service
[Unit]
Description=Ethtool setzt die Geschwindigkeit hart auf 2500Mbit/s
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/bin/ethtool -s enp2s0f0 speed 2500 duplex full autoneg on
Type=oneshot
[Install]
WantedBy=multi-user.target
Service aktivieren:
sudo systemctl enable speed.enp2s0f0.service
Beim nächsten Systemstart prüft der Dienst, ob das Netzwerk verfügbar ist, und setzt anschließend automatisch die konfigurierte Schnittstellengeschwindigkeit.
Hinweise und Tipps
- Mit ethtool enp2s0f0 lässt sich die aktuelle Verbindungsgeschwindigkeit und der Link-Status prüfen.
- Bei anhaltenden Problemen kann es helfen, andere Kabel (mindestens Cat 6 oder Cat 6a) oder eine andere Switch-Port-Konfiguration zu testen.
- Einige Switches oder NICs unterstützen 2.5 Gbit/s nur mit bestimmten Firmware-Ständen – ein Firmware-Update kann daher Abhilfe schaffen.
- Alternativ kann man die Geschwindigkeit auch per udev-Regel oder Netplan/NetworkManager-Konfiguration dauerhaft setzen, falls Systemd nicht gewünscht ist.