Gelöst: Intel e1000e „Detected Hardware Unit Hang“
Dieser Post umfasst eine kurze Problembeschreibung und verweist auf die Lösung, die ich dazu im Internet gefunden und implementiert habe.
Er dient mir als Dokumentation und ich freue mich, wenn er euch ebenfalls hilft, wenn ihr von dem gleichen Problem betroffen seid.
Problembeschreibung
Ein Server mit einer Intel-Netzwerkkarte, welche den Treiber e1000e nutzt, verliert plötzlich die Netzwerkanbindung. Im Protokoll des Servers finden sich dazu wiederholt folgende Meldungen:
kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
Remote-Verbindungen werden unterbrochen und es ist nur noch ein Zugriff über eine lokale Konsole möglich. Das kann unpraktisch sein, wenn sich der Server in einem hunderte Kilometer entfernten Standort befindet.
Lösung
Die Lösung habe ich bei der Internetrecherche im Blog von Ruhani Rabin gefunden: https://rabin.blog/fix-intel-e1000e-detected-hardware-unit-hang-on-proxmox/#solution-summary-proxmox-intel-e1000e-hardware-unit-hang-fix
Ruhani hat eine systemd.unit erstellt, welche die problematischen Funktionen des Treibers deaktiviert. Zusätzlich wird ein Watchdog eingerichtet, welcher helfen soll, das Problem bei erneutem Auftreten selbst zu lösen.
Bitte schaut in Ruhanis Blog-Artikel für alle Details zur Lösung. Er hat diese wirklich gut beschrieben.
Ich dokumentiere in den folgenden Code-Blöcken lediglich die systemd.units, die ich auf meinem Host implementiert habe:
# /etc/systemd/system/disable-nic-offload-eno1.service
[Unit]
Description=Disable NIC offloading for Intel e1000e interface eno1
After=network-pre.target
Wants=network-pre.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -K eno1 gso off gro off tso off tx off rx off rxvlan off txvlan off sg off
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Und der Watchdog:
# /etc/systemd/system/e1000e-eno1-watchdog.timer
[Unit]
Description=Run e1000e eno1 watchdog every 2 minutes
[Timer]
OnBootSec=2min
OnUnitActiveSec=2min
AccuracySec=30s
Unit=e1000e-eno1-watchdog.service
[Install]
WantedBy=timers.target
# /etc/systemd/system/e1000e-eno1-watchdog.service
[Unit]
Description=Watch for Intel e1000e hardware hangs and reset eno1
After=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/e1000e-eno1-watchdog
Watchdog-Skript:
#!/usr/bin/env bash
set -u
set -o pipefail
IFACE="eno1"
LOOKBACK="5 minutes ago"
LOCK="/run/e1000e-${IFACE}-watchdog.lock"
STAMP="/run/e1000e-${IFACE}-last-reset"
MIN_RESET_INTERVAL_SECONDS=600
exec 9>"$LOCK"
flock -n 9 || exit 0
if ! journalctl -k --since "$LOOKBACK" --no-pager \
| grep -Eqi "e1000e .*${IFACE}: Detected Hardware Unit Hang|Detected Hardware Unit Hang"; then
exit 0
fi
now="$(date +%s)"
last=0
[ -f "$STAMP" ] && last="$(cat "$STAMP" 2>/dev/null || echo 0)"
if [ $((now - last)) -lt "$MIN_RESET_INTERVAL_SECONDS" ]; then
logger -t e1000e-watchdog "hardware hang detected on ${IFACE}, but reset suppressed by rate limit"
exit 0
fi
logger -t e1000e-watchdog "hardware hang detected on ${IFACE}; resetting NIC"
if ! ip link set "$IFACE" down; then
logger -t e1000e-watchdog "failed to bring ${IFACE} down; NIC reset incomplete"
exit 1
fi
sleep 2
if ! ip link set "$IFACE" up; then
logger -t e1000e-watchdog "failed to bring ${IFACE} up; NIC reset incomplete"
exit 1
fi
# Re-apply the offload mitigation after link reset, just in case.
ethtool -K "$IFACE" gso off gro off tso off tx off rx off rxvlan off txvlan off sg off 2>/dev/null || \
logger -t e1000e-watchdog "warning: unable to re-apply offload mitigation on ${IFACE}"
date +%s >"$STAMP"
logger -t e1000e-watchdog "NIC reset completed for ${IFACE}"
Bugtracker
Laut des KI-Agenten meines geringsten Misstrauens ist das Problem in folgenden Trackern dokumentiert:
- https://bugzilla.kernel.org/show_bug.cgi?id=219489
- https://bugzilla.kernel.org/show_bug.cgi?id=205047
Zum Erscheinungsdatum dieses Beitrags befinden sich beide im Status ‚NEW‘.
Die Linux Firmware Landschaft erhält neuen Rückenwind. HP unterstützt nun als weiterer Premier Sponsor den Linux Vendor Firmware Service (LVFS) und reiht sich damit neben Dell und Lenovo ein. Das Projekt gewinnt damit einen weiteren großen Hersteller, der die Zukunft sicherer Firmware Updates auf Linux Systemen aktiv mitgestaltet. Hinter dem Dienst steht die bekannte fwupd […]



TUXEDO Computers hat überraschend die Arbeiten am geplanten Snapdragon X Elite Notebook eingestellt. Das ambitionierte Linux Gerät wird nicht erscheinen. Die Entwickler wollen ihre bisherige Arbeit jedoch nicht komplett verwerfen. Sie haben neue Device Tree Patches veröffentlicht und hoffen auf Nutzen für andere Systeme. Die Entscheidung stößt jedoch auf Widerstand in der Kernel Gemeinschaft. Zwar […]