Showing posts with label drivers. Show all posts
Showing posts with label drivers. Show all posts

Tuesday, February 23, 2016

VMware ESXi host build notes: install image, HCL, drivers, firmware - choosing an ESXi installation image

VMware provides an ESXi ISO that has all VMware Inbox drivers. However, if you want to get the most added value from your servers. you will normally use the Vendor provided ESXi installation image. These images have the latest drivers plus vendor-specific VIBs.

Of particular importance in the following lists is the Vendor and the Acceptance Level. The VMware image lists VMware as the vendor for all the VIBs, and always shows Acceptance Level to be VMwareCertified. The Dell image shows the actual company (even though Dell must validate the driver with VMware), and may show PartnerSupported as the Acceptance Level.

Here's the installed vib output from two otherwise identical Dell R730 servers. One was installed with the VMware ISO and the other with the Dell ISO. I apologize in advance for including the full text here, and especially in such a small font, but this will allow you to copy the files and do your own analysis.

VMware:

Name                           Version                                Vendor  Acceptance Level  Install Date
-----------------------------  -------------------------------------  ------  ----------------  ------------
ata-pata-amd                   0.3.10-3vmw.550.0.0.1331820            VMware  VMwareCertified   2016-01-15  
ata-pata-atiixp                0.4.6-4vmw.550.0.0.1331820             VMware  VMwareCertified   2016-01-15  
ata-pata-cmd64x                0.2.5-3vmw.550.0.0.1331820             VMware  VMwareCertified   2016-01-15  
ata-pata-hpt3x2n               0.3.4-3vmw.550.0.0.1331820             VMware  VMwareCertified   2016-01-15  
ata-pata-pdc2027x              1.0-3vmw.550.0.0.1331820               VMware  VMwareCertified   2016-01-15  
ata-pata-serverworks           0.4.3-3vmw.550.0.0.1331820             VMware  VMwareCertified   2016-01-15  
ata-pata-sil680                0.4.8-3vmw.550.0.0.1331820             VMware  VMwareCertified   2016-01-15  
ata-pata-via                   0.3.3-2vmw.550.0.0.1331820             VMware  VMwareCertified   2016-01-15  
block-cciss                    3.6.14-10vmw.550.0.0.1331820           VMware  VMwareCertified   2016-01-15  
ehci-ehci-hcd                  1.0-3vmw.550.3.78.3248547              VMware  VMwareCertified   2016-01-15  
elxnet                         10.2.309.6v-1vmw.550.3.68.3029944      VMware  VMwareCertified   2016-01-15  
esx-base                       5.5.0-3.78.3248547                     VMware  VMwareCertified   2016-01-15  
esx-dvfilter-generic-fastpath  5.5.0-0.0.1331820                      VMware  VMwareCertified   2016-01-15  
esx-tboot                      5.5.0-2.33.2068190                     VMware  VMwareCertified   2016-01-15  
esx-xlibs                      5.5.0-0.0.1331820                      VMware  VMwareCertified   2016-01-15  
esx-xserver                    5.5.0-0.0.1331820                      VMware  VMwareCertified   2016-01-15  
ima-qla4xxx                    2.01.31-1vmw.550.0.0.1331820           VMware  VMwareCertified   2016-01-15  
ipmi-ipmi-devintf              39.1-4vmw.550.0.0.1331820              VMware  VMwareCertified   2016-01-15  
ipmi-ipmi-msghandler           39.1-4vmw.550.0.0.1331820              VMware  VMwareCertified   2016-01-15  
ipmi-ipmi-si-drv               39.1-4vmw.550.0.0.1331820              VMware  VMwareCertified   2016-01-15  
lpfc                           10.0.100.1-1vmw.550.0.0.1331820        VMware  VMwareCertified   2016-01-15  
lsi-mr3                        0.255.03.01-2vmw.550.3.68.3029944      VMware  VMwareCertified   2016-01-15  
lsi-msgpt3                     00.255.03.03-2vmw.550.3.78.3248547     VMware  VMwareCertified   2016-01-15  
misc-cnic-register             1.72.1.v50.1i-1vmw.550.0.0.1331820     VMware  VMwareCertified   2016-01-15  
misc-drivers                   5.5.0-3.78.3248547                     VMware  VMwareCertified   2016-01-15  
mtip32xx-native                3.3.4-1vmw.550.1.15.1623387            VMware  VMwareCertified   2016-01-15  
net-be2net                     4.6.100.0v-1vmw.550.0.0.1331820        VMware  VMwareCertified   2016-01-15  
net-bnx2                       2.2.3d.v55.2-1vmw.550.0.0.1331820      VMware  VMwareCertified   2016-01-15  
net-bnx2x                      1.72.56.v55.2-1vmw.550.0.0.1331820     VMware  VMwareCertified   2016-01-15  
net-cnic                       1.72.52.v55.1-1vmw.550.0.0.1331820     VMware  VMwareCertified   2016-01-15  
net-e1000                      8.0.3.1-3vmw.550.0.0.1331820           VMware  VMwareCertified   2016-01-15  
net-e1000e                     3.2.2.1-2vmw.550.3.78.3248547          VMware  VMwareCertified   2016-01-15  
net-enic                       1.4.2.15a-1vmw.550.0.0.1331820         VMware  VMwareCertified   2016-01-15  
net-forcedeth                  0.61-2vmw.550.0.0.1331820              VMware  VMwareCertified   2016-01-15  
net-igb                        5.0.5.1.1-1vmw.550.2.54.2403361        VMware  VMwareCertified   2016-01-15  
net-ixgbe                      3.7.13.7.14iov-12vmw.550.2.62.2718055  VMware  VMwareCertified   2016-01-15  
net-mlx4-core                  1.9.7.0-1vmw.550.0.0.1331820           VMware  VMwareCertified   2016-01-15  
net-mlx4-en                    1.9.7.0-1vmw.550.0.0.1331820           VMware  VMwareCertified   2016-01-15  
net-nx-nic                     5.0.621-1vmw.550.0.0.1331820           VMware  VMwareCertified   2016-01-15  
net-tg3                        3.123c.v55.5-1vmw.550.2.33.2068190     VMware  VMwareCertified   2016-01-15  
net-vmxnet3                    1.1.3.0-3vmw.550.2.39.2143827          VMware  VMwareCertified   2016-01-15  
ohci-usb-ohci                  1.0-3vmw.550.0.0.1331820               VMware  VMwareCertified   2016-01-15  
qlnativefc                     1.0.12.0-1vmw.550.0.0.1331820          VMware  VMwareCertified   2016-01-15  
rste                           2.0.2.0088-4vmw.550.1.15.1623387       VMware  VMwareCertified   2016-01-15  
sata-ahci                      3.0-22vmw.550.3.68.3029944             VMware  VMwareCertified   2016-01-15  
sata-ata-piix                  2.12-10vmw.550.2.33.2068190            VMware  VMwareCertified   2016-01-15  
sata-sata-nv                   3.5-4vmw.550.0.0.1331820               VMware  VMwareCertified   2016-01-15  
sata-sata-promise              2.12-3vmw.550.0.0.1331820              VMware  VMwareCertified   2016-01-15  
sata-sata-sil24                1.1-1vmw.550.0.0.1331820               VMware  VMwareCertified   2016-01-15  
sata-sata-sil                  2.3-4vmw.550.0.0.1331820               VMware  VMwareCertified   2016-01-15  
sata-sata-svw                  2.3-3vmw.550.0.0.1331820               VMware  VMwareCertified   2016-01-15  
scsi-aacraid                   1.1.5.1-9vmw.550.0.0.1331820           VMware  VMwareCertified   2016-01-15  
scsi-adp94xx                   1.0.8.12-6vmw.550.0.0.1331820          VMware  VMwareCertified   2016-01-15  
scsi-aic79xx                   3.1-5vmw.550.0.0.1331820               VMware  VMwareCertified   2016-01-15  
scsi-bnx2fc                    1.72.53.v55.1-1vmw.550.0.0.1331820     VMware  VMwareCertified   2016-01-15  
scsi-bnx2i                     2.72.11.v55.4-1vmw.550.0.0.1331820     VMware  VMwareCertified   2016-01-15  
scsi-fnic                      1.5.0.4-1vmw.550.0.0.1331820           VMware  VMwareCertified   2016-01-15  
scsi-hpsa                      5.5.0-44vmw.550.0.0.1331820            VMware  VMwareCertified   2016-01-15  
scsi-ips                       7.12.05-4vmw.550.0.0.1331820           VMware  VMwareCertified   2016-01-15  
scsi-lpfc820                   8.2.3.1-129vmw.550.0.0.1331820         VMware  VMwareCertified   2016-01-15  
scsi-megaraid-mbox             2.20.5.1-6vmw.550.0.0.1331820          VMware  VMwareCertified   2016-01-15  
scsi-megaraid-sas              5.34-9vmw.550.3.68.3029944             VMware  VMwareCertified   2016-01-15  
scsi-megaraid2                 2.00.4-9vmw.550.0.0.1331820            VMware  VMwareCertified   2016-01-15  
scsi-mpt2sas                   14.00.00.00-3vmw.550.3.68.3029944      VMware  VMwareCertified   2016-01-15  
scsi-mptsas                    4.23.01.00-9vmw.550.3.68.3029944       VMware  VMwareCertified   2016-01-15  
scsi-mptspi                    4.23.01.00-9vmw.550.3.68.3029944       VMware  VMwareCertified   2016-01-15  
scsi-qla2xxx                   902.k1.1-12vmw.550.3.68.3029944        VMware  VMwareCertified   2016-01-15  
scsi-qla4xxx                   5.01.03.2-6vmw.550.0.0.1331820         VMware  VMwareCertified   2016-01-15  
uhci-usb-uhci                  1.0-3vmw.550.0.0.1331820               VMware  VMwareCertified   2016-01-15  
vr2c-firewall                  6.1.0.10819-3051487                    VMware  VMwareCertified   2016-01-22  
xhci-xhci                      1.0-3vmw.550.3.78.3248547              VMware  VMwareCertified   2016-01-15  

