e1000e Hardware Unit Hang – Intel I219-LM auf Dell Minikomputer¶
Problem¶
Sporadischer, vollständiger Netzwerkausfall auf einem Proxmox-Host (Dell Minikomputer) ohne externe Ursache. Recovery nur durch physisches Aus- und Einstecken des Netzwerkkabels möglich.
Im Systemlog (journalctl -k) erscheinen folgende Meldungen unmittelbar vor dem Ausfall:
kernel: e1000e 0000:00:1f.6 eth0: Detected Hardware Unit Hang:
TDH <8d>
TDT <dd>
next_to_use <dd>
next_to_clean <8c>
...
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
kernel: e1000e 0000:00:1f.6 eth0: NIC Link is Down
kernel: vmbr0: port 1(eth0) entered disabled state
Nach dem Replug erholt sich der Link wieder:
kernel: e1000e 0000:00:1f.6 eth0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
kernel: vmbr0: port 1(eth0) entered forwarding state
Ursache¶
Energy Efficient Ethernet (EEE) ist auf dem NIC aktiv, obwohl der angeschlossene Switch keine EEE-Unterstützung zurückmeldet (Link partner advertised EEE link modes: Not reported).
Dieser Mismatch verursacht beim Intel I219-LM (e1000e-Treiber) einen TX-Queue-Freeze: Der Hardware-Deskriptorring (TDH) kommt nicht mehr voran, next_to_watch.status bleibt auf 0, der Treiber erkennt den Hang und gibt die Verbindung auf. Ein Software-Reset findet nicht statt – nur ein physischer Link-Down/Up (Replug) löst den Reset aus.
Betroffene Hardware¶
- NIC: Intel Ethernet Connection (7) I219-LM
[8086:15bb]rev 10 (Coffeelake) - Treiber: e1000e
- Gerät: Dell Minikomputer (OptiPlex Micro o.ä.)
Diagnose¶
Hinweis auf das Problem:
EEE ist aktiv, aber der Switch kommuniziert keine EEE-Fähigkeit → Mismatch.
Lösung¶
1. EEE sofort deaktivieren¶
Verifizieren:
2. Persistent machen (Proxmox /etc/network/interfaces)¶
Da Proxmox die Datei verwaltet, wird der post-up-Hook direkt unter die iface eth0-Zeile eingefügt:
Resultat in /etc/network/interfaces:
Der Hook wird bei jedem Interface-Up automatisch ausgeführt, also auch nach einem Neustart.
Weitere Massnahmen (falls Problem weiterhin auftritt)¶
Sollte der Hang nach dem EEE-Fix erneut auftreten, sind folgende Schritte zu prüfen:
Flow Control deaktivieren (Mismatch mit Switch möglich):
TX-Offloading reduzieren:
Kernel-Moduloption setzen (/etc/modprobe.d/e1000e.conf):
Referenzen¶
- Kernel Bug #202931 – e1000e TX hang with EEE
man ethtool