This is a nowhere near complete list of useful ipmi commands I stumbled across collected into one post.

Prerequisites

The ipmitool program is needed for running these commands

General Information

To get general information about the IPMI run:

1
ipmitool -H <ip> -I lanplus -U root -P <password> mc info

Fan Control

Various commands for controlling the fans which can result in much lower noise.

Get Fan speed and Temp

This command will list the ambient temperature and the fan speed of the first three fans.

1
ipmitool -I lanplus -H <ip> -U root -P <password> sensor reading "Ambient Temp" "FAN 1 RPM" "FAN 2 RPM" "FAN 3 RPM"

Allowing manual fan control

This is a hidden raw command that allows manual control of the fans, be careful when enabling this as there is a possibility of overheating the server.

1
ipmitool -I lanplus -H <ip> -U root -P <password> raw 0x30 0x30 0x01 0x00

Setting manual fan speed

After enabling manual fan control you can specify the speed of the fans like so:

1
ipmitool -I lanplus -H <ip> -U root -P <password> raw 0x30 0x30 0x02 0xff <speed>

<speed>: is a hexadecimal digit indicating the speed. In my personal testing the lowest I dared to set it was about 0x08 which corresponds to approximately 2040RPM. Keeping an eye on the temperature while messing with this is highly recommended.

Temperature Treshold

If you want to adjust the temperature tresholds which determine when the temperature is considered “critical” you can use this command. This is mainly useful if you suspect that the temperature sensor is faulty.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
ipmitool <login> sensor thresh <id> <threshold> <setting>
   login     : login info to contact the idrac
               for example: -I lanplus -H 10.0.0.42 -U root -P calvin
   id        : name of the sensor for which threshold is to be set
   threshold : which threshold to set
                 unr = upper non-recoverable
                 ucr = upper critical
                 unc = upper non-critical
                 lnc = lower non-critical
                 lcr = lower critical
                 lnr = lower non-recoverable
   setting   : the value to set the threshold to

sensor thresh <id> lower <lnr> <lcr> <lnc>
   Set all lower thresholds at the same time

sensor thresh <id> upper <unc> <ucr> <unr>
   Set all upper thresholds at the same time

Example: This sets the upper ambient critical treshold to 65 degrees celsius

1
ipmitool -I lanplus -H 10.0.0.42 -U root -P calvin sensor thresh "Ambient Temp" ucr 65