tools-light                    5.5.0-3.78.3248547                     VMware  VMwareCertified   2016-01-15  

Dell:

Name                           Version                                Vendor    Acceptance Level  Install Date
-----------------------------  -------------------------------------  --------  ----------------  ------------
scsi-mpt2sas                   20.00.00.00.1vmw-1OEM.550.0.0.1331820  Avago     VMwareCertified   2016-01-14  
scsi-mpt3sas                   10.00.02.00-1OEM.550.0.0.1331820       Avago     VMwareCertified   2016-01-14  
net-tg3                        3.137l.v55.1-1OEM.550.0.0.1331820      Broadcom  VMwareCertified   2016-01-14  
dell-configuration-vib         5.5-3A04                               Dell      PartnerSupported  2016-01-14  
elxnet                         10.6.126.0-1OEM.550.0.0.1331820        Emulex    VMwareCertified   2016-01-14  
ima-be2iscsi                   10.6.150.3-1OEM.550.0.0.1331820        Emulex    VMwareCertified   2016-01-14  
lpfc                           10.6.126.0-1OEM.550.0.0.1331820        Emulex    VMwareCertified   2016-01-14  
scsi-be2iscsi                  10.6.150.3-1OEM.550.0.0.1331820        Emulex    VMwareCertified   2016-01-14  
net-i40e                       1.3.38-1OEM.550.0.0.1331820            Intel     VMwareCertified   2016-01-14  
net-igb                        5.3.1-1OEM.550.0.0.1331820             Intel     VMwareCertified   2016-01-14  
net-ixgbe                      4.1.1.1-1OEM.550.0.0.1331820           Intel     VMwareCertified   2016-01-14  
scsi-megaraid-perc9            6.902.73.00-1OEM.550.0.0.1331820       LSI       VMwareCertified   2016-01-14  
scsi-megaraid-sas              06.805.56.00-1OEM.550.0.0.1331820      LSI       VMwareCertified   2016-01-14  
mtip32xx-native                3.9.4-1OEM.550.0.0.1331820             MICRON    VMwareCertified   2016-01-14  
net-mlx4-core                  1.9.9.4-1OEM.550.0.0.1331820           Mellanox  VMwareCertified   2016-01-14  
net-mlx4-en                    1.9.9.4-1OEM.550.0.0.1331820           Mellanox  VMwareCertified   2016-01-14  
ima-qla4xxx                    500.2.01.31-1vmw.0.3.100400            QLogic    VMwareCertified   2016-01-14  
misc-cnic-register             1.712.10.v55.2-1OEM.550.0.0.1331820    QLogic    VMwareCertified   2016-01-14  
net-bnx2                       2.2.5g.v55.2-1OEM.550.0.0.1331820      QLogic    VMwareCertified   2016-01-14  
net-bnx2x                      2.712.10.v55.4-1OEM.550.0.0.1331820    QLogic    VMwareCertified   2016-01-14  
net-cnic                       2.712.10.v55.4-1OEM.550.0.0.1331820    QLogic    VMwareCertified   2016-01-14  
net-qlcnic                     5.5.190-1OEM.550.0.0.1331820           QLogic    VMwareCertified   2016-01-14  
net-qlge                       3.0.0.59-1OEM.550.0.0.1331820          QLogic    VMwareCertified   2016-01-14  
qlnativefc                     1.1.52.0-1OEM.550.0.0.1331820          QLogic    VMwareCertified   2016-01-14  
scsi-bnx2fc                    1.712.10.v55.2-1OEM.550.0.0.1331820    QLogic    VMwareCertified   2016-01-14  
scsi-bnx2i                     2.712.10.v55.4-1OEM.550.0.0.1331820    QLogic    VMwareCertified   2016-01-14  
scsi-qla4xxx                   644.55.36.0-1OEM.550.0.0.1331820       QLogic    VMwareCertified   2016-01-14  
ata-pata-amd                   0.3.10-3vmw.550.0.0.1331820            VMware    VMwareCertified   2016-01-14  
ata-pata-atiixp                0.4.6-4vmw.550.0.0.1331820             VMware    VMwareCertified   2016-01-14  
ata-pata-cmd64x                0.2.5-3vmw.550.0.0.1331820             VMware    VMwareCertified   2016-01-14  
ata-pata-hpt3x2n               0.3.4-3vmw.550.0.0.1331820             VMware    VMwareCertified   2016-01-14  
ata-pata-pdc2027x              1.0-3vmw.550.0.0.1331820               VMware    VMwareCertified   2016-01-14  
ata-pata-serverworks           0.4.3-3vmw.550.0.0.1331820             VMware    VMwareCertified   2016-01-14  
ata-pata-sil680                0.4.8-3vmw.550.0.0.1331820             VMware    VMwareCertified   2016-01-14  
ata-pata-via                   0.3.3-2vmw.550.0.0.1331820             VMware    VMwareCertified   2016-01-14  
block-cciss                    3.6.14-10vmw.550.0.0.1331820           VMware    VMwareCertified   2016-01-14  
ehci-ehci-hcd                  1.0-3vmw.550.3.78.3248547              VMware    VMwareCertified   2016-01-14  
esx-base                       5.5.0-3.78.3248547                     VMware    VMwareCertified   2016-01-14  
esx-dvfilter-generic-fastpath  5.5.0-0.0.1331820                      VMware    VMwareCertified   2016-01-14  
esx-tboot                      5.5.0-2.33.2068190                     VMware    VMwareCertified   2016-01-14  
esx-xlibs                      5.5.0-0.0.1331820                      VMware    VMwareCertified   2016-01-14  
esx-xserver                    5.5.0-0.0.1331820                      VMware    VMwareCertified   2016-01-14  
ipmi-ipmi-devintf              39.1-4vmw.550.0.0.1331820              VMware    VMwareCertified   2016-01-14  
ipmi-ipmi-msghandler           39.1-4vmw.550.0.0.1331820              VMware    VMwareCertified   2016-01-14  
ipmi-ipmi-si-drv               39.1-4vmw.550.0.0.1331820              VMware    VMwareCertified   2016-01-14  
misc-drivers                   5.5.0-3.78.3248547                     VMware    VMwareCertified   2016-01-14  
net-be2net                     4.6.100.0v-1vmw.550.0.0.1331820        VMware    VMwareCertified   2016-01-14  
net-e1000                      8.0.3.1-3vmw.550.0.0.1331820           VMware    VMwareCertified   2016-01-14  
net-e1000e                     3.2.2.1-2vmw.550.3.78.3248547          VMware    VMwareCertified   2016-01-14  
net-enic                       1.4.2.15a-1vmw.550.0.0.1331820         VMware    VMwareCertified   2016-01-14  
net-forcedeth                  0.61-2vmw.550.0.0.1331820              VMware    VMwareCertified   2016-01-14  
net-nx-nic                     5.0.621-1vmw.550.0.0.1331820           VMware    VMwareCertified   2016-01-14  
net-vmxnet3                    1.1.3.0-3vmw.550.2.39.2143827          VMware    VMwareCertified   2016-01-14  
nvme                           1.2.0.27-4vmw.550.0.0.1331820          VMware    VMwareCertified   2016-01-14  
ohci-usb-ohci                  1.0-3vmw.550.0.0.1331820               VMware    VMwareCertified   2016-01-14  
rste                           2.0.2.0088-4vmw.550.1.15.1623387       VMware    VMwareCertified   2016-01-14  
sata-ahci                      3.0-22vmw.550.3.68.3029944             VMware    VMwareCertified   2016-01-14  
sata-ata-piix                  2.12-10vmw.550.2.33.2068190            VMware    VMwareCertified   2016-01-14  
sata-sata-nv                   3.5-4vmw.550.0.0.1331820               VMware    VMwareCertified   2016-01-14  
sata-sata-promise              2.12-3vmw.550.0.0.1331820              VMware    VMwareCertified   2016-01-14  
sata-sata-sil24                1.1-1vmw.550.0.0.1331820               VMware    VMwareCertified   2016-01-14  
sata-sata-sil                  2.3-4vmw.550.0.0.1331820               VMware    VMwareCertified   2016-01-14  
sata-sata-svw                  2.3-3vmw.550.0.0.1331820               VMware    VMwareCertified   2016-01-14  
scsi-aacraid                   1.1.5.1-9vmw.550.0.0.1331820           VMware    VMwareCertified   2016-01-14  
scsi-adp94xx                   1.0.8.12-6vmw.550.0.0.1331820          VMware    VMwareCertified   2016-01-14  
scsi-aic79xx                   3.1-5vmw.550.0.0.1331820               VMware    VMwareCertified   2016-01-14  
scsi-fnic                      1.5.0.4-1vmw.550.0.0.1331820           VMware    VMwareCertified   2016-01-14  
scsi-hpsa                      5.5.0-44vmw.550.0.0.1331820            VMware    VMwareCertified   2016-01-14  
scsi-ips                       7.12.05-4vmw.550.0.0.1331820           VMware    VMwareCertified   2016-01-14  
scsi-lpfc820                   8.2.3.1-129vmw.550.0.0.1331820         VMware    VMwareCertified   2016-01-14  
scsi-megaraid-mbox             2.20.5.1-6vmw.550.0.0.1331820          VMware    VMwareCertified   2016-01-14  
scsi-megaraid2                 2.00.4-9vmw.550.0.0.1331820            VMware    VMwareCertified   2016-01-14  
scsi-mptsas                    4.23.01.00-9vmw.550.3.68.3029944       VMware    VMwareCertified   2016-01-14  
scsi-mptspi                    4.23.01.00-9vmw.550.3.68.3029944       VMware    VMwareCertified   2016-01-14  
scsi-qla2xxx                   902.k1.1-12vmw.550.3.68.3029944        VMware    VMwareCertified   2016-01-14  
uhci-usb-uhci                  1.0-3vmw.550.0.0.1331820               VMware    VMwareCertified   2016-01-14  
vr2c-firewall                  6.1.0.10819-3051487                    VMware    VMwareCertified   2016-01-26  
xhci-xhci                      1.0-3vmw.550.3.78.3248547              VMware    VMwareCertified   2016-01-14  

