OpenIPMI project is an effort to create a full-function IPMI system to allow full access to all IPMI information on a server and to abstract it to a level that will make it easy to use.
OpenIPMI consists of two main parts: A device driver that goes into the Linux kernel, and a user-level library that provides a higher-level abstraction of IPMI and generic services that can be used on any operation system.
Here are some key features of "OpenIPMI":
· Allows multiple users.
· Allows multiple interfaces.
· Allows both kernel and userland things to use the interface.
· Fully supports the watchdog timer.
· It works like IPMI drivers are supposed to. It tracks outgoing messages and matches up their responses automatically. It automatically fetches events, received messages, etc.
· It supports interrupts (I have tested them now).
· It has backwards-compatability modules for supporting the Radisys IPMI driver and the Intel IMB driver.
· It's modular. You don't have to have the standard userland interface. You don't have to have the watchdog. Etc.
· It supports generating an event on a panic.
The OpenIPMI Library
Raw access to IPMI is rather difficult to use. Parsing SDRs, scanning for devices on the IPMB bus, scanning for events, and handling all the pieces is rather complicated. The OpenIPMI library provides a higher-level abstraction of this, the user of the OpenIPMI library deals directly with sensors and entities and does not have to worry about the lower-level details of IPMI.
Note that the OpenIPMI library is not Linux-specific. It was written with an os-layer so it could be ported to other operating systems. Of course, it works by default on Linux, but I would like to see it running on other operating systems. It includes an IPMI LAN interface, an interface for the OpenIPMI driver, but interfaces for other drivers and connections could be written.
The OpenIPMI library also includes the ipmicmd program, a small program that lets you inject and receive messages. You can register for incoming commands, set your source IPMB address, and other nifty things, too.
What's New in 2.0.14 Development Release:
· A major bug in event handling was fixed.
What's New in 1.4.30 Stable Release:
· This release fixes a major bug in event handling.