Replace Intel igbn Driver

There have been issues with VMware network driver igbn which is responsible for Intel 82580, I210, I350, and I354 Gigabit Ethernet Controllers. Under certain conditions this can lead to a PSOD, which makes it a critical issue for all hosts with one of the ethernet controllers mentioned above.

Currently there’s no VMware patch to solve the problem. It is recommended to replace the VMware driver with a newer version (1.4.10) of Intels native driver.

If we start SSH service on the host, we can check the installed igbn version.

esxcfg-module -i igbn 

esxcfg-module module information
input file: /usr/lib/vmware/vmkmod/igbn
License: ThirdParty:Intel Propietary
Version: 0.1.1.0-5vmw.670.3.73.14320388

Updating the driver

First we have to download the driver package from VMware (login required) and extract the archive. It contains a documentation with release notes and update guide, a VMware Installation Bundle (VIB) and an offline bundle (ZIP). While it is possible to install the VIB on a command shell from an ESXi host, it is more convenient to use VMware Update Manager (VUM). The latter is the procedure I will explain here.

Open vSphere-Client and go to Menu > Update Manager. If you’re not running vSphere 6.7 U1 or later, you’ll have to use the infamous Web-Client (Flash-Client). Select Updates and click on “Upload from File”.

Select the extracted ZIP File (Offline Bundle). Just to avoid some confusion: The file you’ve downloaded from VMware is a ZIP-archive. Extract it once. Within that archive there’s another ZIP-archive. Do not extract that one! From the dialogue we select that ‘inner’ ZIP-file for upload to VUM.

Now we’ve uploaded the driver bundle to VUM, we need to create a baseline. Click on “Baselines” and then click on “New”. Select “Baseline” like in the screenshot below.

Enter a name for the baseline. I’ve named mine “igbn-Update”. Description is optional but recommended. The baseline content is “Extension”.

Select the offline bundle VMW-ESX-6.7.0-igbn-1.4.10 we’ve just uploaded.

Review the summary and click “Finish”.

We can see our new baseline in the list.

Now we have to attach our new baseline to hosts or clusters with affected network chipsets. Go to view “Hosts and Clusters” and select a Cluster (or a single host). Select tab Updates in the main window and click Attach > Attach Baseline or baseline Group.

I had selected a whole vSAN cluster, but the procedure ist the same with a single host. Check the extension baseline we’ve created before.

We can see our baseline under attached baselines list. If we check compliance, we’ll see that the host is not compliant.

Enter maintenance mode for the host to remediate. In a vSAN cluster there’s no need to do a full data migration. Ensure accessibility should be sufficient for installation and host reboot. But that depends on your SLA.

The host will install and reboot automatically. We can check the driver version after reboot.

After update:

esxcfg-module -i igbn

esxcfg-module module information
input file: /usr/lib/vmware/vmkmod/igbn
License: ThirdParty:Intel
Version: 1.4.10-1OEM.670.0.0.8169922

Before update for comparison.

esxcfg-module -i igbn

esxcfg-module module information
input file: /usr/lib/vmware/vmkmod/igbn
License: ThirdParty:Intel Propietary
Version: 0.1.1.0-5vmw.670.3.73.14320388

Links

VMware KB 67686 – PSOD in 6.5/6.7 with igbn driver

Leave a Reply

Your email address will not be published. Required fields are marked *