tools-light                    5.5.0-3.78.3248547                     VMware    VMwareCertified   2016-01-14  

In my case, I save these in text files and finally use Notepad++ to compare them. Note that the Dell output is not as sorted as the VMware one, so you want to do that first to get better results; also, be mindful that the install date may throw a lot of "different lines". I actually remove this column before comparing.

The result of the Compare (hiding the lines that are the same) shows us how different the images are:



We can see different driver versions, some packages which were dropped (in red) and others that were added (in green).

From our previous post, these are our main differences between similar packages (normally driver version differences)

lpfc
 VMware has 10.0.100.1-1vmw.550.0.0.1331820
 Dell has 10.6.126.0-1OEM.550.0.0.1331820

igb
 VMware has 5.0.5.1.1-1vmw.550.2.54.2403361
 Dell has 5.3.1-1OEM.550.0.0.1331820

So be mindful of the image you choose and how it affects your HCL driver/firmware combinations, and your acceptance level.

If you want to find out the image that was used to install a host you can check through GUI 


or with this command:

# esxcli software profile get
(Updated) Dell-ESXi-5.5U3-3248547-A04

# esxcli software profile get

(Updated) ESXi-5.5.0-20151204001-standard

I find using the Vendor installation image a better option, as long as you are careful of the HCL / firmware implications. Note, however, that sometimes useful software such as Dell OpenManage software isn't included. The vendors normally provide a separate vib you can install to add that functionality.

