Intel NIC hanging forever

Hello!
My homeserver’s Intel NIC hung up, didn’t manage to sort itself and shut me out of it for 1.5 days. I suspect that this is the second time this happend, so I would like to do something about it.
The card is a part of an Asus PRIME B460M-A R2.0 MOBO working under Proxmox. This is the first log that reports the issue:

Aug 19 23:58:54 proxmox kernel: e1000e 0000:00:1f.6 nic0: Detected Hardware Unit Hang:
TDH 
TDT <17>
next_to_use <17>
next_to_clean 
buffer_info[next_to_clean]:
time_stamp <10d5e7207>
next_to_watch 
jiffies <111b8ad80>
next_to_watch.status <0>
MAC Status <40080083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>

Some additional info:

root@proxmox:~# ethtool -i enp0s31f6
driver: e1000e
version: 7.0.14-12-pve
firmware-version: 0.4-4
expansion-rom-version: 
bus-info: 0000:00:1f.6
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
root@proxmox:~# uname -r
7.0.14-12-pve
root@proxmox:~# pveversion
pve-manager/9.2.10/43df2e01f27a1a19 (running kernel: 7.0.14-12-pve)

I can’t really think of anything to fix this, and my research pointed me towards custom solutions, that i would like to avoid having to maintain,
or disabling ASPM which also doesn’t sound great.

I am a begginer in the space so any and all help and suggestions are welcome.

Thanks

The Intel I219V on your board is just a PHY with the Ethernet bits built into your board’s chipset. They do occasionally go bad so disabling the onboard and adding a physical NIC would be my recommendation.

3 Likes

Proxmox serves GUI on all interfaces, so I’d consider getting a usb nic off ebay, running both for a bit, wait till it craps out and then using the usb to log in and investigate. Or yeah like GT says just add an external if you can spare the pcie lanes

1 Like

What would you be on the lookout for when it breaks?

I’m probably gonna get heat for this, but I’d install opencode and use one of the default free models (big pickle ideally) to troubleshoot it for me. It’s a cursed strategy but it works so damn often. In this particular case you may run into issues because the outbound curl to install opencode may want to route through the dead onboard nic.

Thanks, fortunately the connection gets restored after a power cycle.