Intel VT-d is set to disabled

Enabling Intel VT-d on Supermicro Servers after Firmware Upgrade

Several months ago, I took the time to upgrade all of my Supermicro home lab servers to BIOS version 2.0c. This was required to begin using my Emulex UCNA 10 Gb cards, as documented in the The Easy Button for Supermicro BIOS Upgrades. However, it wasn’t until recently that I noticed that the ability to use DirectPath I/O was no longer available. Yikes!

Hey! Where did my passthrough go?
Hey! Where did my passthrough go?

When things aren’t working as expected, it’s often the simple things that break. To begin troubleshooting, I decided to pop the hood on my BIOS configuration and check the Intel VT-d settings. This feature must be enabled in order to utilize DirectPath I/O.

Enabling Intel VT-d on Supermicro

I grabbed a KVM session to the console of the ESXi server in question, named esx2, and verified that I was indeed running BIOS version 2.0c.

Supermicro BIOS version 2.0c
Supermicro BIOS version 2.0c

Next, I navigated to the Intel VT-d settings. You can find them at Advanced > Chipset Configuration > Integrated IO Configuration > Intel VT-d. Sure enough, the feature had been disabled. I don’t recall having to enable this feature when I bought the server, although I can’t remember 100%, so either the upgrade turns off VT-d or I just forgot that I needed to turn it back on after a major firmware upgrade.

Either way, it’s an easy fix: just press enter on Intel VT-d and choose Enabled.

Intel VT-d is set to disabled
Intel VT-d is set to disabled

Once enabled, I saved the configuration and restarted the server.

The Results

Once the esx2 server fully booted up, I verified that I can once again use DirectPath I/O. Below is a list of components showing passthrough capable on my Supermicro X9SCM board:

The server once again allows me to use DirectPath I/O
The server once again allows me to use DirectPath I/O