IPMIUTIL performs a series of common IPMI server management functions to allow
administrators to perform management functions without a learning curve.
It can gather FRU inventory data, SEL firmware log, sensors, watchdog, power
control, health, monitoring, and has an SOL console. It can write sensor
thresholds, FRU asset tags, and supports a full IPMI configuration save/restore.
Ease-of-use examples with IPMIUTIL:
IPMIUTIL can detect and use various existing IPMI drivers,
or run in driverless mode, which is useful for boot media or test
environments.
IPMIUTIL supports Windows natively, with MS or Intel drivers.
Configuring the IPMI LAN requires just a single command
The decoding of IPMI events includes a severity.
Any IPMI events not recognized at least return the data, rather than just
Unknown.
SEL management is automated via checksel.
Watchdog management is automated via ipmiutil_wdt.
A soft-reboot can be easily performed instead of a hard reboot
by using ipmiutil_asy.
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 administrators and 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 (ipmiutil sel), or configuring the BMC LAN & PEF features (ipmiutil lan).
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, which allows for this
code to be re-used in open-source or proprietary software.
These utilities support any IPMI 1.0, 1.5 or IPMI 2.0 compliant platform.
The ipmiutil software compiles under
Linux (Makefile), Windows (buildwin.cmd),
Solaris (Makefile), and
FreeBSD (Makefile).
See descriptions of each utility function below.
ipmiutil - a meta-command to invoke each of the functions below
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. Included in the OpenIPMI driver in kernels 2.6 and greater. Included in the Intel IMB driver in v28 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 any
one of the supported drivers which it detects.
The supported IPMI drivers in Linux are:
the MontaVista OpenIPMI driver (/dev/ipmi0 or /dev/ipmi/0),
the Intel IMB IPMI driver (/dev/imb, via ipmidrvr rpm or 'ipmi_imb'),
the GNU FreeIPMI library (libfreeipmi.so, disabled by default),
the LANDesk ldipmi daemon (disabled by default),
the valinux IPMI Driver (/dev/ipmikcs, disabled by default), or
direct user-space I/Os to the IPMI KCS or SSIF/SMBus interfaces.
(included with ipmiutil-1.7.5 and later)
The utilities are built to detect which IPMI driver is available and use it,
or, if no driver is detected, will use direct user-space I/Os to the IPMI BMC
for either the KCS or SSIF/SMBus interface.
The supported IPMI drivers in Windows are:
the Intel IMB IPMI driver (imbdrv.sys) for any Windows Server OS,
the Microsoft IPMI driver (ipmidrv.sys) for Win2003R2 or Win2008.
The supported IPMI drivers in Solaris are:
the Sun BMC IPMI driver (/dev/bmc) for Solaris 10, etc.
The supported IPMI drivers in FreeBSD are:
the FreeBSD 7.x OpenIPMI driver port (/dev/ipmi0),
direct user-space I/Os to the IPMI KCS or SSIF/SMBus interfaces.
ipmiutil Project 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, and in the Intel IMB Linux driver v28 and greater.
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 IPMI LAN was added using FreeIPMI (1.5.0).
In May 2006, built-in IPMI LAN support was added (1.7.0).
In August 2006, driverless direct I/O support was added (1.7.5).
In Feb 2007, Linux Serial-Over-Lan console feature was added (1.9.2).
In Oct 2007, Windows SOL console and remote soft-shutdown features were added (2.0.0).
In Sep 2008, support for the Microsoft IPMI driver was added (2.2.1).
In Nov 2008, support for the Sun Solaris bmc driver was added (2.3.0).
In Mar 2009, support for the FreeBSD OS was added (2.3.5).
In Feb 2010, converted utility naming to i* names for Fedora 15 (2.6.0).
In Jun 2010, added picmg and firewall feature support (2.6.5).
In Sep 2010, added support for Intel S5520UR baseboards (2.7.0).
A Linux rpm and a Windows setup package for ipmiutil is included on
the platform CD with Intel (and now Kontron) carrier-grade servers.
The ipmiutil (or panicsel) rpm is known to be included in the following
Linux distributions:
Fedora 15, SuSE SLES9, SLES10, OpenSuSE 11.4,
MontaVista CGE 2.1, 3.0, 3.1, 4.0, Gentoo, 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