The Intelligent Platform Management Interface (IPMI) is a set of computer interface specifications for an autonomous computer subsystem that provides management and monitoring capabilities independently of the host system's CPU, firmware (BIOS or UEFI) and operating system.

Managing servers with IPMI

Default Users

The default users are 'Administrator' for HPs, 'root' for Dells, and 'ADMIN' for Silicon Mechanics.

Server Setup

IPMI uses COM2 aka ttyS1 for the serial port on Dells and HPs, COM3 aka ttyS2 on Silicon Mechanics.

Common Remote Commands

See if a server is on

ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP chassis power status

Turn a server on

ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP chassis power on

Turn a server off

ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP chassis power off

Tell a server to PXEBoot

ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP chassis power off
ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP chassis bootdev pxe
ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP chassis power on

Connect to the serial console

ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP sol activate

Display the system event log

ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP sel list

Clear the system event log

ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP sel clear

Display sensor information

ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP sdr list

Disconnect another serial console session

ipmitool -I lanplus -U $USER -P $PASSWORD -H $IPMI_IP sol deactivate

Show bootdev help

ipmitool -H 10.5.8.30 -U ADMIN -P ADMIN chassis bootdev none options=help

Common Local Commands

These commands require root access in most environments.

View all configured LAN parameters

ipmitool lan print

You can view individual "channels" which are logical interfaces by giving the number:

ipmitool lan print 1

Configure IPMI static IP information

IPMI_IP_ADDR=192.168.1.250
IPMI_IP_NETMASK=255.255.255.0
IPMI_IP_GW_IP_ADDR=192.168.1.1
IPMI_IP_GW_MAC_ADDR=00:01:02:aa:bb:cc
ipmitool lan set 1 ipsrc static
ipmitool lan set 1 ipaddr "${IPMI_IP_ADDR}"
ipmitool lan set 1 netmask "${IPMI_IP_NETMASK}"
ipmitool lan set 1 defgw ipaddr "${IPMI_IP_GW_IP_ADDR}"
ipmitool lan set 1 defgw macaddr "${IPMI_IP_GW_MAC_ADDR}"
ipmitool lan set 1 arp respond on

Configure IPMI admin user

USERNAME=admin
PASSWORD=hunter2
ipmitool user set name 2 "$USERNAME"
ipmitool user set password 2 "$PASSWORD"

Reset the BMC

If a host loses it's IPMI (iLO, etc.) IP connectivity, issue this command from the host itself

ipmitool mc reset cold

How to fix /dev/ipmi errors

For errors like Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0:

modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si

Reset the ADMIN password to ADMIN on a Supermicro BMC

sudo ipmitool -I open user set password 2 ADMIN

Reset all settings to defaults

This may not work with your BMC, but has been known to work with some supermicro BMCs.

ipmitool raw 0x30 0x40

Conigure sol on a systemd server

A better way to do this is via Grub.

/lib/systemd/system/ttyS1.service should look something like:

[Unit]
Description=Serial Console Service: ttyS1

[Service]
ExecStart=/sbin/getty -L 115200 ttyS1 vt102
Restart=always

[Install]
WantedBy=system.target

Then run:

systemctl enable ttyS1.service
systemctl start ttyS1.service

See Also