TrueNAS Core on Dell Optiplex 5040: Intel I219-V NIC (em0) Unstable. How to Troubleshoot?

Hello,

I’m new to TrueNAS and I’ve got TrueNAS Core installed and running, and I’m working through the initial install, but ran into an issue. The Intel I219-V NIC on the motherboard (which is apparently only a PHY?) stopped working overnight, and as it was the only NIC the web GUI was bound to, I lost access to the box and had to do a hard reset.

I did some googling, and apparently this NIC is known to be unstable in FreeBSD 13, which TrueNAS Core 13 is (currently) based on. https://forums.freebsd.org/threads/intel-i219-v-adl-16-unusable-with-mtu-5360.88258/

FreeBSD 14 fixes this issue.

I did notice that TrueNAS Core is using the “em” driver (this is NIC “em0.”

This appears to be the right driver: em(4)

The em driver provides support for Gigabit Ethernet adapters connected
to I/O Controller Hub (ICH) and Platform Controller Hub (PCH) including
Intel 80003ES2LAN, 82562, 82566, 82567, 82577, 82578, 82579, i217,
i218, and i219.

I don’t really understand exactly what the bug is that causes the issue fixed by the MTU setting change. I set the NIC to MTU 9000 in the TrueNAS interface, so maybe that will fix it, but in case it happens again, is there somethiing else I need to check?

Intel has BSD drivers here, but I’m not sure if they’re newer than what’s in TrueNAS Core 13, and since it’s BSD, I’m not sure how to install them (I downloaded the drivers and didn’t see BSD install instructions, of course).
https://www.intel.com/content/www/us/en/download/15187/intel-network-adapter-gigabit-base-driver-for-freebsd.html

Thanks!

There is not really any good way to load a different driver, the best solution is to replace that NIC with a supported one.

1 Like

As above,

Or use Truenas Scale which is based on linux and not BSD which may have better drivers

1 Like

Thanks!

This is the onboard NIC, and the only two slots I have in this box are filled with a small HBA card and a 2x10Gbps NIC.

Sounds like the safest thing to do would be to figure out how to get VLAN support enabled on the 10Gbps NIC (and the annoying switch it lives on), and pass both the management interface and the 2x10Gbps storage network interface over that one adapter.

I did set the MTU on the on-board Intel NIC to 9000 per the thread I posted, and it’s been stable since then. I don’t love it when bugs/bug fixes seem to be side effects of tweaking otherwise unrelated settings, but at least it seems to be working for the moment.

I also plugged in a Ugreen 1Gbps USB NIC, which somehow worked even though I’m pretty sure it’s a Realtek chipset. It’s been stable for about 24 hours.

So, I probably won’t lock myself out of the system when I try to get VLANs configured correctly. I’m going to cheat and use the switch that’s easy to configure and then come back and fix the switch I actually want to use later. :stuck_out_tongue:

EDIT: The USB NIC stopped working, likely because the Realtek chipset is unstable on BSD, but I have access to the console via the serial port now, and I’ve also got both the management and storage network VLANs coming over the (very stable) Mellanox 10Gbps card. I think I’m set. Thanks for your help!

My experience with USB ethernet devices is that they all overheat. I’ve had some luck clamping them to a rack shelf or rack rail to sink the heat into the rack, but overall, the Realtek stuff just doesn’t seem to work out very well.

I’m really surprised that there isn’t a USB Intel NIC.

I realize that it’d be more expensive, but I think some people would pay the premium for better compatibility/driver support.

I know there are USB adapters with Aquantia chipsets, but those aren’t really well supported in BSD, either (even though Linux support seems fine).