#45 sel list/elist command does not fully parse/display "Sensor failure" events

version-1.8.14
open
nobody
None
5
2013-09-21
2013-09-21
Rob Swindell
No

ipmitool sel list (and sel elist) commands do not display the failing sensor ID or number for "Sensor failure" events (with offsets 0 or 4) as defined in Table 42-3 of the IPMI 2.0 spec.

Example using version 1.8.13 "sel list" command:
b | 09/20/2013 | 22:44:00 | Management Subsystem Health #0xfc | Sensor failure | Asserted

Example Using version 1.8.13 "sel elist" command:
b | 09/20/2013 | 22:44:00 | Management Subsystem Health BRCM TruManage | Sensor failure | Asserted

What is missing in the above examples is the identity of the sensor which has failed. Free-IPMI's ipmi-sel command does display this detail and this detail is essential in debugging sensor failure problems.

Example using Free-IPMI's ipmi-sel command (note Free-IPMI displays sensor numbers in decimal):
11 | Sep-20-2013 | 22:44:00 | BRCM TruManage | Management Subsystem Health | sensor failure ; Sensor Number #29

Example using the attached patch, "sel list" command:
b | 09/20/2013 | 22:44:00 | Management Subsystem Health #0xfc | 1Dh Sensor failure | Asserted

(%02Xh format is used to display the sensor number since that is the correlatable identifier shown with the "sdr elist" command).

Example using the attached patch, "sel elist" command:
b | 09/20/2013 | 22:44:00 | Management Subsystem Health BRCM TruManage | POWER_SUPPLY_L Sensor failure | Asserted

The "sel elist" command required an enhancement to the ipmi_sdr_find_sdr_bynumtype() function to allow a sensor type of 0 (unspecified/any) to be specified in the search since the "Sensor failure" events do not carry any information about the failing sensor other than its 'sensor number' value (in Event Data 2), which is supposed to be all one needs to uniquely identify a sensor in a given management subsystem.

I would have used macros in place of magic numbers (e.g. 0x28 for "Management Subsystem Health" sensor type value) but there were no existing macros in the ipmitool header files defined for these IPMI-specified values. I'd be happy to define/use more numeric macros in a patch set if that would be acceptable.

1 Attachments

Discussion