Supermicro

Firmware download
https://www.supermicro.com/support/resources/bios_ipmi.php

IPMI Supermicro management

# install
wget -q https://www.supermicro.com/wftp/utility/IPMICFG/IPMICFG_1.30.0_build.190710.zip -P /tmp/
unzip /tmp/IPMICFG_*.zip -d /tmp/
chmod +x /tmp/IPMICFG_*/Linux/64bit/IPMICFG-Linux.x86_64
/tmp/IPMICFG_*/Linux/64bit/IPMICFG-Linux.x86_64 -m
sudo cp /tmp/IPMICFG_*/Linux/64bit/IPMICFG-Linux.x86_64 /usr/local/sbin/ipmicfg

BIOS & IPMI Downloads
https://www.supermicro.com/support/resources/resource_links.cfm
https://www.supermicro.com/support/resources/bios_ipmi.php

sum (Supermicro Update Manager)
https://www.supermicro.com/SwDownload/SwSelect_Free.aspx?cat=SUM

sum -l <filen-name-with-BMC-IP-addresses.txt> -u ADMIN -p ADMIN -c CheckOOBSupport
 
# get system info
./sum -i ${BMC_IP} -u ${BMC_USER} -p ${BMC_PASS} -c CheckAssetInfo
 
./sum -i ${BMC_IP} -u ${BMC_USER} -p ${BMC_PASS} -c UpdateBios --file /root/bin/bios/${BIOS_FW}
 
# load bios defaults
./sum -i ${BMC_IP} -u ${BMC_USER} -p ${BMC_PASS} -c LoadDefaultBiosCfg
 
# get sata info
./sum -i ${BMC_IP} -u ${BMC_USER} -p ${BMC_PASS} -c GetSataInfo
 
# get default BIOS settings
./sum -i ${BMC_IP} -u ${BMC_USER} -p ${BMC_PASS} -c GetDefaultBiosCfg --file bios_default.xml
 
# get current BIOS settings
./sum -i ${BMC_IP} -u ${BMC_USER} -p ${BMC_PASS} -c GetCurrentBiosCfg --file bios_current.txt
 
./sum -i ${BMC_IP} -u ${BMC_USER} -p ${BMC_PASS} -c GetSataInfo
 
./sum -i ${BMC_IP} -u ${BMC_USER} -p ${BMC_PASS} -c GetBiosInfo
 
# load bios settings
./sum -i ${BMC_IP} -u ${BMC_USER} -p ${BMC_PASS} -c ChangeBiosCfg --file custom_settings.xml [--reboot --skip_unknown --skip_bbs]

Mount ISO from HTTP server

BMC_USER=ADMIN
BMC_PASS=ADMIN
BMC_HOST=10.0.1.11
./sum -i ${BMC_HOST} -u ${BMC_USER} -p ${BMC_PASS} -c MountIsoImage --image_url http://IP_ACCESSIBLE_FROM_BMC/grml/grml.iso --journal_level 5
 
# umount
./sum -i ${BMC_HOST} -u ${BMC_USER} -p ${BMC_PASS} -c UnmountIsoImage

IPMICFG
https://www.supermicro.com/wftp/utility/IPMICFG/IPMICFG_1.32.0_build.200820.zip

# list user
IPMICFG-Linux.x86_64 -user list
 
# configure user 3 as admin
IPMICFG-Linux.x86_64  -user level 3 4
 
# configure password for a user 2 (admin)
ipmitool user set password 2 ADMIN 
ipmicfg-linux.x86_64 -user setpwd 2 Admin123!
 
# delete user
ipmicfg-linux.x86_64 -user del 2
 
# set administrative privilege of user
ipmicfg-linux.x86_64 -user level 2 4
 
# reset to factory default
ipmicfg-linux.x86_64 -fd
 
# For privilege level:
Administrator level : 4
Operator level      : 3
User level          : 2
Callback level      : 1
 
# allow user to controll whole IPMI
/tmp/ipmicfg-linux.x86_64   -user level 3 4
 
# write motherboard model
./IPMICFG-Linux.x86_64 -fru dmi Supermicro "" "AS -1113S-WN10RT" "" "" "" "" Supermicro H11SSW-NT H11SSW-NT WM12345678 01h CSE-116TS-R706WBP3 ""

Supermicro flash IPMI

./AlUpdate -f SMT_X11AST2500_155.bin -i lan -h ${BMC_HOST} -u ${BMC_USER} -p ${BMC_PASS} -r n

IPMICFG
https://www.supermicro.com/wftp/utility/IPMICFG/
https://www.supermicro.com/wdl/utility/IPMICFG/IPMICFG_UserGuide.pdf

# list fru
./IPMICFG-Linux.x86_64 -fru list
# show fru value
./IPMICFG-Linux.x86_64 -fru list BP
# write fru value
./IPMICFG-Linux.x86_64 -fru BP X11DPT-PS

Serial console SOL over SSH

ssh ADMIN@${BMC_IP}
# password
 
cd system1/sol1
start

Supermicro Product Key Utility
https://github.com/zsrv/supermicro-product-key
https://peterkleissner.com/2018/05/27/reverse-engineering-supermicro-ipmi/

Supermicro Recovery BIOS
1. Download the latest BIOS from our web site and rename it to SUPER.ROM, put SUPER.ROM and afudos.exe into an USB Flash Drive.
2. Attached this USB Flash Drive to rear USB port, and press power button to power the system up.
3. When system powers on, press hot key Ctrl + Home.
4. System will read recovery image and starts BIOS recovery flash operation.
5. When BIOS recovery flash completed, system will reset automatically.