How to update the uEFI BIOS from the Service Console of ESX4

Some newer IBM servers (such as the x3650M2) comes with an uEFI BIOS that is causing error messages on the console & vmkernel (as reported in this VMTN thread):

0:00:00:02.582 cpu0:4096)CosCommon: 2103: Couldn't setup IRQ 11 with vector 193

The solution to this problem is to upgrade the uEFI BIOS to version 1.03 (or newer).

Updating the uEFI BIOS can be done as follows:

  1. Put the host in maintenance mode
  2. Put the new uefi bios file somewhere on the local file system of the service console (will not run from vmfs)
  3. Run the command:  ./ibm_fw_uefi_d6e128a_linux_32-64.bin  -u
  4. it will fail with the message "Error flashing firmware: 3"
  5. Run the same command again:  ./ibm_fw_uefi_d6e128a_linux_32-64.bin  -u
  6. This time it's flashed successfully.
  7. This installed creates a new virtual switch named IBM_CDC_vSwitch0 that breaks VMware HA so you should remove it before leaving maintenance mode.
  8. NB: If you didn't enter maintenance mode before flashing, this new virtual switch (that breaks HA) will not get visible until you reboot the host.

PS: With newer BIOS revisions you don't need to run the BIOS update command twice

Some screen shots:

Firmware flashed successfully

This switch is created by the uEFI flashing utility