E1000e: Detected Hardware Unit Hang

Hello!

Today I was hit for the first time with:

e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
                 TDH                  <86>
                 TDT                  <b7>
                 next_to_use          <b7>
                 next_to_clean        <86>
               buffer_info[next_to_clean]:
                 time_stamp           <1008458ac>
                 next_to_watch        <87>
                 jiffies              <100879200>
                 next_to_watch.status <0>
               MAC Status             <80083>
               PHY Status             <796d>
               PHY 1000BASE-T Status  <3800>
               PHY Extended Status    <3000>
               PCI Status             <10>

Kernel is kernel-core-7.1.3-200.fc44.x86_64
NIC is:

$ lspci -nn | grep Ethernet
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (17) I219-LM [8086:1a1c] (rev 11)

Distribution is Fedora Linux 44 (Workstation Edition) and machine Dell OptiPlex Tower Plus 7020

I applied 2 workarounds:

  1. To get out of that vicious loop I unplugged and plugged LAN cable (it helped)
  2. Run ethtool -K NIC_NAME tx off rx off (from Proxmox forum: e1000e eno1: Detected Hardware Unit Hang: | Proxmox Support Forum)

Question: anybody else encountered same issue recently? (It is first time I got it on my machine).

A long time ago I hit a problem with intel NIC.
The driver could not find out the buffer size on the NIC.
You had to set it as a kernel command line param I recall then the NIC works very well.

Maybe web search and see if your NIC needs a tweak on the command line?

I found my notes on the e1000e issue. Here is what I have:

According to this article it is the offload code that is buggy: http://serverfault.com/questions/616485/e1000e-reset-adapter-unexpectedly-detected-hardware-unit-hang

And this is the fix:

ethtool --offload eno2 gso off gro off tso off