hpmgmtbase libraries and utilities generate extensive decoding of SEL entries. HP Integrity servers support several event types in the SEL. The first is type 02 events, which are mostly documented and described in the IPMI specification. It is possible to synthesize a complete textual description of any type 02 event by successively decoding the bitfields and looking at various tables in the IPMI specification. These tables and resolution algorithms are coded into libezbmc and thus accessible to hpbmc.
Type 02 events have an OEM extension subclass, which isused for some events. hpbmc decodes those events as well (obviously a feature not found in the any open source tools).
For various historical and technical reasons, the coverage of type 02 events is insufficient for the entire HP Integrity server line. This fact is especially true across multiple operating systems and the cellular platforms. HP Integrity servers also generate full OEM events; for that purpose, HP has chosen type E0 and E1 events. These events consume two SEL entries, one for the primary data set and the second for a timestamp.
Internally, HP maintains an event database that contains all these events along with additional information about each event:
Platforms on which the event can be generated
Summary/Description/Cause/Action text (ranging from a few words to entire paragraphs)
SNMP trap OID or WBEM indication to be sent on event occurence
This database tends to grow over time as new platforms are added to the server families. A static snapshot of this database called the event dictionary ships with hpmgmtbase and is crucial to the decoding and handling of all events. This snapshot is updated with each release of hpmgmtbase.
There are several hpbmc directives concerned with event decoding. The first is SELprint which gives the decoded text for all contents of the SEL. Similar to SELprint is FPLprint. HP Integrity Servers have a custom log called the Forward Progress Log, or FPL. This is where all status and transactions are logged, along with errors and mroe serious events found only in the SEL. The FPL can be considered a superset of the SEL. The FPL is not part of the IPMI specification.
SELprintraw and FPLprintraw print the same decoded event data with the actual bytes of the SEL entry.
Another useful directive is SELdecode. The MP/iLO cards of Integrity Servers and some EFI utilities report a SEL event in its raw 16-byte form as two large 8-byte numbers. SELdecode takes those numbers as input arguments and provides a textual decode.
The final event directive is EventLookup, used to generate decodes for partial event information. Entry-level servers (non- cellular) type 02 events can be categorized by an event triplet, three of the key bytes from a SEL entry. These triplets are described in the operations and maintenance guide of each server. This triplet can be used as input for EventLookup.
Finally, the entire event dictionary can be dumped with either EventLookup LIST (a very verbose form) or EventLookup TABLE ( | -separated fields suitable for further parsing or importing into a spreadsheet).