Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

Determining Network/Storage firmware and driver version in ESXi/ESX 4.x and ESXi 5.x (1027206)

Purpose

This article provides steps for determining the driver and firmware versions for Host Bus Adapters (HBA) and physical network interface cards on VMware vSphere ESXi/ESX 4.x and 5.x.

Resolution

Note: In ESXi 5.x, the swfw.sh command is supplied with the vm-support support bundle collection tool. The swfw.sh command can be used to identify the firmware and driver versions of hardware connected to the host. To run this command, use this path:

# /usr/lib/vmware/vm-support/bin/swfw.sh

Obtaining Host Bus adapter driver and firmware information

To determine the driver and firmware version of a Host Bus Adapter:
  • To determine the firmware version of a Host Bus Adapter, see Identifying the firmware of a Qlogic or Emulex FC HBA (1002413).

  • To obtain the driver version of a Host Bus Adapter on an ESXi/ESX host:

    1. Open a console to the ESXi/ESX host. For more information, see Unable to connect to an ESX host using Secure Shell (SSH) (1003807) or Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910).

    2. Obtain the driver type that the Host Bus Adapter is currently using:

      # esxcfg-scsidevs -a

      You see output similar to:

      vmhba0  ata_piix   link-n/a  ide.vmhba0    (0:7.1) Intel Corporation Virtual Machine Chipset
      vmhba1  mptspi     link-n/a  pscsi.vmhba1  (0:16.0) LSI Logic / Symbios Logic LSI Logic Parallel SCSI Controller
      vmhba32 ata_piix   link-n/a  ide.vmhba32   (0:7.1) Intel Corporation Virtual Machine Chipset


      Note: The second column shows the driver that is configured for the HBA.

    3. To view the driver version in use, run the command:

      # vmkload_mod -s HBADriver |grep Version

      For example, to check the mptspi driver:

      # vmkload_mod -s mptspi |grep Version

      Version: Version 4.00.37.00.30vmw, Build: 721907, Interface: 9.0, Built on: May 18 2012


      In this example, the driver version is 4.00.37.00.30vmw.

      To obtain the driver version for all HBAs in the system with a single command, use:

      # for a in $(esxcfg-scsidevs -a |awk '{print $2}') ;do vmkload_mod -s $a |grep -i version ;done

    4. To determine the recommended driver for the card, we must obtain the Vendor ID (VID), Device ID (DID), Sub-Vendor ID (SVID), and Sub-Device ID (SDID) using the vmkchdev command:

      # vmkchdev -l |grep vmhba1

      000:16.0 1000:0030 15ad:1976 vmkernel vmhba1


      In this example, the values are:

      • VID = 1000
      • DID = 0030
      • SVID = 15ad
      • SDID = 1976

      To obtain vendor information for all HBAs in the system using a single command:

      # for a in $(esxcfg-scsidevs -a |awk '{print $1}') ;do vmkchdev -l |grep $a ;done

    5. You can now search the VMware Compatibility Guide for the Vendor ID (VID), Device ID (DID), Sub-Vendor ID (SVID), and Sub-Device ID (SDID). In some cases, you may need to do a text search to narrow down the particular card.

      Note: You can check the ESXi/ESX host version with the command:

      # vmware -v

Obtaining Network card driver and firmware information


To determine the version information for a physical network interface card in vSphere ESXi/ESX 4.x and 5.x:

  1. Open a console to the ESXi/ESX host. For more information, see Unable to connect to an ESX host using Secure Shell (SSH) (1003807) or Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910).

  2. Obtain a list of network interface cards and names.

    In ESXi/ESX 4.x, run this command:

    # esxcfg-nics -l

    For example:

    # esxcfg-nics -l

    Name    PCI         Driver Link Speed    Duplex MAC Address
    vmnic0  00:02:04.00 ACME   Up   1000Mbps Full   01:23:45:67:89:AB
    vmnic1  00:02:05.00 ACME   Up   1000Mbps Full   01:23:45:67:78:AC


    In ESXi 5.x, run this command:

    # esxcli network nic list

  3. Use the ethtool -i command to display available information for one of the network interfaces, specifying its name from step 2:

    # ethtool -i VMNic_name

    For example:

    # ethtool -i vmnic0

    driver: ACME
    version: 1.2.3a-1vmw
    firmware-version: 7.8.9
    bus-info: 0000:02:04.00


    To obtain information from ethtool -i for all network adapters at once, you can run the following command:

    for a in $(esxcfg-nics -l|awk '{print $1}'|grep [0-9]) ;do ethtool -i $a;done

    In ESXi 5.x, the following the following command can also be used:

    esxcli network nic get -n vmnic#


  4. To determine the recommended driver for the card, we must obtain the Vendor ID (VID), Device ID (DID), Sub-Vendor ID (SVID), and Sub-Device ID (SDID) using the vmkchdev command:

    # vmkchdev -l |grep vmnic0

    002:01.0 8086:100f 15ad:0750 vmkernel vmnic0


    In this example, the values are:

    • VID = 8086
    • DID = 100f
    • SVID = 15ad
    • SDID = 0750

    To obtain vendor information for all NICs in the system using a single command:

    # for a in $(esxcfg-nics -l |awk '{print $1}' |grep [0-9]) ;do vmkchdev -l |grep $a ;done

  5. You can now search the VMware Compatibility Guide for the Vendor ID (VID), Device ID (DID), Sub-Vendor ID (SVID), and Sub-Device ID (SDID). In some cases, you may need to do a text search to narrow down the particular card.

    Note: You can check the ESXi/ESX host version with the command:

    # vmware -v

  6. From both the ESXi/ESX version and the network type, you then know the version of the driver to use. Any driver updates are available on the VMware downloads page.

For more information on how to install an updated driver, see Installing async drivers on ESXi/ESX 4.x (1032936) or Installing async drivers on ESXi 5.x (2005205).


Additional Information

These script information is only for ESXi 5.x.

To obtain the driver version for all HBAs in the system with a single command in esxi5.x, use:
esxcli storage core adapter list|awk '{print $1}'|grep [0-9]|while read a;do vmkload_mod -s $a|grep -i version;done
****************************
To obtain vendor information for all HBAs in the system using a single command in esxi5.x:
esxcli storage core adapter list|awk '{print $1}'|grep [0-9]|while read a;do vmkchdev -l |grep $a ;done
***************************
To obtain information from ethtool -i for all network adapters at once in esxi5.x, you can run the following command:
esxcli network nic list | awk '{print $1}'|grep [0-9]|while read a;do ethtool -i $a;done
**************************
To obtain vendor information for all NICs in the system using a single command in esxi5.x:
esxcli network nic list | awk '{print $1}'|grep [0-9]|while read a;do vmkchdev -l|grep $a;done

Tags

i/o-driver network-hardware physical-network-adapter verifying-firmware

See Also

Update History

02/08/2012 - Added the ESXi 5.0 command to obtain a list of network interface cards and names 09/20/2012 - Added ESXi 5.1

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 24 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
  • 24 Ratings
Actions
KB: