How to upgrade Supermicro BIOS and IPMI (BMC Controller)

Concepts

All computers have a BIOS. Supermicro has something in addition to a BIOS called the Baseband Management Controller (BMC), also known as IPMI. This extra low overhead operating system allows low level access to the underlying hardware and the ability to do smart things like see the BIOS settings and the screen of the server even when the operating system hasn’t booted. You can do everything you would do at the server as if you’re right there, including believe it or not power the machine on or off (and back on again). The latest versions all have a very responsive HTML5 web interface. Back in the day people used Java to access it the screen, but this is really a royal pain in the butt these days as Java is mostly dead after Oracle took it over.

In both instances when it comes to a BIOS and IPMI it’s best to always have the latest version. The computer’s BIOS is particularly important. I like to also have the latest BMC firmware too because I love that HTML5 interface and need it when I’m in deep shit.

Please note updating BIOS comes with risk. Supermicro makes it clear on their website:

WARNING!
Please do not download / upgrade the BIOS/Firmware UNLESS your system has a BIOS/Firmware-related issue. Flashing the wrong BIOS/Firmware can cause irreparable damage to the system.

In no event shall Supermicro be liable for direct, indirect, special, incidental,or consequential damages arising from a BIOS/Firmware update.

Updating the BIOS

These instructions are for Linux.

Here are the steps to determine your Supermicro board version:

sudo dmidecode -s baseboard-product-name

You can see the currently installed BIOS version using this command:

dmidecode -s bios-version

Downloading “sum”

You’ll need a special utility to upgrade the BIOS using the Linux command line. Instructions are below.

You’ll also need to orientate yourself around where to find the correct BIOS and files for your motherboard. Here are some examples:

Download sum for Linux:
https://www.supermicro.com/en/support/resources/downloadcenter/smsdownload?category=SUM

Make sum executable:

chmod +x sum

Examples of sum use to update two different types of Supermicro motherboards:

./sum -c UpdateBios --file X10SLM1.308
./sum -c UpdateBios --file X10SL71.310
# poweroff

Now use the IPMI interface to restart the computer.

Supermicro BIOS List

  • X11DPL-i = BIOS_X11DPLI-0968_20231215_4.2_STD.zip = version 4.2 as of May 2024
  • X10DRL-i = X10DRL1.521.zip = version 3.4 as of May 2024
  • X10SLM-F = X10SLM1.308 = version 3.4 as of October 2023

Updating the BMC

Download the BMC on the Supermicro website. For example, for the X10SLM-F, we can find it here:

https://www.supermicro.com/en/support/resources/downloadcenter/firmware/MBD-X10SLM-F/BMC

Save to the file. When you extract it, look for something called Redfishxxxxx.bin.

Access the IPMI via it’s IP address. There is a seperate network card on the Supermicro for this and you can set the IP address to fixed or DHCP in the BIOS menu. The default username and password for IPMI is ‘ADMIN/ADMIN’, all uppercase.

Go to Maintenance / Firmware Update. Carefully read the warning. Next:

Upload the file. This is quite quick.

Then press “Start Upgrade” and wait around 15 minutes for the upgrade to complete.

Uploading is quick, but upgrading takes around 15 minutes.

Once the BMC firmware update is done, the BMC will reboot automatically. Note, only the BMC is rebooting, not your server. This is really cool. If you are sitting close to the server, you can actually hear the BMC rebooting because the fans have a different attenuation than the normal server fans. They’ll also stop spinning once the BMC is done.

If your new BMC is back but menus are missing, try incognito.

Important security note: The BMC network card shouldn’t be publically facable and that you need to change the default username and password to something secure.

Issues

I did this in an SSH session and it froze towards the end. Below the bold never showed and I had to reboot. It automatically restored the old version and I had to do it over again:

root@hvX:~# ./sum -c UpdateBios --file X10SLM1.308 
Supermicro Update Manager (for UEFI BIOS) 2.13.0 (2023/08/25) (x86_64)
Copyright(C) 2013-2023 Super Micro Computer, Inc. All rights reserved.

WARNING: BIOS setting will be reset without option --preserve_setting
Reading BIOS flash ..................... (100%)
Writing BIOS flash ..................... (100%)
Verifying BIOS flash ................... (100%)
Checking ME Firmware ...
Putting ME data to BIOS ................ (100%)
Writing ME region in BIOS flash ...
- Update success for /FDT!!
- Updated Recovery Loader to OPRx
- Updated FPT, MFSB, FTPR and MFS
- ME Entire Image done
WARNING:Must power cycle or restart the system for the changes to take effect!

Supermicro IMPI Utilities

Getting the version