This concludes this three part series on keeping host build notes, and guaranteeing you are using a supported configuration.

Friday, February 19, 2016

VMware ESXi host build notes: install image, HCL, drivers, firmware - confirming HCL recommendations once you have the hardware

For your purposes the important KBs now are 1031534 and 1034674

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1031534

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1027206

With hardware turned on and ESXi setup (we will talk about the install image later on) we access shell and can now check the IO devices. In my case we are running this with esxi v5.5

The two commands that I like to check HBAs and NICs are slight variations to the ones in the KB:

vmkchdev -l | grep vmnic

example output:

~ # vmkchdev -l | grep vmnic
0000:01:00.0 8086:1521 1028:1f60 vmkernel vmnic0
0000:01:00.1 8086:1521 1028:1f60 vmkernel vmnic1
0000:01:00.2 8086:1521 1028:1f60 vmkernel vmnic2
0000:01:00.3 8086:1521 1028:1f60 vmkernel vmnic3
0000:82:00.0 8086:1521 8086:5001 vmkernel vmnic4
0000:82:00.1 8086:1521 8086:5001 vmkernel vmnic5
0000:82:00.2 8086:1521 8086:5001 vmkernel vmnic6
0000:82:00.3 8086:1521 8086:5001 vmkernel vmnic7

