# Asus Esc8000 Firmware Upgrade

> Check and upgrade BMC firmware and BIOS on ASUS ESC8000-E12P (and similar ASMB12/AST2600 AMI-BMC ASUS servers) via Redfish and the BMC's HPM wizard API. Use when asked to check firmware/BIOS versions, update BMC or BIOS on ASUS GPU servers, or recover a BMC stuck in firmware-update/flash mode (login blocked, Redfish 503).

- **Type:** Skill
- **Install:** `agentstack add skill-soulmachine-skills-asus-esc8000-firmware-upgrade`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [soulmachine](https://agentstack.voostack.com/s/soulmachine)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [soulmachine](https://github.com/soulmachine)
- **Source:** https://github.com/soulmachine/skills/tree/main/asus-esc8000-firmware-upgrade

## Install

```sh
agentstack add skill-soulmachine-skills-asus-esc8000-firmware-upgrade
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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

```bash
export BMC_PASSWORD='...'
scripts/check_versions.sh                   # current BMC FW, BIOS, power state
scripts/check_versions.sh  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)

```bash
scripts/bmc_update.sh  
```

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)

1. Confirm with the operator that the host may go down; gracefully shut it down:
   `POST /redfish/v1/Systems//Actions/ComputerSystem.Reset {"ResetType":"GracefulShutdown"}`
   and wait for `PowerState: Off`.
2. Flash (script enforces a power-off gate and exits update mode on any failure):
   ```bash
   python3 scripts/bios_update.py --ip  --file 
   ```
3. Power on: `{"ResetType":"On"}`. First POST takes 5–15 min (memory retraining).
   `BiosVersion` in 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/Self` are 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/upload` path CANNOT flash BIOS (demands an unsatisfiable
  `BiosUpdateMethod`) — use the HPM wizard API (Workflow B).
- After the wizard upload you MUST call `PUT hpm/flash` — without it the flash never starts
  and `upgradestatus` returns 500 `code 1442 "Error in HPM Finish Firmware Upload"`.
- `ipmitool hpm upgrade` does not work: `0xD5` refusal, 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](REFERENCE.md) for the complete API map, payloads, and error-code table.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [soulmachine](https://github.com/soulmachine)
- **Source:** [soulmachine/skills](https://github.com/soulmachine/skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-soulmachine-skills-asus-esc8000-firmware-upgrade
- Seller: https://agentstack.voostack.com/s/soulmachine
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
