IPMI Management Utilities
ipmiutil - Project Overview
(formerly known as panicsel)
The IPMI Specification provides a standard way to do both simple and complex server management functions. Everything from remote reset/power-off to sending an SNMP alert from a sensor event even if the OS is down. Being able to
perform these tasks in Baseboard Management Controller (BMC) firmware allows
OS-independent management.
What many integrators need, however, is a set of utilities and/or sample code to perform these functions within their enterprise management subsystem without a learning curve.
The IPMI Management Utilities project provides a series of utilities that
perform common IPMI server management functions, such as viewing the firmware
log (showsel), or configuring the BMC LAN & PEF features (pefconfig).
The utilities are designed for end-users,
so that they should not require intimate knowledge of how to build IPMI
commands. Each of the utilities detects or reasonably assigns default
values so that a working configuration can be easily obtained.
More detailed options allow changes to these default values.
These utilities can be used separately, or merged with a larger server
management subsystem. The source license is BSD and ipmiutil compiles under
Linux (Makefile) and Windows (buildwin.cmd). These utilities
support any IPMI 1.5 or IPMI 2.0 platform.
See descriptions of each utility below.
- ipmiutil - a meta-command to invoke each of the functions below
- alarms - show and set the front panel alarms (LEDs and Relays)
- bmchealth - check and report the basic health of the IPMI BMC
- fruconfig - show decoded FRU board/product inventory data, write FRU asset tag
- getevent - receive any IPMI events and display them
- hwreset - cause the BMC to hard reset or power down the system
- icmd - send specific IPMI commands to the BMC, mainly for testing and debug purposes.
- pefconfig - show and configure the LAN port and Platform Event Filter table to generate BMC LAN alerts via firmware events.
- sensor - show the Sensor Data Records, readings, and thresholds.
- showsel - a tool to show the firmware System Event Log records
- isolconsole - start or stop an IPMI Serial-Over-LAN Console session
- tmconfig - a tool to show and configure the BMC Serial port for various modes, like Terminal Mode
- wdt - show and set the watchdog timer
- idiscover - discover the available IPMI LAN nodes on a subnet.
- events - decode IPMI events and PET data
-
hpiutil/* - a set of parallel HPI utilities,
conforming to the SA Forum Hardware Platform Interface,
also the basis of the openhpi/clients/.
- bmc_panic
- a kernel patch to save information if the system panics. Part of the OpenIPMI driver in kernels 2.6 and greater.
There are also corresponding standard HPI utilities that run with two different HPI implementations, including OpenHPI. These were the basis of the current openhpi/clients.
IPMI interfaces are available on the local system, or remotely with the IPMI
LAN interface. If you are using the IPMI LAN interface with ipmiutil utilities
(-N option), neither the local or remote system requires any IPMI driver.
Note that the IPMI LAN session password is sent with either MD5 or MD2
encryption by default.
If run locally (as superuser), the ipmiutil utilities will use an
IPMI Driver, which can be either
the MontaVista OpenIPMI driver (/dev/ipmi0 or /dev/ipmi/0),
the Intel IMB IPMI driver (/dev/imb, via ipmidrvr rpm or 'ipmi_imb'; imbdrv on Windows),
the LANDesk ldipmi daemon,
the valinux IPMI Driver (/dev/ipmikcs),
the GNU FreeIPMI library (libfreeipmi.so), or
direct user-space I/Os to the IPMI KCS or SSIF/SMBus interfaces.
The utilities are built to detect which IPMI driver is available and use it,
and now (as of ipmiutil-1.7.5) will use direct user-space I/Os to the IPMI BMC
for either the KCS or SSIF/SMBus interface if no driver is detected.
History
This project started in October 2001 as part of the Carrier Grade Linux effort.
It was then known as 'panicsel' and included a kernel patch to write a Linux panic event to the IPMI firmware log, as well as utilities.
This code was first included in MontaVista CGE Linux 2.1 in July 2002.
The panicsel functionality was included in OSDL CGL 1.0 and 2.0 requirements.
The kernel panic functionality was included in the OpenIPMI driver for 2.6 Linux kernels.
Compile flags for Windows 2000 & 2003 support were added in Jan 2004.
In August 2004, the project was moved from panicsel.sf.net to ipmiutil.sf.net.
The new name more clearly reflects the purpose of the project in its current
state. In November 2004, support for the FreeIPMI library was added.
A Linux rpm and a Windows setup package for ipmiutil is included on
the Resource CD with Intel carrier-grade servers.
The ipmiutil (or panicsel) rpm is known to be included in the following
Linux distributions:
MontaVista CGE 2.1/3.0/3.1/4.0, SuSE SLES9, SLES10, RedFlag 5.0
Mailing List Discussion
This a community-based effort to add to existing efforts to improve or
enhance the IPMI Utilities in Linux.
If you are interested in participating in or contributing to this project,
please send mail to the mailing list found
here