ASUS ESC8000 BMC/BIOS Upgrade
Validated end-to-end on ESC8000-E12P (ASMB12-iKVM, AMI SP-X gen13). BMC updates are host-safe; BIOS updates require the chassis powered OFF and a host reboot.
Quick start — check current + latest versions
export BMC_PASSWORD='...'
scripts/check_versions.sh <BMC_IP> # current BMC FW, BIOS, power state
scripts/check_versions.sh <BMC_IP> ESC8000-E12P # + latest versions from ASUS API
Download zips from the URLs the ASUS API returns. BIOS zip → .HPM (BMC-flashable) + .CAP
(EzFlash only — don't use here). BMC zip → .hpm.
Workflow A — BMC firmware (host keeps running)
scripts/bmc_update.sh <BMC_IP> <BMC_fw.hpm>
Does: preserve-config flags → Redfish multipart push → flash → BMC auto-reboot → version verify. ~10 min. Warning: after the BMC reboots, the host may power ON via power-restore policy — re-check chassis state before any subsequent BIOS work.
Workflow B — BIOS (chassis must be OFF)
- Confirm with the operator that the host may go down; gracefully shut it down:
POST /redfish/v1/Systems/<id>/Actions/ComputerSystem.Reset {"ResetType":"GracefulShutdown"}and wait forPowerState: Off. - Flash (script enforces a power-off gate and exits update mode on any failure):
python3 scripts/bios_update.py --ip <BMC_IP> --file <BIOS.HPM> - Power on:
{"ResetType":"On"}. First POST takes 5–15 min (memory retraining).BiosVersionin Redfish flips mid-POST; then verify the OS comes back.
Update BMC first, then BIOS (paired releases). Do not run two flashes concurrently.
If the BMC is bricked in flash mode (the "3ed" state)
Symptoms: web UI loads but login returns {"error":"Could not login","code":1348}
("Firmware update in progress hence login has been blocked"), Redfish 503, SSH/IPMI/KVM
ports closed. No remote fix exists once all sessions are gone — it never times out.
→ AC drain: unplug both PSU cords (or PDU outlets) 30 s, replug. BMC boots clean in ~3 min.
Prevention: never abandon the firmware wizard mid-flow; the scripts here always exit update
mode on failure, and hpm/exitupdatemode {"FWUPDATEID":N} works from ANY admin session.
Key gotchas (full details in REFERENCE.md)
Managers/Self&Systems/Selfare invalid — discover members (Managers/BMC_0,Systems/System_0).- BMC reset type is
ForceRestart; reset bounces the host ON via power-restore policy. - Redfish multipart needs THREE parts incl.
OemParameters={"ImageType":"HPM"}. - The Redfish
UpdateService/uploadpath CANNOT flash BIOS (demands an unsatisfiableBiosUpdateMethod) — use the HPM wizard API (Workflow B). - After the wizard upload you MUST call
PUT hpm/flash— without it the flash never starts andupgradestatusreturns 500code 1442 "Error in HPM Finish Firmware Upload". ipmitool hpm upgradedoes not work:0xD5refusal, and ~3 KB/s if it runs at all.- PreserveConfiguration flags default to FALSE — set them before BMC flash or lose network/users.
See REFERENCE.md for the complete API map, payloads, and error-code table.