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:
Native builds on many OSs: Linux, Windows, BSD, Solaris, MacOSX, HPUX
The only IPMI project natively supporting Windows drivers
IPMIUTIL supports any IPMI-compliant vendor firmware
IPMIUTIL detects and handles OEM-specific IPMI firmware variants
IPMIUTIL interprets various vendor OEM-specific sensor values automatically.
Any IPMI values not yet recognized at least return the values,
rather than just 'na' or Unknown.
Shared library for custom applications, sample source included
IPMIUTIL BSD license is compatible with open-source or commercial use
Linux driverless support is ideal for boot media or embedded
Configuring the IPMI LAN requires just a single command
The decoding of IPMI SEL events includes a severity.
A soft-reboot can be easily performed instead of a hard reboot by
using ipmiutil_asy, even if the platform does not support ACPI.
IPMI SEL management is automated via checksel.
Watchdog management is automated via ipmiutil_wdt.
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 IPMI firmware on the Baseboard Management Controller
(BMC) allows OS-independent management.
What many administrators and integrators need, however, is a set of utilities, libraries, 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 IPMI 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
Mac OSX (Makefile), and
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/.
- 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
In October 2001, this project started 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.
In July 2002, this code was first included in MontaVista CGE Linux 2.1.
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.
In January 2004, compile flags for Windows 2000 & 2003 support were added.
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
In Nov 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 Aug 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).
In Sep 2011, added support for IPv6 with IPMI LAN (2.7.8).
In Sep 2011, added support for Linux systemd/upstart (2.7.8).
In Jun 2012, added support for DCMI 1.1 commands (2.8.4).
In May 2013, added support for Mac OSX client (2.9.1).
A Linux rpm and a Windows setup package for ipmiutil is included on
the platform CD with Intel and Kontron carrier-grade servers.
The ipmiutil (or panicsel) rpm is known to be included in the following
Fedora 15 and later, 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