SATA Passtrough ESXi 6.2 with Supermicro X11SSH-LN4F

This page describes how to enable hardware passtrough in ESXi (6.5 at the moment of writing this) for storage devices that do not show up are greyed out in the ESXi’s PCI devices list. I have written this specifically for my motherboard but I assume it can be adopted for many different systems.

 

Enable SSH login for your ESXi Host and login with your root account.

First we need to find the PCI device’s string. To do this type

esxcli storage core adapter list

It should give an output similar to mine.

HBA Name Driver Link State UID Capabilities Description 
-------- ------ ---------- ------------ ------------ -----------------------------------------------------------------------

vmhba1 nvme link-n/a pscsi.vmhba1 (0000:05:00.0) Intel Corporation <class> Non-Volatile memory controller
vmhba32 vmkusb link-n/a usb.vmhba32 () USB

Usually both the SATA and NVMe controller would show up here
In my case the SATA controller does not show-up since I have it already passed-trough.

Now we need to find the right PID for this device.
It can be found by issuing the following command lspci -n |grep PCI device string
So to find the PID of my NVMe controller I would type lspci -n |grep 0000:05:00.0
Which gives me the following output: 0000:05:00.0 Class 0106: 8086:a102 (rev 31)
From here I found that the device PID is a102

The PCI device string can be read as follows
0000 : PCI domain (each domain can contain up to 256 PCI buses)
04 : the bus number the device is attached to
00 : the device number
.0 : PCI device function

Now we need to add one simple line to /etc/vmware/passthru.map
add 8086 [PID] D3D0 false to the end of this file. This can be done using vi text editor.

So I have added the following line to /etc/vmware/passthru.map

8086 a102 d3d0 false

Restart ESXi and you will be able to passtrough the hardware

After enabling hardware pass-trough followed by another reboot you will be able to attach the device to any VM.

Remember to disable SSH login on your ESXi host for security reasons.

Leave a Reply

Your email address will not be published. Required fields are marked *