# X15 BMC firmware updated

**URL:** <https://forum.45homelab.com/t/x15-bmc-firmware-updated/3873>\
**Category:** Hardware\
**Created:** [June 22, 2026, 8:49pm UTC](https://forum.45homelab.com/t/x15-bmc-firmware-updated/3873 "2026-06-22T20:49:42Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![cap](https://forum.45homelab.com/letter_avatar_proxy/v4/letter/c/e9bcb4/32.png) [@cap](https://forum.45homelab.com/u/cap)\
**Post date:** [June 22, 2026, 8:49pm UTC](https://forum.45homelab.com/t/x15-bmc-firmware-updated/3873/1 "2026-06-22T20:49:42Z")

</div>

I updated the BMC firmware on my 45HomeLab-X15 and figured I would document the process in case it helps anyone else.

I noticed my BMC firmware was a few versions behind. The system was running:

```auto
BMC firmware: 13.06.21
BIOS firmware: R06

```

The newer package available was:

```auto
BMC firmware: 13.06.26

```

The release notes showed several changes between my installed version and the newer build. The main item that stood out was a fix in `13.06.26` for an issue where MCTP could occasionally fail to communicate with the IPMI service, causing the BMC to become temporarily unresponsive to IPMI commands. I also noticed security/CVE-related fixes in the newer release chain, so it seemed worth updating.

I used the AMI Linux update method from the firmware package.

My extracted package looked like this:

```auto
130626/
├── Tools/
│ ├── gigaflash
│ ├── gigaflash_x64
│ ├── gigaflash.efi
│ └── ...
├── fw/
│ ├── 130626.bin
│ └── rom_v130626.ima_enc
├── ami_bmc_fw_update_linux.sh
├── ami_bmc_fw_update_uefi.nsh
├── ami_bmc_fw_update_win.bat
├── BMC_Release_Note_130626.docx
└── GBT_BMC_Firmware_Upgrade_User_Guide_v007.pdf

```

I copied the extracted firmware folder to the Unraid host under:

```auto
/boot/firmware/gigabyte-bmc/130626

```

Initial prep/checks:

```auto
cd /boot/firmware/gigabyte-bmc/130626

find . -maxdepth 2 -type f | sort
chmod +x ami_bmc_fw_update_linux.sh Tools/gigaflash Tools/gigaflash_x64
file ami_bmc_fw_update_linux.sh Tools/gigaflash Tools/gigaflash_x64 fw/130626.bin
ls -lh fw/

```

The update command I wanted was:

```auto
./ami_bmc_fw_update_linux.sh cs 0 preserve

```

That means:

```auto
cs 0 = active BMC
preserve = preserve existing BMC configuration

```

I specifically did not use `flashall`, since I wanted to retain BMC network/user/config settings.

The first attempt failed with:

```auto
gigaflash v2.0.16
Loading Firmware...
Failed to connect BMC, try to update BMC!
Fail to get vender info!
Fail

```

The issue was that the local IPMI character device was not present yet. The kernel had detected the BMC/KCS interface, but `/dev/ipmi0` did not exist.

This showed the BMC/KCS interface was detected:

```auto
lsmod | egrep 'ipmi|kcs|aspeed' || true
dmesg | egrep -i 'ipmi|kcs|bmc' | tail -80

```

Relevant output:

```auto
ipmi_si: IPMI System Interface driver
ipmi_si ... Found new BMC
ipmi_si ... IPMI kcs interface initialized

```

Then I loaded the missing device interface:

```auto
modprobe ipmi_devintf

ls -l /dev/ipmi* /dev/ipmi/* 2>/dev/null
lsmod | egrep 'ipmi|kcs|aspeed'

```

After that, `/dev/ipmi0` existed:

```auto
crw------- 1 root root 236, 0 ... /dev/ipmi0
ipmi_devintf
ipmi_si

```

Then I reran the update:

```auto
cd /boot/firmware/gigabyte-bmc/130626
./ami_bmc_fw_update_linux.sh cs 0 preserve

```

The second run succeeded. Relevant output:

```auto
gigaflash v2.0.16
Loading Firmware...

----get image conf info----
----get onboard conf info----

Find ASPEED Device 1a03:2000 on 7:0.0
Found ASPEED Device 1a03:2600 rev. 52

[Warning] Don't AC OFF or Reboot System During BMC Firmware Update!!

Update Flash Chip #1 O.K.
Update Flash Chip O.K.

Wait 90 seconds for BMC Ready...
Success

```

After the update, the BMC WebUI confirmed:

```auto
BMC Firmware version: 13.06.26
BMC Firmware Build Date: Apr 21 2026
BIOS Firmware version: R06

```

I also checked the local IPMI path afterward:

```auto
ls -l /dev/ipmi0
lsmod | egrep 'ipmi_devintf|ipmi_si'
dmesg | egrep -i 'ipmi|kcs|bmc|error|fail' | tail -80

```

My main Unraid-specific note is that `modprobe ipmi_devintf` may be required before running the Gigabyte AMI Linux flasher. Without that, `gigaflash` may fail to connect to the BMC even though the BMC WebUI is reachable over its own management IP.

Once the update was verified, I removed the staged firmware files.

```auto
cd /
rm -rf /boot/firmware/gigabyte-bmc/130626
rmdir /boot/firmware/gigabyte-bmc /boot/firmware 2>/dev/null || true

```

Final result:

```auto
45HomeLab-X15 BMC update completed successfully
13.06.21 → 13.06.26
Preserve mode worked
BMC network/users/config retained

```
