[Top] [Contents] [Index] [ ? ]

The GNU FreeIPMI - Frequently Asked Questions

Frequently Asked Questions for GNU FreeIPMI platform management system.

This edition of the documentation was last updated on November, 13 2006 for release 0.3.0 of the GNU FreeIPMI.

1.0 IPMI - Platform Management Standard  
1.1 What is GNU FreeIPMI?  
1.2 How did it start?  
1.3 Who maintains FreeIPMI?  
1.4 Who should refer to this FAQ?  
1.5 What is the relationship between GNU FreeIPMI, OpenIPMI, Ipmitool, and Ipmiutil?  
1.6 What is special about GNU FreeIPMI compared to other open source IPMI projects?  
1.7 SSIF Driver Configuration  
1.8 x86-64 Compilation  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.0 IPMI - Platform Management Standard

The IPMI specifications define standardized, abstracted interfaces to the platform management subsystem. IPMI includes the definition of interfaces for extending platform management between board within the main chassis, and between multiple chassis.

The term platform management is used to refer to the monitoring and control functions that are built in to the platform hardware and primarily used for the purpose of monitoring the health of the system hardware. This typically includes monitoring elements such as system temperatures, voltages, fans, power supplies, bus errors, system physical security, etc. It includes automatic and manually driven recovery capabilities such as local or remote system resets and power on/off operations. It includes the logging of abnormal or out-of-range conditions for later examination and alerting where the platform issues the alert without aid of run-time software. Lastly it includes inventory information that can help identify a failed hardware unit.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.1 What is GNU FreeIPMI?

GNU FreeIPMI is a Free Intelligent Platform Management System Software. It provides "Remote-Console" (out-of-band), "System Management Software" (in-band) and a development library confirming to Intelligent Platform Management Interface (IPMI v1.5 and v2.0) standards.

GNU FreeIPMI User's Guide concentrates installation, usage, troubleshooting and bug reporting. It corresponds to 0.3.0 release.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2 How did it start?

In 2002 Anand Babu at California Digital Corp. began working on a set of IPMI tools for the GNU system. This work formed the basis of FreeIPMI project.

In September 2003, Albert Chu at Lawrence Livermore National Laboratory (LLNL) began work on ipmipower, a tool for scalable remote power control. The project also included an IPMI library for packet construction. The tool was to be used for remote power control on Thunder, a 1024 node Itanium2 cluster for LLNL.

In October 2003, California Digital Corp. was contracted by LLNL for the assembly of Thunder and the development of several tools for IPMI management on Thunder. It was at this time that FreeIPMI's major development efforts began. The Thunder project allowed developers from both California Digital and LLNL to collaborate on various aspects of FreeIPMI, including various IPMI tools and the libfreeipmi library.

Anand Babu, Balamurugan and Ian Zimmerman at California Digital Corp. worked on the an in-band driver, libfreeipmi, ipmi-sensors, bmc-config, ipmi-sel, and bmc-info. Jim Garlick and Albert Chu at LLNL worked on ipmipower, bmc-watchdog, ipmiping, rmcpping, portions of the libfreeipmi library, and ipmipower support in Powerman. In May 2004, the LLNL developed software was officially merged into the GNU FreeIPMI project. In October 2004, FreeIPMI 0.1.0 was officially released. Around same time, FreeIPMI project was accepted by the Free Software Foundation as a GNU project.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3 Who maintains FreeIPMI?

Maintenance and development of GNU FreeIPMI is shared between Z RESEARCH Inc. and Lawrence Livermore National Laboratory (LLNL).

(Z RESEARCH Inc. was founded by former members for California Digital Corp.)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4 Who should refer to this FAQ?

If you want to use the Intelligent Platform Management Interface functionalities available on modern motherboards running GNU or any POSIX compliant operating systems, this guide is right for you.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5 What is the relationship between GNU FreeIPMI, OpenIPMI, Ipmitool, and Ipmiutil?

