I’m guilty of only updating firmware and drivers on my devices when problems arise. I’m sure most of us do this. Bad practice! The guide in this post shows how to update a ProLiant system (blade, pedestal or rackmount) with the HP SPP and latest drivers.

BEFORE YOU DO ANYTHING: Put the host in maintenance mode and move the virtual machines off! This probably doesn’t need to be said, but hey.

HP VibsDepot is a great resource for the currently supported firmware and driver recipe for ESXi as well as links to the required files. The most current support recipe document is located at http://vibsdepot.hp.com/hpq/recipes/HP-VMware-Recipe.pdf (pdf). First things first; you need to get the model of your HBA and which driver it uses. You can do this by connecting to the host with SSH.

If you don’t have SSH enabled, press F2 at the ESXi screen and login with the root credentials. Then, go down to Troubleshooting Options and select Enable SSH. You can then exit out of the menu by hitting the escape key a few times.

Open up your SSH client and connect to the host, then:

# ls /proc/scsi

You will see possibly two or three devices. My HBA’s are Emulex branded, so mine shows as lpfc820.

# cat /proc/scsi/lpfc820/1

I used tab complete after the final slash to get the HBA number put in automatically. The info received:

Emulex OneConnect FCoE SCSI
HP FlexFabric 10Gb 2-port 554FLB Adapter on PCI bus 0000:04 device 02 irq 184 Logical Link Speed: 4000 Mbps
BoardNum: 0
ESX Adapter: vmhba0
Firmware Version: 4.1.450.16
Portname: 50:06:0b:00:00:c2:62:10 Nodename: 50:06:0b:00:00:c2:62:11
SLI Rev: 4
MQ: Enabled with 0x2 queues
NPIV Supported: VPIs max 255 VPIs used 0
RPIs max 1024 RPIs used 4 IOCBs inuse 0 IOCB max 8 txq cnt 0 txq max 0 txcmplq 0
Vport List:
Link Up - Ready:
PortID 0x10e05
Current speed 10G
Port Discovered Nodes: Count 2
t0000 DID 010c00 WWPN 50:01:43:80:02:5d:bb:e8 WWNN 50:01:43:80:02:5d:bb:e0 qdepth 8192 max 2 active 0 busy 0
t0001 DID 010d00 WWPN 50:01:43:80:02:5d:bb:ec WWNN 50:01:43:80:02:5d:bb:e0 qdepth 8192 max 2 active 0 busy 0

The most relevant information above is that the driver version currently installed is, the firmware version is 4.1.450.16 and that the card is a HP FlexFabric 10Gb 2-port 554FLB. Within the recipe PDF linked to earlier, I can see that the most recent driver version is and the most recent firmware version is 4.2.401.2215, so I’m behind quite a few versions.

From the recipe PDF, click on the required driver link for your card, which will take you to the VMWare website. A zip file will be downloaded, and inside is another zip file with the word offline_bundle in its filename. This is the driver package we need. Set it aside for the next step. For the firmware, download the latest Service Pack for ProLiant. It’s a big ISO that includes firmware updates for all ProLiant servers and it works quite well. It’s normally updated every 3-4 months.

If you’re like me and have some old blades in your environment (like the BL460c G1) with iLO 2, you might find the virtual media function a bit flaky when you mount the SPP ISO. As a workaround, use the HP USB Key Utility (version 1.7!) to put the SPP on a USB drive and use a direct connection to the blade to boot. Don’t forget, the boot menu key is F11.

There is some excellent documentation available on the HP SPP portal for how to use the SPP. The latest version from when this post was written is here.

Use an SCP client (I use WinSCP) to transfer the offline_bundle driver to a temporary directory on the host (I use /var/log/vmware/). Then, SSH in to the host and execute the following command:

# esxcli software vib install --maintenance-mode --no-sig-check -d /var/log/vmware/name_of_offline_bundle.zip

Be aware that this can take quite a while, so don’t worry if there is still no output after 10 minutes. You should get an output similar to:

Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: Emulex_bootbank_scsi-lpfc820_8.
VIBs Removed: Emulex_bootbank_scsi-lpfc820_8.
VIBs Skipped:

Issue a reboot to the system with reboot. Once it comes back up, take it out of maintenance mode. Done!

Comment and share

  • page 1 of 1

Jacob Ludriks