IPMI – Resolving ‘Insufficient Privilege Level’ in IPMIView and ipmitool

ipmiipmitoolsupermicro

I got a Supermicro 5019TR-GF server recently.

At first I can connect to the IPMI via IPMIView or ipmitool to control the server, but today I cannot connect to the server anymore. The ipmitool show:

user@ubuntu-vm:~$ ipmitool -I lanplus -H xx.xx.xx.xx -U ADMIN -P ADMIN sensor list all
Get Device ID command failed: 0xd4 Insufficient privilege level
Get Device ID command failed: 0xd4 Insufficient privilege level
Unable to open SDR for reading

It is strange that I can login to the Web Portal but I cannot use IPMI. What is the problem and how to solve it?


Update 1

I try to use ipmiutil but no luck.

user@ubuntu-vm:~$ ipmiutil sensor list -N xx.xx.xx.xx -U ADMIN -P ADMIN
ipmiutil sensor version 3.15
Invalid data field in request
ipmilan_open_session error, rv = 0xcc
ipmilan Invalid data field in request
ipmi_open error = 204 Invalid data field in request
ipmiutil sensor, Invalid data field in request

Update 2
Finally I reset IPMI to Factory defaults settings in the web interface. Now I can use ipmitool again. However, I cannot find the reason which cause this problem…

Best Answer

Don't use ipmitool over LAN, try to use local IPMI Device Interface. For that, connect to the computer whose BMC you want to control, load ipmi_devintf and and don't specify any connection parameters, just the command:

# lsmod | grep ipmi
...
ipmi_devintf
...
# ipmiutil sensor list
ipmiutil sensor version 3.13
-- BMC version 1.71, IPMI version 2.0 
_ID_ SDR_Type_xx ET Own Typ S_Num   Sens_Description   Hex & Interp Reading
0004 SDR Full 01 01 20 a 01 snum 01 CPU1 Temp        = 36 OK   54.00 degrees C
0047 SDR Full 01 01 20 a 01 snum 02 CPU2 Temp        = 00 Absent 0.00 na
008a SDR Full 01 01 20 a 01 snum 0a PCH Temp         = 2d OK   45.00 degrees C
00cd SDR Full 01 01 20 a 01 snum 0b System Temp      = 23 OK   35.00 degrees C
0110 SDR Full 01 01 20 a 01 snum 0c Peripheral Temp  = 28 OK   40.00 degrees C
0153 SDR Full 01 01 20 a 01 snum 0d MB_10G Temp      = 00 Absent 0.00 na
0196 SDR Full 01 01 20 a 01 snum 10 VRMCpu1 Temp     = 29 OK   41.00 degrees C
01d9 SDR Full 01 01 20 a 01 snum 11 VRMCpu2 Temp     = 00 Absent 0.00 na
021c SDR Full 01 01 20 a 01 snum 12 VRMP1ABC Temp    = 23 OK   35.00 degrees C
...

I've demonstrated ipmiutil here since ipmitool wasn't installed in this (supermicro) server and I was too lazy to install ipmitool (and because ipmiutil is way better when it comes to analyzing event logs, which ipmitool parses completely wrong way), but ipmitool will work this way too.

You can also perform different things, like resetting the BMC from a host (warm or cold), configuring its network parameters, configuring users and passwords and so on. All without powering down the server and without prior knowledge of BMC configuration and passwords, only root access to the OS is needed! This uses a special private interface between the computer and BMC. Also it's standard protocol, it works on supermicro, hpe, dell, intel, lenovo, asus motherboards (those I've tried myself), probably many others would work too.

Related Topic