Table of Contents
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:
- https://www.supermicro.com/en/support/resources/downloadcenter/firmware/MBD-X11SSL-F/BIOS
- https://www.supermicro.com/en/support/resources/downloadcenter/firmware/MBD-X11DPL-I/BIOS
- https://www.supermicro.com/en/support/resources/downloadcenter/firmware/MBD-X10DRL-i/BIOS
- https://www.supermicro.com/en/products/motherboard/X10SLM-F
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
- https://kb.vander.host/operating-systems/how-to-determine-bios-version-bios-date-and-model-product-name-of-a-computer-using-ubuntu/
- https://kb.vander.host/disk-management/how-to-mount-a-usb-disk-on-freebsd/
6 thoughts on “How to upgrade Supermicro BIOS and IPMI (BMC Controller)”
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
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.
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.
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
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
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.