IPMI Management Utilities         SourceForge Logo


ipmiutil - Project Overview    

(formerly known as panicsel)

An easy-to-use IPMI server management utility

Download Binary Packages
(Linux rpm/deb, Windows, Solaris, FreeBSD)

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:

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 FreeBSD (Makefile).
See descriptions of each utility function below.

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).
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 Linux distributions: 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   here