Can a PCIe card be too old for IOMMU/VT-d? [NC364t@Z440] Proxmox PCI Passthrough

I am using a second-hand HP Z440 workstation as a proxmox virtualization platform as a homelab for running some VMs and Containters. I managed to load the machine with a cool spec (Xeon E5-2680 v4 - 14c/28t, 80GB ECC RAM) and then I started playing around with passthrough devices (I managed to pass the Quadro GPU to a windows VM and it worked fine).
Now, since a couple of days ago, the IOMMU seems to be non-functional (I tried powering on the VM and got an error message on proxmox that “No IOMMU detected, please activate it.”
I started tracing back what had changed, if it was some config or a kernel upgrade, but no, all the configs on BIOS, kernel parameters on the EFI and modules were ok. dmesg shows only “DMAR: IOMMU enabled” but nothing else (it used to show information about PCIe groups and the “DMAR: Intel® Virtualization Technology for Directed I/O”.

After some fiddling, I remembered that I installed an HP NC364T on the system, an HP branded intel quad port NIC, recognized as an e1000e by the kernel. This card was a bit annyoing already to setup as 2 of the 4 interfaces are disabled by debian/proxmox because the card is actually a 2xdual port nic and they share the same slot/path. But I managed to make it work.

Now, when I remove the card from the system, IOMMU is active and proxmox can passthrough the GPU just fine. When I plug the card again it stops working. And it is not related to the current installation as I installed a fresh proxmox to test and I got the same result.

I have the latest bios from the z440 installed (nov/2020), I tried changing slots, tried some obscure BIOS settings to see if there is any “legacy” mode to make this work. This card is very old (~2007?), can it be that it simply does not support the VT-d / IOMMU protocols?

I googled around and saw one person on an unraid forum like 2 years ago that noted the exact same behavior (plugging in a NC364t to a Z440 disabled pci passthrough), but no other comments, solutions or even follow ups, I guess it would really be just easier to get a more modern nic and that is it, but I am curious if this even makes sense that a card won’t work (is it only on this system? I have no other system to test).

The short answer to your question is yes. I have ceton TV turner that will not passthough correctly. The card never see that it connected to network. When the card is passed though. I have not played with IOMMU in proxmox. However in Vmware esxi I have. With network card you would have to make sure that it not assign nic to the host OS in order for that to work. I know with ESXI that generally is not issue.

1 Like

Cool! Thank you for the feedback.
I ended up buying an i350 quad port, which worked out of box. IOMMU works perfectly fine now!

Anyone want to buy an old HP NC364T ? :slight_smile:

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.