SMCIBU: Supermicro BIOS Utility

From Define Wiki
Revision as of 09:19, 4 October 2017 by Damian (talk | contribs)
Jump to navigation Jump to search

SUM: Supermicro Update Manager

Licencing Target Machine

To licence a single system

java -jar SMCIPMITool.jar <target server IP> <username> <password> bios getMACs

To licence multiple systems

java –jar SMCIPMITool.jar <IP> <username> <password> bios getMACs <start> <end> <netMask> <file>
# then confirm they are activated
for i in {01..32}; do  java -jar ./SMCIPMITool.jar node${i}-ipmi ADMIN ADMIN bios isActivated ; done

It will produce an putput file consisting of the MAC addresses and IPMI address of each system it can find. Send this file to super micro to get the product keys.

NOTE If you are doing a shortcut and just grabbing MAC addresses - make sure everything is in capitals.

003048001012; 192.168.34.1;
003048001015; 192.168.34.2;
003048001014; 192.168.34.3;
003048001013; 192.168.34.4;


Activating the nodes

java -jar SMCIPMITool.jar 192.168.34.56 ADMIN XXXXXX bios setKeys mymacs.txt.key

This will produce a file '<filename>.act'. It will contain the MAC address, IPMI address, Product Key and return status. These should all say 'done', but some other examples are shown below.

003048001012; 192.168.34.1; 1111-1111-1111-1111-1111-1111 ; Done
003048001013; 192.168.34.2; 2222-2222-2222-2222-2222-2222 ; Error: Cannot connect to IP
003048001014; 192.168.34.3; 3333-3333-3333-3333-3333-3333 ; Error: MAC does not match
003048001015; 192.168.34.4; 4444-4444-4444-4444-4444-4444 ; Error: Product Key invalid
003048001016; 192.168.34.5; 5555-5555-5555-5555-5555-5555 ; Error: unknown
003048001016; 192.168.34.6; 5555-5555-5555-5555-5555-5555 ; Done
003048001016; 192.168.34.7; 5555-5555-5555-5555-5555-5555 ; Done


Reason activation might fail

  1. Incorrect MAC address
  2. lower case MAC address
  3. Wrong IPMI address

Individual Activation

java -jar SMCIPMITool.jar <IP> <username> <password> bios setKey <KEY>

Using SMCIBU

Check that a node is working correctly

./smcibu -I <IP> -U <username> -P <password> -C CheckOOBSupport

This will allow you the check that node has been activated and that it will allow you to update the BIOS.

Product Key Activated....Yes
BMC FW version...........01.89
OOB support in BMC.......Yes
Board ID.................0660
BIOS release date........2012/11/23
OOB support in BIOS......Yes


Update the BIOS

./smcibu -I <IP> -U <username> -P <password> -C UpdateBios --f <filename>

The following options can be added:

--n Program NVRAM
--r Preserve SMBIOS
--mer Program ME Firmware ME Region


BIOS Config

  • Save The current Config
./smcibu -I 192.168.34.56 -U ADMIN -P XXXXXX -C GetCurrentBiosCfgTextFile --f USER_SETUP.txt --o
  • Update the Config
./smcibu -I <IP> -U <username> -P <Password> -C ChangeBiosCfg --f <USER_SETUP.txt> [--r]
  • Get Default Settings
./smcibu -I 192.168.34.56 -U ADMIN -P XXXXXX -C GetDefaultBiosCfgTextFile --f USER_SETUP.txt --o
  • Reset to Default settings
./smcibu -I 192.168.34.56 -U ADMIN -P XXXXXX -C LoadFactoryDefault –-r

NOTE scmibu is now sum

EXAMPLES
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c CheckOOBSupport
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c ActivateProductKey --key 1111-1111-1111-1111-1111-1111 
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c UpdateBios --file BIOS.rom --reboot
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c GetBiosInfo --file BIOS.rom
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c GetDefaultBiosCfgTextFile --file default.txt --overwrite 
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c GetCurrentBiosCfgTextFile --file current.txt --overwrite 
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c ChangeBiosCfg --file current.txt --reboot
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c LoadDefaultBiosCfg --reboot
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c GetDmiInfo --file dmi.txt --overwrite 
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c ChangeDmiInfo --file dmi.txt --reboot
  • Check if OOB is Supported
root@ft1 sum_1.4.0_Linux_x86_64]# ./sum -i ft2-ipmi -u ADMIN -p ADMIN -c CheckOOBSupport
Supermicro Update Manager (for UEFI BIOS) V1.4.0 (2014/07/17) (x86_64)
Copyright (C) 2014 Super Micro Computer, Inc. All rights reserved

[KEY]
Product Key Activated............OOB

[BMC]
BMC FW Version...................03.20
BMC Supports OOB BIOS Config.....Yes
BMC Supports OOB DMI Edit........Yes

[BIOS]
BIOS Board ID....................070A
BIOS Build Date..................2014/4/24
BIOS Supports OOB BIOS Config....Yes
BIOS Supports OOB DMI Edit.......Yes
  • Get the default system settings
[root@ft1 sum_1.4.0_Linux_x86_64]# ./sum -i ft2-ipmi -u ADMIN -p ADMIN -c getdefaultbioscfgtextfile --file default
Supermicro Update Manager (for UEFI BIOS) V1.4.0 (2014/07/17) (x86_64)
Copyright (C) 2014 Super Micro Computer, Inc. All rights reserved


File "default" is created.
  • More examples
EXAMPLES
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c CheckOOBSupport
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c ActivateProductKey --key 1111-1111-1111-1111-1111-1111 
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c UpdateBios --file BIOS.rom --reboot
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c GetBiosInfo --file BIOS.rom
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c GetDefaultBiosCfgTextFile --file default.txt --overwrite 
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c GetCurrentBiosCfgTextFile --file current.txt --overwrite 
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c ChangeBiosCfg --file current.txt --reboot
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c LoadDefaultBiosCfg --reboot
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c GetDmiInfo --file dmi.txt --overwrite 
#./sum -i 192.168.34.56 -u ADMIN -p ADMIN -c ChangeDmiInfo --file dmi.txt --reboot
  • Change bios settings
EXAMPLES
#Save bios settings from the system to the file "bios_settings.txt"
#./sum -i 192.168.0.123 -u ADMIN -p ADMIN -c GetCurrentBiosCfg --file bios_settings.txt
#edit file with the settings bios_settings.txt 
#upload edited file with settings, and reboot
#./sum -i 192.168.0.123 -u ADMIN -p ADMIN -c ChangeBiosCfg --file bios_setting.txt --reboot
#It will take while to upload the file.