# Updating firmware to 4.01 on ASRockRack did not went well

**URL:** <https://community.amperecomputing.com/t/updating-firmware-to-4-01-on-asrockrack-did-not-went-well/3425>\
**Category:** General Discussion\
**Created:** [June 21, 2026, 4:43pm UTC](https://community.amperecomputing.com/t/updating-firmware-to-4-01-on-asrockrack-did-not-went-well/3425 "2026-06-21T16:43:46Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![hrw](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.amperecomputing.com/hrw/32/31_2.png) [@hrw](https://community.amperecomputing.com/u/hrw)\
**Post date:** [June 21, 2026, 4:43pm UTC](https://community.amperecomputing.com/t/updating-firmware-to-4-01-on-asrockrack-did-not-went-well/3425/1 "2026-06-21T16:43:46Z")

</div>

ASRockRack released firmware 4.01 which provided both SCP and TF-A in 2.10-2026.02.10 version (you may see my table of available versions in [EDK2 thread](https://community.amperecomputing.com/t/edk2-new-support-for-asrock-rack-altrad8ud-1l2t-altrad8ud2-1l2q-and-build-improvements-for-mt-jade-and-com-hpc-alt/2969/65)).

Today I decided to upgrade to this version from my old EDK2 build.

# Upgrade via OpenBMC

Logged to OpenBMC, powered off the host and gave it SCP part first. It went, told me that Host has 4.01 now. So I gave it BIOS part. Again, took some time and process was finished without errors.

So I booted up the system (after whole box power cycle by removing power plug):

```auto
PMpro Runtime Firmware v2.10.20230517

```

The BIOS booted fine. Firmware setup tool told:

```auto
Reference Code Version 2.10j
SCP FW Version 2.10
SCP FW Build 20230517   

```

So SCP part did not got updated. Linux booted.

# Firmware scripts debugging

So I logged into BMC system and started looking at firmware update scripts. The `/sbin/ampere_firmware_upgrade.sh` one does some stuff and calls `ampere_eeprom_prog` with the `/dev/i2c-12` as I²C bus.

The problem is: **THERE IS NO SUCH BUS** :

```auto
root@wooster-bmc:~# ls /dev/i2c*
/dev/i2c-0 /dev/i2c-1 /dev/i2c-2 /dev/i2c-3
/dev/i2c-4 /dev/i2c-6 /dev/i2c-7 /dev/i2c-8
/dev/i2c-11 /dev/i2c-13 /dev/i2c-50 /dev/i2c-55  
/dev/i2c-56 /dev/i2c-57 /dev/i2c-58 /dev/i2c-59  
/dev/i2c-60 /dev/i2c-61 /dev/i2c-62 /dev/i2c-63
/dev/i2c-64 /dev/i2c-65 /dev/i2c-66 /dev/i2c-67
/dev/i2c-68 /dev/i2c-69

```

I wonder how to upgrade SCP on ASRockRack ALTRAD8UD-1L2T then.

---

<div class="post-metadata">

**Author:** ![hrw](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.amperecomputing.com/hrw/32/31_2.png) [@hrw](https://community.amperecomputing.com/u/hrw)\
**Post date:** [June 21, 2026, 5:17pm UTC](https://community.amperecomputing.com/t/updating-firmware-to-4-01-on-asrockrack-did-not-went-well/3425/2 "2026-06-21T17:17:56Z")

</div>

Looks like switching I2C-12 from Host to BMC control fails. Script tries to set `GPIO0 139` to `0` and nothing happens – it is still `1`.

---

<div class="post-metadata">

**Author:** ![sinuscosinustan](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.amperecomputing.com/sinuscosinustan/32/1324_2.png) [@sinuscosinustan](https://community.amperecomputing.com/u/sinuscosinustan)\
**Post date:** [June 27, 2026, 9:55am UTC](https://community.amperecomputing.com/t/updating-firmware-to-4-01-on-asrockrack-did-not-went-well/3425/3 "2026-06-27T09:55:26Z")

</div>

Which BMC version so you run? They previously forgot to enable the i2c12 node in the device-tree.

GPIO pin 139 is BMC\_GPIOR3\_SPI0\_PROGRAM\_SEL and switches the SPI mux from the CPU side to the BMC, it does not enable the i2c master.

If you can’t update the BMC, then maybe extract the SCP ROM from the SCP tarball and use [GitHub - AmpereComputing/amp-fwupgrade: This tool enables upgrading firmware on Ampere's platform · GitHub](https://github.com/AmpereComputing/amp-fwupgrade)

---

<div class="post-metadata">

**Author:** ![hrw](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.amperecomputing.com/hrw/32/31_2.png) [@hrw](https://community.amperecomputing.com/u/hrw)\
**Post date:** [June 27, 2026, 10:48am UTC](https://community.amperecomputing.com/t/updating-firmware-to-4-01-on-asrockrack-did-not-went-well/3425/4 "2026-06-27T10:48:24Z")

</div>

BMC is 3.22 version.

Will take a look at this tool - when temperatures outside get back to below 30°C. Looks like EFI binary, right?

---

<div class="post-metadata">

**Author:** ![sinuscosinustan](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.amperecomputing.com/sinuscosinustan/32/1324_2.png) [@sinuscosinustan](https://community.amperecomputing.com/u/sinuscosinustan)\
**Post date:** [June 27, 2026, 11:03am UTC](https://community.amperecomputing.com/t/updating-firmware-to-4-01-on-asrockrack-did-not-went-well/3425/5 "2026-06-27T11:03:06Z")

</div>

Not an EFI binary. The SCP is separate. As far as I can see, the SCP ROM is only visible in the Beta Zone. It’ll be a `slim` file. You unfortunately have to update both the BIOS and SCP separately (two separate update tarballs)

---

<div class="post-metadata">

**Author:** ![hrw](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.amperecomputing.com/hrw/32/31_2.png) [@hrw](https://community.amperecomputing.com/u/hrw)\
**Post date:** [June 27, 2026, 11:32am UTC](https://community.amperecomputing.com/t/updating-firmware-to-4-01-on-asrockrack-did-not-went-well/3425/6 "2026-06-27T11:32:46Z")

</div>

Which is exactly what I tried to do and described in the first post.

I “love” how cryptic are instructions on how to update Altra firmware.

Nothing strange that whoever I asked told me that they do not touch it unless really have to.

---

<div class="post-metadata">

**Author:** ![hrw](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.amperecomputing.com/hrw/32/31_2.png) [@hrw](https://community.amperecomputing.com/u/hrw)\
**Post date:** [June 29, 2026, 5:39pm UTC](https://community.amperecomputing.com/t/updating-firmware-to-4-01-on-asrockrack-did-not-went-well/3425/7 "2026-06-29T17:39:54Z")

</div>

Thanks - solved:

```auto
SMpro Runtime Firmware v2.10.20260210

```