There are multiple implementations, APIs, interfaces, end user requirements, etc. that one can choose when developing IPMI drivers, libraries, and tools. GNU FreeIPMI has taken some different approaches towards development thatn other open-source projects.

Some examples of the differences in approaches:

1) In-Band Driver

GNU FreeIPMI implements their in-band IPMI driver in userspace using iopl() calls (and /dev/io interface under FreeBSD) while OpenIPMI implements a kernel module for its in-band IPMI driver.

2) Libraries

OpenIPMI (to our knowledge) concentrates on higher level APIs to use the IPMI driver. GNU FreeIPMI primarily concentrates on APIs for IPMI packet construction. Some higher level management are provided although they are not considered the primary focus of libfreeipmi.

The GNU FreeIPMI developers have contributed patches to the other projects on multiple occassions.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.6 What is special about GNU FreeIPMI compared to other open source IPMI projects?

In our eyes, there are several reasons why GNU FreeIPMI is particularly special.

1) Support for HPC

Ipmipower is capable of scaling to very large numbers of nodes. At LLNL, in conjunction with Powerman, ipmipower is used for power control on clusters ranging from sizes of 8 to 1152. It is capable of power controlling several of the largest clusters in under a second.

Libipmiconsole is capable of setting up and maintaining SOL connections to a large number of nodes simultaneously.

The bmc-config configuration file and command-line interface are used to easily copy the BMC configuration from one node to every other node in a cluster quickly.

HPC support for other components in FreeIPMI is scheduled.

2) Easy setup

By implementing drivers in userspace libraries, there is no need to build/setup/manage any kernel modules/drivers.

3) Portability

Likewise, by implementing everything in userspace libraries and tools, portability to multiple operating systems and architectures is easier.

4) Additional features

By "splitting" various IPMI features into multiple tools, each tool is capable of providing the user with more options and features.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.7 SSIF Driver Configuration

GNU FreeIPMI's SSIF driver works on top of kernel'2 i2c device interface.

Under GNU/Linux load these kernel modules: i2c-dev, i2c-i801, i2c-core before using GNU FreeIPMI.

To identify SSIF device address:

Example:
 
$> lspci  (in the output look for this entry)
 00:1f.3 SMBus: Intel Corp. 6300ESB SMBus Controller (rev 01)
       Subsystem: Intel Corp.: Unknown device 342f
       Flags: medium devsel,  IRQ 17
       I/O ports at 0400 [size=32]
                    ----
$> cat /proc/bus/i2c
i2c-0   smbus    SMBus I801 adapter at 0400         Non-I2C SMBus adapter
                                       ----
    Make sure the "0400" above matches with the "0400" address under
    proc.  Also make sure "i2c-0" is not different. If it appears
    different then grep for "i2c-0" in this code "ipmitool.c" and
    change. "i2c-X" is the label assigned to each slave device attached on
    the i2c bus.

BMC address Locator:
    Refer to the SM BIOS IPMI Device Information Record
    Type 38,  record 06h and 08h. Use the value of record
    06h as the IPMBAddress and load the SMBus controller
    driver at the address value read from record 08h.

    Usual values for record 06h -> 0x42
    Usual values for record 08h -> 0x400


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.8 x86-64 Compilation

Under some x86-64 platforms such as SUSE GNU/Linux, native 64 bit libraries reside under lib64 and 32 bit libs under lib. Autotools by default installs libfreeipmi.so under /usr/lib, instead of /usr/lib64 causing dynamic linking errors. Pass libdir appropriately to configure script to workaround this problem. (i.e. --libdir=/usr/lib64)

Example:
 
  # ./configure  --prefix=/usr --libdir=/usr/lib64


[Top] [Contents] [Index] [ ? ]

Table of Contents


[Top] [Contents] [Index] [ ? ]

About this document

This document was generated by Albert L. Chu on November, 13 2006 using texi2html

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack previous or up-and-previous section 1.1
[ Up ] Up up section 1.2
[ >> ] FastForward next or up-and-next section 1.3
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index concept index  
[ ? ] About this page  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated by Albert L. Chu on November, 13 2006 using texi2html