Table of Contents

IPMI

FIXME Some of these are old notes and may need verification or updating.

SuperMicro: http://www.supermicro.com/products/nfo/IPMI.cfm

Manual: ftp://ftp.supermicro.com/CDR-X8_1.22_for_Intel_X8_platform/MANUALS/SMT_IPMI_User%27s_Guide.pdf

Usage: http://netkiller.github.io/monitoring/ipmitool.html

Howto: http://www.thomas-krenn.com/en/wiki/Configuring_IPMI_under_Linux_using_ipmitool

DRAC: http://www.theprojectbot.com/ipmitool-cheatsheet-and-configuring-drac-from-ipmitool/

Best Practices: http://www.supermicro.com/products/nfo/files/IPMI/Best_Practices_BMC_Security.pdf

:!: The default username and password are ADMIN/ADMIN (all caps), at least for Supermicro.

Firewall

Function Port Protocol
HTTP 80 TCP
HTTPS 443 TCP
IPMI 623 UDP
Remote console5900 TCP
Virtual media 623 TCP

Documentation

SuperMicro IPMI Solution Guide: ftp://ftp.supermicro.com/CDR-0010_2.10_IPMI_Server_Managment/Manuals/Installation_20.pdf

AOC-IPMI20-E BMC

Install BMC

Most new servers have IPMI settings in the BIOS. Older and cheaper BMCs require:

Mainboard and BMC specific

Configure BMC - Linux Server

:!: Log in via SSH if you are off-site.

We need the gateway IP and MAC addresses for the IPMI interface. You may be able to get them like this:

route -n
arp -n

Supermicro Agent

:!: I have not had to use this with recent CentOS 5 or 6. Skip to ipmitool section.

This will install and add commands to /etc/rc.local to run smagent which is needed for graceful shutdowns and reboots of the Linux OS:

wget ftp://ftp.supermicro.com/CDR-0010_2.10_IPMI_Server_Managment/IPMI_Solution/Linux/GPC_Agent/GPC_Agent-2.1-050406.tar.gz

tar -xzvf GPC_Agent-2.1-050406.tar.gz
cd GPC_Agent
./quickinstall      # choose option #2

Manual commands to do the same:

modprobe ipmi_devintf
modprobe ipmi_si type=kcs ports=0xca8 regspacings=4
/usr/supermicro/smagent &

lsmod

modprobe ipmi_msghandler
modprobe ipmi_si
modprobe ipmi_devintf

ipmitool

:?: Works with IPMI kernel modules or smagent?

Ubuntu 20.04

apt install ipmitool

CentOS 6

modprobe ipmi_devintf

Centos 5 (XenServer)

modprobe ipmi_devintf
modprobe ipmi_si

If ipmitool is not already installed:

yum install OpenIPMI-tools

Install on Centos 4

wget http://dag.wieers.com/rpm/packages/ipmitool/ipmitool-1.8.8-1.el4.rf.i386.rpm
rpm -Uvh ipmitool-*

Configure IPMI

Display the current configuration:

ipmitool -v lan print 1

Do the configuration:

ipmitool -v lan set 1 ipsrc static
ipmitool -v lan set 1 ipaddr <youripmiipaddress>
ipmitool -v lan set 1 netmask <youripminetmask>
ipmitool -v lan set 1 defgw ipaddr <youripmigwip>
ipmitool -v lan set 1 defgw macaddr <youripmigwmac>
ipmitool -v lan set 1 arp respond on
ipmitool -v lan set 1 auth ADMIN MD5
ipmitool -v lan set 1 access on

Show the IPMI users:

ipmitool user list 1

Configure the IPMI user (the default Supermicro 'ADMIN' user is usually #2):

:!: You may have trouble setting a password with symbols. Try setting a simple password, then use the GUI interface to set a more complicated one.

ipmitool -v user set password 2 <youripmipassword>
ipmitool -v user priv 2 4
ipmitool -v channel setaccess 1 2 link=on ipmi=on callin=on privilege=4
ipmitool -v user enable 2

:!: Privilege level '4' is 'ADMINISTRATOR'.

IPMICLI (Supermicro)

:?: Use ipmitool instead?

wget ftp://ftp.supermicro.com/CDR-0010_2.10_IPMI_Server_Managment/IPMI_Solution/Linux/Administrator/CLI/readme

wget ftp://ftp.supermicro.com/CDR-0010_2.10_IPMI_Server_Managment/IPMI_Solution/Linux/Administrator/CLI/ipmicli

Management Workstation

Install IPMIView (assumes Java already installed on system):

mkdir -p ~/bin/IPMIView20
cd ~/bin/IPMIView20

wget ftp://ftp.supermicro.com/utility/IPMIView/Release/Jar/IPMIView20-Class_v2.6.44_Build080515.zip
unzip IPMIView20-Class_v2.6.44_Build080515.zip

chmod +x IPMIView20.sh

vim IPMIView20.sh

cd ~/bin/IPMIView20/
java -jar IPMIView20.jar

Troubleshooting

Be sure that the network cable for IPMI is plugged into the dedicated IPMI port BEFORE you connect power to the server. The BMC selects between shared and dedicated at power-on.

no iKVM64 in java.library.path

http://www.hackerway.ch/2013/01/28/how-to-resolve-no-ikvm64-in-java-library-path-error-ubuntu-x64-12-04-lts/

Reboot the BMC

:!: Try this first!

:!: Wait for the BMC to reboot.

Reboot the BMC, then try changing the configuration again:

ipmitool mc reset cold

Factory BMC Reset: http://www.supermicro.com/support/faqs/faq.cfm?faq=21709

Reset the BMC to factory defaults (from Supermicro FAQ):

ipmitool raw 0x3c 0x40

or, using a Supermicro tool:

./ipmicfg-linux.x86_64 -fdl

BIOS Updates

Supermicro IPMI controllers usually have a feature to install mainboard BIOS updates, as well as IPMI firmware updates, via the IPMI web interface. This is a licensed commercial feature and requires a license key to function.

:!: Trial license keys are available from Supermicro. They can take a few days to get.

:!: This feature can be a real benefit if you are having trouble updating a BIOS or if you need to update a BIOS remotely.

CLI

You can SSH into the BMC which will put you into SMASH.

You can switch to a BusyBox shell:

shell sh