Intelligent Platform Management Initiative

IPMI is an industry-standard architecture for platform (hardware) management. With it one should be able to do all sorts of weird and wonderful things. The spec is available from Intel at http://www.intel.com/design/servers/ipmi/ but it is not intended for casual reading.

IPMI works at a fairly low level, making it cryptic unless you've spent lots of time in the 500-page spec. For that reason, try doing things from the Management Processor which has a much better textual interface. The MP uses IPMI behind the scenes but hides this from the user. Unfortunately, some of the low-end Integrity servers can be shipped without an MP card, so you must use direct entry of IPMI codes.

HP also develops a package for ia64 Linux that performs many of these tasks from Linux. Watch this space for further information.

First, what are these logs that must be managed?

Filling the Logs

Every time the power is cycled, the machine reboots, "things" happen, events are logged in the BMC. There are two logs: FPL and SEL. Forward Progress Log (FPL) gets every event of any severity, similar to the POST of x86 BIOS. FPL is circular and will overwrite itself when "full"; it is RAM-based so it is cleared on reboot or power down. It's usually not critical to clear this log as it is circular.

The System Event Log (SEL) only holds events above a certain severity, usually exceptions or error indications. The SEL is not circular; when full it stops logging new events. The SEL is NVRAM, so its contents are persistent across reboot and power cycles. On boot, a full SEL will pause the system for thirty seconds to make sure you see its status. This log should be cleared BEFORE it becomes full, to insure there is always sufficient room for unexpected and possibly severe errors. Maintaining 20% free space is a good rule-of-thumb.

Here are some simple recipes for using direct IPMI commands. More recent firmware revisions have explicit commands to achieve the following manipulations; otherwise you have to rely on the "ipmi" command explained below. If you're dying to understand the magic bytes, read about /CommandSyntax.

There is an efi command to view and clear the logs:

errdump clear

BMC Direct Access

This information applies only to low-end/entry-level/non-cellular HP Integrity servers.

The Baseboard Management Controller (BMC) is the "heart of IPMI" and handles many things. One of those tasks is snooping the RS232 console port and taking over on an "attention" sequence of characters. The default setting for this port is 9600 8N1 (I think).

The attention sequence is <esc>( (escape followed by left parenthesis) and connects you to a small command interpreter. Enter "?" for a command synopsis. You will be using the "ipmi" command; refer to /CommandSyntax for details.

To leave the interpreter (and return use of the port to Linux) type <esc>).

Clearing FPL

Clearing the FPL can be done in one step. Note that the FPL is not part of the IPMI spec, but HP has "piggybacked" its functionality onto the BMC and uses commands similar to those for manipulating the SEL. We use the "Storage" NetFN, command 0xC7, data bytes 'C' 'L' 'R' (see /CommandSyntax for details):

cli>ipmi 28 C7 43 4C 52
 00                                                .

Clearing SEL

Clearing the system event log is a two-step process per section 18.4 of the IPMI 1.0 spec. First get a SEL reservation ID ("Storage" command 0x42):

cli>ipmi 28 42
 00 XX YY                                          ...
    ^^^^^ = reservation ID

Then issue the SEL clear ("Storage" command 0x47, data bytes 'C' 'L' 'R'):

cli>ipmi 28 47 XX YY 43 4c 52 aa
               ^^^^^ = reservation ID from above
 00 01                                             ..

You can then check that the logs are empty:

cli>se
SEL is empty.
cli>fpl
FPL is empty.

Resetting NVRAM

Earlier revisions of this document discussed this topic, but they were dependent on prototype and early release revisions of firmware. This section has been deprecated. Also, the commands cleared ALL of NVRAM, including EFI variables, boot information, etc. which is really beyond the scope of clearing logs.

IA64wiki: IPMI Recipes (last edited 2012-02-19 21:50:33 by PeterChubb)

Gelato@UNSW is sponsored by
the University of New South Wales National ICT Australia The Gelato Federation Hewlett-Packard Company Australian Research Council
Please contact us with any questions or comments.