Recently migrated my homelab ESXi to Proxmox VE, and while things mostly went smoothly, one node would randomly hang (mostly during large transfers or under sustained network load but sometimes when idling…).
I plugged in a monitor to check logs and… confirmed the cause with a quick dmesg
:
e1000e: Detected Hardware Unit Hang
Turns out this has been a known issue for years with Intel e1000e NICs (like I217-LM, I219-V, 82574L, etc.). These “aging” chips choke when offload features are enabled under modern workloads.
Quick Fix (Minimal Effort)
Disable offloading via ethtool
.
ethtool -K eno1 tso off gso off
Make it permanent by adding to your /etc/network/interfaces
:
iface eno1 inet manual
post-up ethtool -K eno1 tso off gso off
Or apply the full offloading nuke via community script (see below).
Community Script (One-Liner/No-Brainer Fix)
The awesome Proxmox Community Scripts project includes a NIC Offloading Fix that disables all offload features automatically:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/nic-offloading-fix.sh)"
Works great for e1000e-based NICs, especially if you’re seeing hangs under stress (e.g., file transfers, Plex, VM Migrations, etc.).
Guess what… seems stable now.
Sources:
https://gist.github.com/crypt0rr/60aaabd4a5c29a256b4f276122765237
https://forum.proxmox.com/threads/intel-nic-e1000e-hardware-unit-hang.106001
Thanks to @negus00 for pointing me in the right direction.