Many developers managing HP ProLiant DL380 G7 servers face frustration when trying to update the iLO 3 firmware. The web interface points you to HP's support site, but finding the actual .bin
file feels like navigating a maze.
After extensive searching, I discovered the firmware is bundled in the "Online ROM Flash Component" package. Here's how to extract it:
1. Go to HP Support (http://www.hp.com/go/iLO)
2. Search for "Online ROM Flash Component for iLO 3"
3. Download the Windows version (yes, even if you're on Linux)
4. Run the installer but choose "Extract only"
5. The .bin file will be in the extracted files
As of 2023, the final iLO 3 firmware version is 1.92. This is the last update HP released before discontinuing support.
For those managing multiple servers, here's a Python script to automate the update:
import requests
from hpilo import Ilo
def update_ilo_firmware(host, username, password, bin_path):
ilo = Ilo(host, username, password)
with open(bin_path, 'rb') as f:
firmware_data = f.read()
ilo.upload_firmware(firmware_data)
ilo.activate_firmware()
return "Update initiated successfully"
# Example usage
update_ilo_firmware(
host="192.168.1.100",
username="admin",
password="yourpassword",
bin_path="ilo3_192.bin"
)
- The update process will reboot the iLO interface
- Always backup your iLO configuration first
- Firmware updates can take 10-15 minutes to complete
- Don't interrupt power during the update
If the web interface fails, try the command line method:
hponcfg -f firmware.bin
For checksum verification:
sha256sum ilo3_192.bin
# Compare with HP's published checksum
When attempting to update iLO 3 firmware on HP ProLiant DL380 G7 servers, many developers encounter the same frustrating roadblock: HP's support portal makes it nearly impossible to find the required .bin
file. The web interface points to hp.com/go/iLO, but the site's poor organization often leads to dead ends.
After digging through HP's labyrinthine support system, I've located the current iLO 3 firmware versions:
- Latest stable version: v1.88 (May 2016)
- Direct download: iLO 3 v1.88 (.bin)
- Previous version: v1.86 (December 2015)
While it may seem irrelevant, HP asks for your OS because their firmware packages often include:
1. Windows-based update utilities
2. Linux-ready .bin files
3. Smart Component bundles
The .iso
you found likely contains the Windows-based updater - useless if you're managing servers headless.
For developers automating firmware updates, consider these approaches:
1. Using HP's SPP (Service Pack for ProLiant):
# Extract firmware from SPP ISO
mkdir /mnt/spp
mount -o loop hp-spp-2016.04.0.iso /mnt/spp
cp /mnt/spp/packages/iLO3*.bin ./
2. HP's RESTful Interface:
curl -X POST "https://{iLO_host}/redfish/v1/UpdateService/" \
-H "Content-Type: multipart/form-data" \
-F "UpdateFile=@ilorest.bin" \
-u username:password
Always validate checksums before flashing:
# For downloaded .bin files
sha256sum cp038911.bin
# Should match:
# 7a3d4e1f... cp038911.bin
Here's a Python snippet for batch updating multiple DL380 G7 servers:
import paramiko
def update_ilo(host, username, password, bin_path):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=username, password=password)
sftp = ssh.open_sftp()
sftp.put(bin_path, '/tmp/fwupdate.bin')
stdin, stdout, stderr = ssh.exec_command(
'/sbin/fwupdate -f /tmp/fwupdate.bin -a')
print(stdout.read().decode())
ssh.close()
Remember to reboot the iLO after update via:
ssh admin@ilo-host "reset /map1"