vmkchdev -l | grep vmhba

example output:

~ # vmkchdev -l | grep vmhba
0000:00:11.4 8086:8d62 1028:0600 vmkernel vmhba1
0000:00:1f.2 8086:8d02 1028:0600 vmkernel vmhba2
0000:02:00.0 1000:005f 1028:1f4b vmkernel vmhba0
0000:04:00.0 10df:f100 10df:f100 vmkernel vmhba5
0000:04:00.1 10df:f100 10df:f100 vmkernel vmhba6
0000:05:00.0 10df:f100 10df:f100 vmkernel vmhba3
0000:05:00.1 10df:f100 10df:f100 vmkernel vmhba4

The first column is a PCI bus identifier, the 2nd and 3rd are hardware identifierss, and the last column is how ESXi calls the device.

From the KB:

For example, to check the compatibility of vmnic0 and vmhba0, note the hardware IDs:

000:003:00.0 14e4:1639 103c:7055 vmkernel vmnic0
000:069:00.0 103c:323a 103c:3243 vmkernel vmhba0


The section in bold indicates the device properties in the format VID:DID SVID:SSID, where:

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

These numbers are very important, because they allow us to check the VMware compatibility list we had talked about before, but in a very specific manner. Let's check the IDs we got from the example.

This is the I/O devices view of the Compatibility Guide. We don't need to select vendors or model anymore - we only need to input the 4 numbers