root@hvX:~# ./IPMICFG-Linux.x86_64 -summary
Summary
-------------------------------------------
IPv4 Address : 192.168.88.252
BMC MAC Address : AA:BB:7A:79:D0:F3
Firmware Revision : 01.35
Firmware Build Time : 03/14/2014
BIOS Version : 3.4
BIOS Build Time : 03/08/2021
System LAN1 MAC Address: AA:BB:7A:79:D4:4E
System LAN2 MAC Address: AA:BB:7A:79:D4:4F
IPv6 Address 1 : FE80:0000:0000:0000:0EC4:7AFF:FE79:D0F3/64

Setting BMC to DHCP using the command line

IPMICFG is particularly helpful is you want to set your BMC to DHCP:

root@hvX:~# ./IPMICFG-Linux.x86_64 -dhcp
DHCP is currently enabled.

Or

root@hvX:~# ./IPMICFG-Linux.x86_64 -dhcp on|off

See also

Reference

Share this article

6 thoughts on “How to upgrade Supermicro BIOS and IPMI (BMC Controller)”

  1. Hello,
    I have the same board with the LSI 2308 and a Raid 0 config.
    Is it save to do a firmware update because of my raid 0?
    Will the raid 0 still be bootable?
    I never updated the LSI 2308 firmware, so will the old LSI firmware (from 2014 i guess) run with the new x10sl71.310?
    Thanks
    Tom

    1. Eugène van der Merwe

      Hi @Tom,

      I would be careful with older boards. I don’t think the fear would be if the LSI BIOS updates.

      Rather the risk is does the BIOS update succeed first time, and if not, do you have the ability to reboot the server.

      If you don’t have console access, e.g. direct via a VGA cable or via IPMI, you could get into trouble.

      Then with regards to RAID, the ideal situation is that you have at least some good backups of the data. If you don’t, then work for days or weeks to make those backups first. A BIOS update is useful but not worth taking a system down.

      In general though, BIOS updates are safe and recoverable if they don’t work.

      When I do 100 BIOS updates, I might have small minor problems 3% of the time.

  2. Hi Eugène,
    thank you for your feedback. I have direct vga access to the server and would flash it via dos. I did update another supermirco successfully with dos. Yes, the backup. The root disk is a 4 TB disk.
    I have a 4 TB ssd around. I could do a raw copy using dd. I would have to boot the server from a rescue usb os and do the dd backup. It would take about 5 hours.
    The reasoin for update: TSC_DEADLINE disabled due to Errata.
    On another supermirco board the TSC_DEADLINE disabled due to Errata error had been solved due to the bios update. And i guess TSC_DEADLINE disabled due to Errata problem makes the CPU slower.

  3. Hi Eugène,
    short update: I flashed to bios (310) successfully via dos.
    The flashing took over 10 minutes. I also tought it crashed, because the last items:
    – Update success for /FDT!!
    – Updated Recovery Loader to OPRx
    – Updated FPT, MFSB, FTPR and MFS
    – ME Entire Image done

    took some time without informing the user about the status.

    Then I loaded the defaults and I had to set the boot order 2 times till it loaded the OS from the raid disk.
    My head is still hurting.

    Question: To update the IPMI via web interface…, is it also that dangerous?
    I will use the REDFISH_X10_388_20200221_unsigned.bin file.
    My current version:
    Firmware Revision : 01.42
    Firmware Build Time : 04/18/2014
    So I will update form v1 directly to v3. …

    Thank you

    Tom

  4. Final Update:
    I flashed the BMC via freedos: AdUpdate.exe -f REDFISH_X10_388_20200221_unsigned -r n
    As in the manual mentioned it should be important not to preserve the settings and reset to default settings.
    The update took about 30 minutes with a speed like from a floppy disk.
    Now I have to do some research whats new in the IMPI.

    I have built the server in early 2015.
    The WESTERN DIGITAL WD Red 4 TB Raid 0 HDDs are running almost 10 years 24/7 until now.
    I never had issues with the Supermirco. So, a great system.
    I use it for Samba storage with some huge TB disks.
    I run grafana, influxdb, prometheus for collectioning weather station with 10 sensors every 3 seconds, rsync for mirroring all “NAS data” to another server.
    At last it runs a video surveilance with six 4k hikvision cams, recording h265 livestreams using six ffmpeg streams.
    Objekt detection is done by linux motion. So I slice the motion sequences via a python script from the “round robin kind of” ffmpeg recording files.
    As CPU I use a Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz (4 core, 8 threads)
    All on this system.
    System load is average 1.5 in top.
    So ne need for a new system.

    Greetings Tom

  5. Eugène van der Merwe

    Hi Tom!

    Wow you have sketched an incredible journey. Well done on completing all the upgrades.

    Your data collection sounds very interesting.

    Supermicro is incredibly reliable.

    I’m also in the market for some new hardware.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top