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.
Driver
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.
Online:
~ # esxcli storage core adapter list
Offline:
~ # 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.
Online:
~ # esxcli software vib list | grep lsi-mr3
Offline:
~ # 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.
Online:
~ # 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.
Offline:
~ # grep -i -B 1 'vmhba0' esxcfg-info_-a.txt | grep -i -A 1 Display
|----Display identifier...........................1000:005d 1137:0124
|----Alias........................................vmhba0
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
Firmware
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.
Online:
~ # esxcli storage nmp device list | grep -A 1 -B 7 'Working Paths: vmhba0'
or
~ # esxcli storage nmp device list -d naa.500003965c8a394c
Offline:
~ # grep -i -A 1 -B 7 'Working Paths: vmhba0' localcli_storage-nmp-device-list.txt
naa.500003965c8a394c:
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.
Online:
~ # esxcfg-info -a | grep -i -A 2 toshiba
Offline:
~ # grep -i -A 2 toshiba esxcfg-info_-a.txt
|----Vendor..............................TOSHIBA
|----Model...............................PX02SMF040
|----Revision............................0205
With this information you can now check with your vendor if you are running the latest and greatest firmware.
Conclusion
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.
Excellent blog I visit this blog it's really awesome.The important thing is that in this blog content written clearly and understandable.PCI Vendor
ReplyDeleteThanks for Sharing a Very Informative Post & I read Your Article & I must say that is very helpful post for us.
ReplyDeleteScan to BIM in Houston
Scan to BIM in Minnesota
Nice and useful blog.
ReplyDeleteVisit Best Astrologer in Medicine Hat.
HELLO, THANK YOU FOR VISITING MY BLOG.
ReplyDeleteENJOYED READING MY ARTICLE?
kindly Support by sharing this and making donation to :
BITCOIN : bc1qgkncx8pfu24cn8gzf4wpqv7fk5v0nvp4wm95pk
ETHER: 0x14e41D03e09Af44EeF505bb265C616075B5b668b
SHIBA INU: 0x14e41D03e09Af44EeF505bb265C616075B5b668b
BTT: 0x14e41D03e09Af44EeF505bb265C616075B5b668b
OTHER CURRENCY TO OUR MULTI COIN WALLET :0x14e41D03e09Af44EeF505bb265C616075B5b668b