As with all relationships, it’s important to ensure you have things properly matched up. For VMware, one of these relationships is the Driver/Firmware combination of various components on your hosts.
If components do not have the proper Driver/Firmware combination, ensuring that the selected combination is compatible with the version of ESXi that you’re running, you could experience unusual behavior on the host. VMware has provided a great KB article on this subject: Determining Network/Storage firmware and driver version in ESXi
In this post, I’ll post my own condensed version of the full KB article, focusing on the information that I found most critical and providing additional information where the official documentation glosses over some details. For the full article (the official information from VMware), please reference the link above.
Identify ESXi version
Before we get started checking the driver or firmware currently installed, let’s make sure we have the version of ESXi that we think we do: vmware -vl
Finding NIC Driver:
1) Fire up a console on the host. This can be a local console or SSH session.
2) Identify the network cards currently on your system.
In ESXi, run this command:
esxcli network nic list
This command will return something like the following:
3) For one of the cards listed, enter the following command: esxcli network nic get -n vmnic<#>
The important information from the command is the following three lines:
Firmware Version: 8.40 0x8000af86 20.5.13
4) Next, we will need to determine the Vendor ID (VID), Device ID (DID), Sub-Vendor ID (SVID), and Sub-Device ID (SDID) using the vmkchdev command: vmkchdev -l |grep vmnic
In this example, the values are:
VID = 8086
DID = 1572
SVID = 1028
SDID = 1f9c
5) Now that we know the version of ESXi we’re running and have a baseline for the NIC driver, let’s check VMware’s Hardware Compatibility List (HCL) – IO Device Search
On this list, we see only one match:
Since we already know that we’re running 7.0U3, let’s check that link (for reference only):
Uh oh! We have a driver/firmware mismatch. Our firmware version isn’t supported. Neither is our driver. I’ll cover the process of correcting a driver/firmware mismatch in another article. VMware has published KB 2005205 with instructions on how to install async drivers. You’ll still need to correct the NIC firmware version, but this process is vendor specific and not covered by VMware.