After this weekends network card passthrough fail with the EXPI9404PT on VMware 6.0 I was feeling pretty discouraged, so I took a break for a day. I decided to try again today since I have a couple other models of network cards in my currently running lab:
- 1x Intel 82576 ET Quad Port Gigabit Network
- 1x Intel 82575 VT Quad Port Gigabit Network
This was actually pretty inconvenient, as I had to shut down all my VMs, shut down the host, pull the card, add the EXPI9404PT, boot up, and reconfigure all of my vSwitches with the new vmnics. It worked, but it was a step I was certainly hoping to avoid. On the plus side, newer network cards should hopefully be a little more efficient — I read something like 2.5W vs 5.6W. Not earth shattering, but it’s something!
I figured I’d save myself the hassle and start with the higher model card — just seems like I should have better luck, right?
I don’t trust it, so I check the VMware Compatibility Guide first this time. YES – Intel Gigabit ET Quad Port Server Adapter — Supported ESXi 6.0 U1 on igb version 5.2.5. Perfect.
I install it, boot it up, it’s there!
I configure the device for passthrough. It’s smart enough that I can pick individual ports — that’s cool.
Reboot to apply changes.
Comes back up — Message: “This device needs host reboot to start running in passthrough mode.”
Like an idiot, I reboot again.
Screw it, I’m trying the older 82575GB card. Long story short: same result.
I do some researching and find out the 82575GB was deprecated in ESXi 5.5, but “may” continue to work. I also found a site showing the same problem. It ends up Access Control Services were introduced with the direct assignment of devices. Passthrough of a PCIe device to a virtual machine, using Direct Path I/O is disallowed by the VMKernel if the device is connected to a switch that does not support Access Control Services (vmware KB 1036811).
Luckily this is my homelab, I can disable this:
Select the host and navigate to Configuration > Advanced Settings (Software) > VMkernal > Boot. Search for a parameterVMkernel.Boot.disableACSCheck and enable the check-box.
Of course, now I’m using the older 82575GB card that’s deprecated.
One last network card swap, reboot, make passthrough change, reboot and finally we have a victory.
I’m not sure it was worth the $80 I saved versus just buying a new network card.