On Supermicro servers, IPMI can be configured either by using an open-source utility called IPMItool or by using BIOS through a VGA console or by using IPMICFG (Supermicro proprietary tool). This article focuses on using IPMICFG. A CLI-based, command-line utility, IPMICFG can be executed on DOS, Windows, and Linux. It provides both standard IPMI and Supermicro proprietary OEM commands for BMC or Filed Replaceable Unit (FRU) configuration. From this tool, you can do the following actions:
- Set up IPMI IP Address
- Set up IPMI Configuration
- Configure IPMI User Management
- Configure IPMI FRU
- Manage System Event Log (SEL)
Getting Started To start, download the latest version of IPMICFG from the SuperMicro FTP site. As of this writing, the latest version can be found HERE.
Unzip the compressed IPMICFG in your environment and add the execution rights for the file:
# chmod +x ipmicfg-linux.x86_64.static
We recommend creating a symbolic link to make access easier:
# ln -s $(pwd)/ipmicfg-linux.x86_64.static /usr/local/sbin/ipmicfg
If IPMICFG does not work properly, install the IPMI driver and load it into the kernel. On Linux CentOS, you can do this using the following commands:
# yum -y install OpenIPMI
# service ipmi start
# chkconfig ipmi on
Configure your network settings so your IPMI device can be managed with a local IPMICFG. You can do using the following steps:
- Display your current network settings:
# ipmicfg -m
# ipmicfg -k
# ipmicfg -g
- Configure your IPMI network settings:
# ipmicfg -dhcp off
# ipmicfg -k <NETMASK>
# ipmicfg -m <IP>
# ipmicfg -g <GATEWAY>
- Disabling DHCP will make the IP address static.
- In most cases, IPMI network settings should already be pre-configured by your hosting provider.
- Changing these settings can render your IPMI controller inaccessible.
To check for basic network connectivity to the interface, you can ping the IP address using ping <ipaddr>.
IPMI Management Functions
You can use IPMICFG to reset IPMI to the factory default with the following command:
# ipmicfg -fd
Note: While this command restores IPMI to factory default, the IPMI network settings will not be changed.
You can also reset IPMI to a factory default that specifically cleans both FRU and local area network (LAN) settings:
# ipmicfg -fde
IPMI User Management Functions
With IPMICFG, you can add a new user with the highest level of privilege without touching the main settings. Any user can have administrator rights, but do remember that this is assigned to ‘user 2’ by default.
Begin by accessing the list of pre-configured users:
# ipmicfg -user list
You should see something like this:
Maximum number of Users : 10Count of currently enabled Users : 3User ID | User Name | Privilege Level | Enable——- | ———– | ————— | —— 2 | ADMIN | Administrator | Yes 3 | user | Operator | Yes
To add a new user, use the following command:
ipmicfg -user add <user id> <user name> <password> <privilege>
# ipmicfg -user add 5 user2 tbu6LrZqp2lqQvZj 4
# ipmicfg -user list
The output user list will be something like this:
Maximum number of Users : 10Count of currently enabled Users : 4User ID | User Name | Privilege Level | Enable——- | ———– | ————— | —— 2 | ADMIN | Administrator | Yes 3 | user | Operator | Yes 5 | user2 | Administrator | Yes
To set a new password for the ADMIN user, use the following command:
ipmicfg –user setpw <user id> <password>
# ipmicfg –user setpwd 2 <password>
You can also opt to delete an unused user place with the following command:
ipmicfg -user del <user id>
Example # ipmicfg -user del 5
- Use another ID instead of 5 for a different user.
- The Supermicro default login and password is ‘ADMIN’.
IPMI Sensor & System Event Management To monitor SEL in order to spot possible issues like a RAM ECC error, you can use the following command:
# ipmicfg -sel list
Below is an example of the output of said command:
1 | 06/06/2014 | 18:26:16 | Memory | Correctable ECC | Asserted | CPU 0 DIMM 8
Note: This output shows memory modules #8 triggered a correctable ECC error. As the output is a stdout text, a good practice is to use it in a script to monitor overall machine health with words like “error” or “critical” programmed to trigger an alert.
You can monitor hardware components in the sensor list like CPU temperature and fan speed using the following command:
# ipmicfg –sdr
The output will be something like this:
Status | (#)Sensor | Reading | Low Limit | High Limit—— | ——— | ——- | ——— | ———- OK | (4) CPU1 Temp | 31C/88F | 0C/32F | 79C/174F OK | (71) CPU2 Temp | 25C/77F | 0C/32F | 79C/174F OK | (138) System Temp | 25C/77F | -5C/23F | 80C/176F OK | (205) Peripheral Temp | 34C/93F | -5C/23F | 80C/176F
The FRU contains a serial number and the specifications of the motherboard. To show the FRU inventory, use the following command:
# ipmicfg -fru help
The inventory will bring up the following FRU fields:
- CT ;Chassis Type
- CP ;Chassis Part number
- CS ;Chassis Serial number
- BDT ;Board Mfg. Date/Time (YYYYMMDDhhmm)
- BM ;Board Manufacturer
- BPN ;Board Product Name
- BS ;Board Serial Name
- BP ;Board Part Number
- PM ;Product Manufacturer
- PN ;Product Name
- PPM ;Product Part/Model Number
- PV ;Product Version
- PS ;Product Serial Number
- PAT ;Asset Tag
See the examples below on how to pull up specific FRU information: To get product serial number
# ipmicfg -fru PS
To write product serial number
# ipmicfg -fru PS 123456789
To setting board manufacturing date and time
# ipmicfg –fru BDT 201211121631
Chassis Type (CT) = Unknown(02h)
Chassis Part number (CP) =
Chassis Serial number (CS) = 0123456789
Board Mfg. Date/Time(BDT) = 2012/11/12 16:31:00 (DF 5D 87)
Board Manufacturer (BM) = Supermicro
Board Product Name (BPN) = X9DRD-iF
Board Serial number (BS) = 0123456789
Board Part number (BP) =
Product Manufacturer (PM) = Supermicro
Product Name (PN) = X9DRD-iF
Product Part/Model number (PPM) =
Product Version (PV) =
Product Serial number (PS) = 0123456789
Product Asset Tag (PAT) =
NOTE: We highly discouraging changing the chassis, board, and product serial numbers as they should already be pre-configured by your hosting provider.
Troubleshooting If the IPMI controller hangs, run the following command:
# ipmicfg -r
You should get this message:
BMC cold reset successfully completed!
Running this command reboots the IPMI controller without rebooting the OS.
If the IPMI controller becomes unreachable, do a full AC cycle by removing the server power cords and reconnecting them back in after one minute. Doing this will reboot your OS but not IPMICFG.