Identifying correct driver for ESXi/ESX host PCI network and storage devices (HBA) using VMware Hardware Compatibility Guide (HCL)
search cancel

Identifying correct driver for ESXi/ESX host PCI network and storage devices (HBA) using VMware Hardware Compatibility Guide (HCL)

book

Article ID: 324500

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

This article provides steps to identify the compatibility of a PCI device using the VMware Hardware Compatibility Guide (HCL) and answers these questions:
  • How do I find out the exact model of a PCI card in the server?
  • How do I determine if the card supported for ESX and ESXi?
  • How do I ensure and identify HBA or network card compatibility?
  • How to check the driver and firmware version of the devices?

Environment

VMware vSphere ESXi 5.0
VMware vSphere ESXi 6.0
VMware ESXi 4.1.x Installable
VMware ESXi 4.0.x Embedded
VMware vSphere ESXi 5.1
VMware ESX 4.0.x
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.5
VMware ESX 4.1.x
VMware ESXi 4.0.x Installable

Resolution

To identify the compatibility of a PCI device:

  1. Log in to the VMware ESX host as the root user.
  2. To identify an individual PCI device by type, run these commands depending on the device type:
     
    • To identify a storage HBA (such as a fibre card or RAID controller), run this command:

      #esxcfg-scsidevs -a

      You see output similar to:

      vmhba0 hpsa link-n/a sas.5001438006939a70 (0:69:0.0) Hewlett-Packard Company Smart Array P410
      vmhba1 qla2xxx link-up fc.50014380062d465d:50014380062d465c (0:72:0.0) QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA
      vmhba2 qla2xxx link-n/a fc.50014380062d465f:50014380062d465e (0:72:0.1) QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA
      vmhba3 sata_svw link-n/a sata.vmhba3 (0:1:14.0) Broadcom BCM5785 [HT1000] SATA (Native SATA Mode)
      vmhba33 bnx2i unbound iscsi.vmhba33 Broadcom iSCSI Adapter
      vmhba34 bnx2i unbound iscsi.vmhba34 Broadcom iSCSI Adapter

       
    • To identify a network card, run this command:

      # esxcfg-nics -l

      You see output similar to:

      Name PCI Driver Link Speed Duplex MAC Address MTU Description
      vmnic0 0000:03:00.00 bnx2 Up 1000Mbps Full xx:xx:xx:xx:xx:xw 1500 Broadcom Corporation NC382i Integrated Quad Port PCI Express Gigabit Server Adapter
      vmnic1 0000:03:00.01 bnx2 Up 1000Mbps Full xx:xx:xx:xx:xx:xy 1500 Broadcom Corporation NC382i Integrated Quad Port PCI Express Gigabit Server Adapter
      vmnic2 0000:41:00.00 bnx2 Up 1000Mbps Full xx:xx:xx:xx:xx:xz 1500 Broadcom Corporation NC382i Integrated Quad Port PCI Express Gigabit Server Adapter
      vmnic3 0000:41:00.01 bnx2 Up 1000Mbps Full xx:xx:xx:xx:xx:xv 1500 Broadcom Corporation NC382i Integrated Quad Port PCI Express Gigabit Server Adapter


      For ESXi 5.x and later, run this command:

      esxcli network nic list

      You see output similar to:

      vmnic0 0000:04:00.00 be2net Up 2000Mbps Full xx:xx:xx:xx:xx:xx 1500 ServerEngines Corp Emulex OneConnect

      In this case the NIC is ServerEngines Corp Emulex OneConnect and the driver type is be2net.

       
    • To list device state, run this command:

      # vmkchdev -l

      You see output similar to:

      ---------------
      000:000:03.0 1002:515e 103c:31fb console
      000:000:25.4 1022:1204 0000:0000 console
      000:001:13.0 1166:0104 0000:0000 console
      000:001:14.0 1166:024a 103c:3112 vmkernel vmhba3
      000:003:00.0 14e4:1639 103c:7055 vmkernel vmnic0
      000:003:00.1 14e4:1639 103c:7055 vmkernel vmnic1
      000:065:00.0 14e4:1639 103c:7055 vmkernel vmnic2
      000:065:00.1 14e4:1639 103c:7055 vmkernel vmnic3
      000:069:00.0 103c:323a 103c:3243 vmkernel vmhba0
      -----------------

       
    • For example, to check the compatibility of vmnic1 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
         
  3. As an alternative to using vmkchdev -l, you can also look up VID , DID , SVID , SSID by using esxcfg-info:
     
    1. Run this command:

      #esxcfg-info | less
       
    2. Locate your device under PCI Info. For example, to view information about NC382i, type:

      /NC382i
       
    3. You get detailed information about that PCI device:

      |----Slot............................................0x00
      |----Function........................................0x01
      |----Runtime Owner...................................vmkernel
      |----Has Configured Owner............................false
      |----Configured Owner................................
      |----Vendor Id.......................................0x14e4
      |----Device Id.......................................0x1639
      |----Sub-Vendor Id...................................0x103c
      |----Sub-Device Id...................................0x7055
      |----Vendor Name.....................................Broadcom Corporation
      |----Device Name.....................................NC382i Integrated Quad Port PCI Express Gigabit Server Adapter

       
    4. Make a note of the Vendor ID (VID), the Device ID (DID), Sub-Vendor ID (SVID), and the Sub-Device ID (SDID).
    5. Check the VMware ESXi/ESX version using the vmware -v command.
       
  4. Alternatively for Emulex (lpfc) or QLogic (qlaxx) Storage Adapters, you can run one of these commands to find the driver being used:

    For QLogic, run this command:

    cat /proc/scsi/qlaxx/x

    For Emulex, run this command:
     
    cat /proc/scsi/lpfc/x
     
    You see output similar to:
     
    QLogic PCI to Fibre Channel Host Adapter for HPAJ764A:
    FC Firmware version 5.02.00 (d5), Driver version 831.k1.28.1-1vmw
     
    Host Device Name vmhba1
     
    BIOS version 2.02
    FCODE version 2.00
    EFI version 2.01
    Flash FW version 4.03.02
    ISP: ISP2532
    Request Queue = 0xdc814000, Response Queue = 0xdc895000
    Request Queue count = 4096, Response Queue count = 512
    Total number of interrupts = 4879
    Device queue depth = 0x20
    Number of free request entries = 3811
    Number of mailbox timeouts = 0
    Number of ISP aborts = 0
    Number of loop resyncs = 1
    Host adapter:Loop State = <READY></READY>, flags = 0x905ac3
    Link speed = <4 Gbps>
     
    Dpc flags = 0x0
    Link down Timeout = 008
    Port down retry = 005
    Login retry count = 008
    Execution throttle = 2048
    ZIO mode = 0x6, ZIO timer = 1
    Commands retried with dropped frame(s) = 0
    Product ID = 0000 0000 0000 0000
     
    NPIV Supported : Yes
    Max Virtual Ports = 254
     
    SCSI Device Information:
    scsi-qla0-adapter-node=500143800251c605:081600:0;
    scsi-qla0-adapter-port=500143800251c604:081600:0;
     
    FC Target-Port List:
    scsi-qla0-target-0=500601613020c8a7:040500:82:Online;
    scsi-qla0-target-1=500601693020c8a7:040600:83:Online;
     
    Note: In ESXi 5.5 and later, you do not see native drivers in the /proc nodes. To view native driver information, run the command:

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

    Similar procedures can be used in the Networking section to ensure the device is on the VMware Hardware Compatibility Guide.
  5. To check the device and its list of drivers:
    1. Enter the VID , DID , SVID , SSID numbers which you obtained from step 2 or step 3 above under the Additional Criteria fields on the right side of the page.
    2. Click Update and View Results button at the bottom.

      Note: You can also search for the device and compare the search results with the actual device. If both Vendor and SubVendor IDs are the same but they have a SSID, this means a different card/firmware/BIOS.
       
  6. To download the driver, navigate to the VMware Download Center and search for the driver with the same name or version as on the VMware Hardware Compatibility Guide (HCL).



Additional Information

For more information about the latest recommended driver and firmware combinations, see Supported Driver Firmware versions for I/O devices
Unable to connect to ESXi host using SSH