Blog ESXi 8 consumer NVMe SSD not recognized
Post
Cancel

ESXi 8 consumer NVMe SSD not recognized

This is an update for ESXi 8 in the “consumer NVMe SSD not being recognized since ESXi 6.7U1” series. Just like previous versions, several consumer NVMe controllers are having problems being recognized in ESXi 8. Although the VMware community fling has been deprecated due to default addition of some NVMe controllers from the fling to the ESXi 8 image, one controller brand is still left out. Specifically, Silicon Motion controllers, used by ADATA in almost all their NVMe drives and I’m sure they are in others.

VMware Flings driver

As mentioned above, the community driver has officially been deprecated due to default driver additions to ESXi 8. However, this community driver still contains the Silicon Motion and ADATA drives to add support. Unfortunately this community driver was released only for ESXI 6.7 and 7, ESXi 8 is not supported. Luckily, last weekend I was able to test ESXi 8 Update 1 on my server with ADATA NVMe drives and figured, why not just install the deprecated fling and see if it works! …. It worked! Before you jump right in though, there are a few caveats you have to keep in mind. It will not work for every NVMe drive! You can find the community driver at the VMware Flings website ⧉.

Your path to a working NVMe drive

Like I said above, there are some caveats, unfortunately the community drivers don’t support all known NVMe drives out there. In fact, at the time of writing this, only the following NVMe drives are supported by the community driver:

VendorVendorIDProductID
ADATA0x1cc18201
Micro/Crucial0xc0a90x2263
Silicon Motion0x126f0x2262

To check if your NVMe drive is supported by this driver follow these steps:

  1. Log onto your ESXi host (that has the NVMe installed).
  2. Find the vmhbaX where X is the number assigned by ESXi that holds your NVMe drive.
  3. Use esxcli nvme device get -A vmhbaX in the console, replace X with your number from the previous step.
  4. Find the PCIVID (VendorID) and ProductID in the list.
  5. If the PCIVID and/or ProductID don’t show for your device, try finding it in the list of esxcli hardware pci list.

Now, based on the results you end up with one of the following options:

My VendorID and ProductID match

You can download and install the community driver.

  1. Download version nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434
  2. Upload the zip to your ESXi hosts /tmp folder.
  3. Install by using:
    1
    
    esxcli software vib install -d /tmp/nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434
    
  4. Reboot.

My VendorID matches but not the ProductID

You can try the community driver, success is not guaranteed but it can probably work, follow the steps above for “My VendorID and ProductID match”.

None of the ID’s match at all

You are out of luck, please follow the steps from my previous blogposts to try and get it working manually. There is absolutely no guarantee this will work by adding an old ESXi 6.7 driver to an ESXi 8 install. Please don’t try this if you are not willing to do a complete reinstall!

NVMe SSD not recognized 7.0

Conclusion

That concludes this post and you should now have a working NVMe drive!

This post is licensed under CC BY 4.0 by the author.

Big update for older Tesla's just dropped! (2022.8.10.5)

-