To BMC or not to BMC

When a firmware upgrade does not go to plan. I was trying to update the bmc firmware on one of the X470D4U motherboards, that are in my homelab servers, and it looked like it had succeeded. But after it rebooted there was no web interface available. Nor could I connect with ssh, the session just hung. :/

Thankfully others have been there before, and as its a homelab server its not that difficult to access the server hardware. After a bit of google-fu, I was able to see that I needed a freeedos formatted usb stick and the previous bmc firmware to flash to. Just in case you get bitten by this here are the steps.

  1. Download the socflash bundle.
  2. Get a suitable usb stick to wipe and install freedos.
  3. Download Rufus and Freedos (download the LiteUSB image)
  4. Use Rufus to install the FreeDos image to the usb stick.
  5. Drop the img file from the bmc firmware download and the socflash.EXE from the socflash bundle to the usb stick and eject the stick so its safe to remove.
  6. Ensure that your X470D4U is setup in the bios for Legacy boot. I used Legacy and UEFI.
  7. Connect the usb stick to the rear usb ports.
  8. Boot the board with keyboard and monitor connected, select F8 to launch the boot menu when the Bios options appear.
  9. Boot from the usb stick.
  10. Run socflash.exe if=X470D4~1.ima option=r (replace the X470D4~1.ima with whatever you named the firmware if you renamed it.)
  11. It should ask you to confirm and if you do then it should flash the bmc to whatever version you downloaded to the usb stick.

For me it was version 2.20.00, as that’s what it was at before this botched upgrade started. Once I had flashed to that version, I was able to connect again to the bmc and reset the settings to factory defaults. Then I ran the update to the new 03.02.00 version without any issues. A bit of a pain, but at least its recoverable.