FTF 001: Replacing 3rd async with VMware inbox driver?

By | December 26, 2016

This post begins my series: "From the Field" about issues or opportunities that I have faced during doing projects for my customers. Recently during implementing VMware vSAN for my customer, we needed to replace 3rd async driver with VMware inbox driver (yes, something totally opposite what usually is done). In this post, you will find answers for the following questions:

  • Difference between ASYNC and INBOX drivers by VMware.
  • How to download and install async drivers in ESXi 5.x/6.x
  • How to replace inbox drivers with async.

Async vs inbox drivers

There are two types of drivers:

  • async - drivers are developed by third-party vendors and are subjected to VMware certification. (1)
  • inbox - drivers developed by VMware. (2)

inbox-vs-async

Downloading and installing async drivers

There are three ways to install 3rd (async) drivers:

  1. Using esxcli and offline bundle.
  2. Using esxcli and async driver VIB file.
  3. Using VMware Update Manager.

At first we need to download async driver from VMware Compatibility Guide - IO Devices page. Then:

  1. Log in to the ESXi host using the vSphere Client or Web Client with administrator privileges.
  2. Using Datastore Browser, upload the async driver vib file or bundle zip file to an ESXi host’s datastore.
  3. Enter the host into maintenance mode.
  4. Run the following command:
    esxcli software vib install –v /path/async-driver.vib
    or
    esxcli software vib install –d /path/offline-bundle.zip
  5. Reboot ESXi host.

When you want to use VMware Update Manager:

  1. Extract the contents of the async driver zip file.
  2. Identify the offline-bundle.zip file.
  3. From vCenter Server, go to Home --> Update Manager.
  4. Click the Patch Repository tab.
  5. Click the Import Patches link at the top right of the screen.
  6. Click Finish. The async driver is added to the patch repository.
  7. Create a Host Extension baseline and remediate the ESXi host.

Replacing 3rd async with VMware inbox driver

When I installed and configured hosts for vSAN, I used customized ESXi ISO (provided by Lenovo). This ISO containes not only inbox driver for disk controller but also some additional tools (e.g. cim provider). Unfortunately VMware has not certified this driver with firmware installed on controller so we needed to replace driver or upgrade the firmware. We didn't want to do the second one (as at least officially disk host swap has not been tested by VMware). Replacing async with inbox driver is generally the same as I showed above (except VMware Update Manager - KB 2137856). However there was a small problem where to find an async driver to download. I was not able to find it on VMware site (there are only OEM/inbox drivers available). There are two ways (that I know) to get async driver:

  • Install ESXi using a standard image (ISO) or
  • Download the latest ESXi patch and unzip driver (vib) and install it using esxcli mentioned above.
replace-async-driver-with-inbox

Inbox drivers available inside VMware patch zip file.

I preferred the second option as I wanted to replace one driver only. You can use esxcli software vib remove -n to delete old driver.

Note: Sometimes it is possible that ESXi has an inbox and async drivers installed - only one can be used. You can run the following command to display it: esxcli software vib list | grep driver_name and disable driver that should be not used: esxcli system module set --enabled=false --module=name.

In my case:

esxcli system module set --enabled=false --module=lsi_mr3

and reboot of ESXi host.

Useful resources