vSAN – Downgrading NVMe driver in ESXi 6.7 Update 1

Recently ran into a HPE Proliant m510 server running vSAN, where vSAN complained that the controller driver for the NVMe disk where too new.

The health error said that the current driver nvme (1.2.2.17.-1vmw.670.1.28.10302608) was to new and the recommended driver was nvme (1.2.1.34-1vmw.670.0.08169922)

Downgrading is not always a breeze. When going to VMware compatibility guide, the NVMe disk is supported for vSAN 6.7 Update 1, and there are no download links to a specific driver, so how do you get the old driver?

After some investigation I found that the correct driver was delivered as a patch for 6.5, and in the 6.7 GA version.

As I did not want to download a 6.5 driver at install in my 6.7 Update 1 environment, I needed to figure out how to get the driver for 6.7.

The way to get the driver is to download the ESXi 6.7 GA image from VMware download repository in zip format. It you extract the image you will find the files you need.

VMware-ESXi-6.7.0-8169922-depot/vib20/nvme/VMW_bootbank_nvme_1.2.1.34-1vmw.670.0.0.8169922.vib
VMware-ESXi-6.7.0-8169922-depot/vib20/vmware-esx-esxcli-nvme-plugin/VMware_bootbank_vmware-esx-esxcli-nvme-plugin_1.2.0.32-0.0.8169922.vib

I figure the nvme-plugin version goes along with the nvme driver version, but as always. EVERYTHING YOU READ HERE ARE PERFORMED AT YOUR OWN RISK!

Copy the two files to the ESXi hosts using scp or any method you find convenient. I placed the files in the /tmp directory on each host, and put them in maintenance and installed the vibs one by one. After each install I rebooted the host even though the vib claims it is not necessary.

#Before install you can check the current version by running the command.
esxcli software vib list | gep nvme

# Install the vibs by running the commands:

esxcli software vib install -v /tmp/VMware_bootbank_vmware-esx-esxcli-nvme-plugin_1.2.0.32-0.0.8169922.vib

esxcli software vib install -v /tmp/VMW_bootbank_nvme_1.2.1.34-1vmw.670.0.0.8169922.vib

After the install, the version on my install looked like this:

We are done…

I hope that the information is useful, please feel free to leave any comment.

4 thoughts on “vSAN – Downgrading NVMe driver in ESXi 6.7 Update 1”

  1. Hi, this has been annoying me ever since 6.7 U1 came out that I decided to make it a bit easier to find these vibs and install them:

    (Replace h***s with the standard secure web prefix)

    1. Enable ESXi Shell and SSH access and log in to your host
    2. Run this:
    esxcli software vib install -v h***s://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/nvme/VMW_bootbank_nvme_1.2.1.34-1vmw.670.0.0.8169922.vib
    esxcli software vib install -v h***s://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/vmware-esx-esxcli-nvme-plugin/VMware_bootbank_vmware-esx-esxcli-nvme-plugin_1.2.0.32-0.0.8169922.vib
    3. Reboot

    Hope this helps anyone that finds this post until the vib is fixed.

    1. Thanks!

      When you’re stuck with ESXi free license like me, offline downloads / bundle are not available for download on VMWare website. But these cli commands still work.

  2. I just did this with 6.7u2 that would not see my Asus pci-e NVME m.2 controller (ASUS HYPER M.2 X16 CARD V2 – interface adapter – M.2 Card – PCIe 3.0 x16 (p/n: HYPER M.2 X16 CARD V2)) and 1tb adata m.2 (ADATA XPG SX8200 Pro – solid state drive – 1TB), worked perfectly after a reboot, thanks.

  3. damn…thanks for that post and your comment steven. I had a similar problem getting my SX8200 Pro going on 6.7u2. After reading your comment I finally decided to go for the downgrade and, of course, it worked as well.
    let’s hope vmware opens up their driver for consumer-grade devices again…

Leave a Reply

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