How to identify whether a device is IPMI enabled or not in Linux

I posted earlier here how to use ipmitool  to monitor and troubleshoot hardware issues as another medium besides looking at the system log file. Sometimes there might be some hardare issues like system reboot/hung system where we may find no clue in the system log file , but ipmitool  can provide some clues in its System Event Log (SEL) to help identify a potential hardware issue . We have identified many production issues in our environment where no trace could be found in system log file , but ipmitool pointing out that we are having some bad hardware .

But to use ipmitool , we need to check first whether my systemboard has  support for IPMI. Old
system-boards might not support IPMI technology .
Using dmidecode tool to identify IPMI Support

We can use dmidecode to check whether a particular device is an IPMI enabled device .  The following example shows this ..

-bash-3.00$ sudo dmidecode | grep -A 6 -i ipmi
IPMI Device Information
    Interface Type: KCS (Keyboard Control Style)
    Specification Version: 1.5
    I2C Slave Address: 0x10
    NV Storage Device: Not Present
    Base Address: 0x0000000000000CA8 (I/O)
    Register Spacing: 32-bit Boundaries

We need to check at the base address . If the base address is other than 0x000000.. , then we can assume that our hardware has support for IPMI. In the above output , the system-board is an IPMI enabled device . We can then use ipmitool to query the device for IPMI information .

Let's now look at a host which does not support IPMI

$ sudo dmidecode | grep -A 8 -i ipmi
IPMI Device Information
    Interface Type: Unknown
    Specification Version: 1.0
    I2C Slave Address: 0x00
    NV Storage Device: Not Present
    Base Address: 0x0000000000000000 (Memory-mapped)
    Register Spacing: Successive Byte Boundaries

In the above output , we can see that the address is all Zero's which is telling us that the system-board is not IPMI enabled.  If we try to start the ipmi service on the host , it fails .

 $ sudo /etc/init.d/ipmi start
 Starting ipmi drivers:                                     [FAILED]

$ sudo /etc/init.d/ipmi status
ipmi_msghandler module not loaded.
ipmi_si module not loaded.
ipmi_devintf module not loaded.
/dev/ipmi0 does not exist.

The modules are not loaded and if we try to load the modules , it will fail . 


Popular posts from this blog

PSSH : Parallel SSH to execute commands on a number of hosts

How to add check_http as a service in Nagios Monitoring using NRPE