Thursday, October 20, 2016

VMware ESXi How to find Firmware and Driver version

This blog article is about how to find a particular driver and firmware of an I/O device like a HBA, Network card etc.! For VMware VSAN there is a nice health checker now but not everyone is using VSAN and not everything in a ESXi system involved in VSAN like Network Cards and local devices.

Online and offline research of driver/firmware

The vm-support is a great source to understand ESXi for what hardware is in use and obviously many other things. I am about to write a series about vm-support and online troubleshooting of ESXi but decided to start with this first. In case you have an issue one of your devices it is sometimes not quite easy to find out what the current driver and firmware is. In the commands folder of your vm-support (/commands) you find a good number of files starting with localcli_* as well as esxcfg-*. I am sure you are aware of esxcli but what is localcli? It is the equivalent to esxcli but won’t go through hostd. This is important because there could be an issue with hostd so the vm-support would never finish. It is clearly not recommended to use localcli within shell itself.


Let’s assume you would like to know what the driver and firmware version is for the below shown vmbha0. The best file to find all local storage adapter is the following file.

~ # esxcli storage core adapter list

~ # grep 'HBA\|vmhba' localcli_storage-core-adapter-list.txt | cut -c1-23

HBA Name  Driver
vmhba0    lsi_mr3
vmhba1    fnic
vmhba2    fnic

Next we want to find out what driver version is installed after we know that vmhba0 is using the driver lsi_mr3. Please keep in mind that the Install Date is not the Driver Date! I had the situation quite a few times that a customer thought the Install Date = Driver Date.

~ # esxcli software vib list | grep lsi-mr3

~ # grep lsi-mr3 localcli_software-vib-list.txt

Name         Version                                                                    Vendor            Acceptance Level          Install Date
lsi-mr3   6.605.08.00-7vmw.600.1.17.3029758      VMware      VMwareCertified   2016-09-02

To go ahead and search for the latest and greatest driver on VMware’s Website we need now the following four ID’s:

  • VID = Vendor Id
  • DID = Device Id
  • SVID = Sub-Vendor Id
  • SSID = Sub-Device Id

The following grep statement will find the device VID:DID SVID:SSID.

~ # esxcfg-info -a | grep -B 1 vmhba0 | grep -A 1 Display. Another option to find out the four values is: vmkchdev -l then look for vmhba0.

~ # grep -i -B 1 'vmhba0' esxcfg-info_-a.txt  | grep -i -A 1 Display

|----Display identifier...........................1000:005d 1137:0124

There is a very good VMware KB 1031534 for this as well. Now as you have the four options you can follow this link (VMware Compatibility Guide) to put in the four options.

Figure 1: VMware Compatibility Guide (Source: VMware)

Putting the four values into the Website and compare the driver with what has been installed shows the following:

  • Installed: lsi-mr3  6.605.08.00-7vmw.600.1.17.3029758
  • Recommended: lsi-mr3 version 6.611.05.00-1OEM

You see that the suggested driver is an OEM driver (Partner Async) and not the VMware Native Driver (Inbox) so in this case I would suggest to contact VMware and Cisco to discuss the best way going forward but most likely it will be a suggestion to upgrade to: lsi-mr3 version 6.611.05.00-1OEM


The driver itself is very important but the firmware of a device is similar important. In this case you just look for the vendor. First we need to know which vendor vmhba0 is.

~ # esxcli storage nmp device list | grep -A 1 -B 7 'Working Paths: vmhba0'


~ # esxcli storage nmp device list -d naa.500003965c8a394c

~ # grep -i -A 1 -B 7 'Working Paths: vmhba0' localcli_storage-nmp-device-list.txt

 Device Display Name: TOSHIBA Serial Attached SCSI Disk (naa.500003965c8a394c)
 Storage Array Type: VMW_SATP_LOCAL
 Storage Array Type Device Config: SATP VMW_SATP_LOCAL does not support device configuration.
 Path Selection Policy: VMW_PSP_FIXED
 Path Selection Policy Device Config: {used=vmhba0:C0:T5:L0;preferred=vmhba0:C0:T5:L0;current=vmhba0:C0:T5:L0}
 Path Selection Policy Device Custom Config: isFlashDevice=True
 Working Paths: vmhba0:C0:T5:L0
 Is USB: false

To find more information about the device itself look at: ~ # esxcli storage core adapter list -d naa.500003965c8a394c. You will find the model also in the the esxcli storage core adapter list command or you just search for Toshiba.

~ # esxcfg-info -a | grep -i -A 2 toshiba

~ # grep -i -A 2 toshiba esxcfg-info_-a.txt


With this information you can now check with your vendor if you are running the latest and greatest firmware.


I hope you liked this very quick and short blog article and as always if you have any questions, concerns or recommendations please don’t hesitate to contact me.

No comments:

Post a Comment