With those 4 numbers we now know our vmin0-vmnic3 are the Intel I350-t NDC (network daughter card) which are the LAN on motherboard ports. It's good that they are listed, but if we click on the ESXi version from the results, we now can see the list of driver and firmware combinations that VMware supports:


So we have information, how do we find what drive and firmware is running on ESXi?

For network cards

Use this command:

ethtool -i vmnicX

Example:

~ # ethtool -i vmnic0
driver: igb
version: 5.3.1
firmware-version: 1.67, 0x80000d93, 16.5.20
bus-info: 0000:01:00.0

So we have found out that the driver is called igb, it's version 5.3.1 and firmware is v1.67. Checking the website, we see that this driver is compatible with any firmware version (if there was a specific firmware it would be listed, instead of N/A, like in the case of igb 5.2.7). This means for this device we are running on VMware approved drivers and firmware.


For storage HBAs

The commands for HBAs are not as clean and may vary by your vendor. 

You first find the driver being used. This command lists HBA devices:

esxcfg-scsidevs -a

~ # esxcfg-scsidevs -a
vmhba38 ahci              link-n/a  sata.vmhba38                            (0:0:31.2) Intel Corporation Wellsburg AHCI Controller
vmhba39 ahci              link-n/a  sata.vmhba39                            (0:0:31.2) Intel Corporation Wellsburg AHCI Controller
vmhba0  megaraid_perc9    link-n/a  unknown.vmhba0                          (0:2:0.0) LSI / Symbios Logic Dell PERC H330 Mini Adapter
vmhba1  ahci              link-n/a  sata.vmhba1                             (0:0:17.4) Intel Corporation Wellsburg AHCI Controller
vmhba2  ahci              link-n/a  sata.vmhba2                             (0:0:31.2) Intel Corporation Wellsburg AHCI Controller
vmhba3  lpfc              link-up   fc.20000090XXXXXXXX:10000090XXXXXXXX    (0:5:0.0) Emulex Corporation LPe12000 8Gb Fibre Channel Host Adapter

