How to downgrade to an older driver in ESXi 5

While working with IBM blade HS23 I had a situation occur where I needed to upgrade to the latest network adapter drivers as a network problem was occuring. I found the latest driver from the VMware Downloads site and upgraded the driver the easy way using vmware update manager. The next day I was told that I had used the wrong driver for the firmware that the hardware was installed with, so I tried to add an older version of the driver through update manager and expected that update manager would downgrade for me but I was wrong. The host was happy and showed compliant as the installed version was newer than the baseline.

So how do I remove the newer driver and replace it with an older version?

esxcli is the answer

  • Open an SSH session with the ESXi host.
  • Enter the following command to list all the vib installed.esxcli software vib list

esxcli software vib list

  • A list of installed vib will be shown find the name of the one you need to downgrade

  • In my case the net-be2net vib was the problem
  • Enter the following command to remove the vib

esxcli software vib remove -n net-be2net -f

  • The vib will be removed and show a message to confirm

  • Next step is to copy the older version of the vib into the ESXi host. I use winSCP to do this and copy it to /tmp
  • To install the new driver ensure you know the name of the bundle and then run the following command. Remember to change the last file name for the vib you need.

 esxcli software vib install --no-sig-check --maintenance-mode -d /tmp/be2net-4.1.334.48-offline_bundle-732042.zip

  • the new vib will be installed and show a message to confirm

  • Next reboot the ESXi host
  • When the host restarts confirm that the correct driver version is shown when the following command is run

esxcli software vib list

  • The list of vib installed will show the downgraded version number

  • After this you can also confirm the driver version using the ethtool command. Note the vmnic needs to be one that is using driver. 

ethtool -i vmnic2

  • The output will show the new running driver version

For more information on the esxcli software commands try here.