Or you can also use

esxcli storage core adapter list

In this case i'm interested in double checking the Emulex 8GB FC adapters. Now I know my driver is called lpfc. With this information I now run this command

vmkload_mod -s lpfc | grep Version

Example output:

~ # vmkload_mod -s lpfc |grep Version
 Version: 10.6.126.0-1OEM.550.0.0.1331820

To determine firmware on a FibreChannel HBA we need yet another KB, 1002413


The command for ESXi v5.5 is

/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -a


In the meantime, I find this grep sufficient to reduce the output to what we are interested in so I can paste an excerpt:

# /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -a | grep 'FW Version'
FW Version:     2.01A12
...

Notice that all HBAs show the same firmware version (they are all the same model). Always be mindful that if you have different hardware, you have to check each!

Checking this HBA's 4 ID numbers and comparing the driver and firmware versions we see:



Here we can see an interesting situation - we have a new driver but old firmware, and they are incompatible (VMware would tell you, if you have a problem, you aren't running an HCL-approved configuration). In this case, you will need to update the firmware on the HBA card. 

In my experience, I find that the vendor tools (through HP SPP or Dell OME ISO) do a good job of upgrading all server BIOS/firmware on all vendor-provided cards to their latest Linux versions. After updating firmware through these tools, you still have to check that you are in an approved configuration. There are also many posts on the internet on how to execute a standalone firmware upgrade but most depend on a device specific tool. If you can't get the firmware to the correct version to use that latest driver, you might need to downgrade the driver to match your existing firmware. Remember, as long as you are on the HCL, VMware will support you if you run into problems (small caveat below).

A note on "inbox" drivers versus Partner Async
  • Inbox drivers are what VMware provides in their base installer. They are the driver/firmware combination that they certified works when doing a release. They own support on this driver/firmware combination.
  • Partner Async drivers are updates to drivers provided by vendors that pass a certification process. However, if a problem is determined on this new version, the support lies on the Partner, not on VMware. VMware can recommend you to fall back to the inbox drivers.
You have the eternal dilemma of stability versus bug fixes and performance improvements. I always go for Partner Async unless I find trouble. Note that vendors provide VMware ISO installers that include these new drivers by default. The topic of the differences between the VMware provided installation ISO (that only includes the inbox drivers) and the vendor provided ISOs is the next and last post in this series.

In Summary

Now you know how to check the hardware you own against HCL for firmware and drivers. You would run the numbers for each one of the devices you want to check on your hardware. Documenting the configuration that will ultimately go to production will help as you add more hardware into the clusters and help you keep a homogeneous environment.