freeipmi man page

The IPMI specification defines a set of interfaces for platform management and is implemented by a number vendors for system management. The features of IPMI that most users will be interested in are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL). The FreeIPMI tools and libraries listed below should provide users with the ability to access and utilize these and many other features of IPMI.

IPMI can be used in-band (i.e. running on a machine locally) or out-of-band (i.e. connecting remotely).

Most FreeIPMI tools can operate in-band by using one of the in-band drivers included. These in-band drivers include a userspace KCS interface driver, a SSIF driver through the Linux SSIF device (i.e. /dev/i2c-0), the OpenIPMI Linux kernel driver (i.e. /dev/ipmi0), the Sun/Solaris BMC driver (i.e. /dev/bmc), and the Intel DCMI/MEI driver (i.e. /dev/dcmi). If your system requires the use of installed drivers, those appropriate modules must be installed ahead of time. However, most systems should automatically load these drivers when appropriate.

Under most scenarios, the FreeIPMI tools should automatically discover which in-band interface to use and the proper settings to use. Users may execute the tools on the command line to begin using them. Some motherboards may require you to determine driver type, addresses, paths, etc. on your own and pass them as command line options to the tools. You may use ipmi-locate(8) to help determine this information. Other tools such as dmidecode(8) may also provide this information.

To use IPMI out-of-band with tools such as ipmipower(8) or ipmi-sensors(8), the remote machine's BMC must first be configured for out of band communication. Typically, this involves setting a username, password, IP address, MAC address, and a few other parameters. This can be done using the tool ipmi-config(8). Additional information on how to configure with ipmi-config(8) can be found in the ipmi-config.conf(5) manpage. Some vendors may pre-configure their motherboards with default values so that ipmi-config(8) can be used remotely to configure the machine. However, most of the time, the BMC must be configured in-band before out-of-band access can be allowed (for example, the correct IP address and MAC address must be configured).

In order to remotely connect to a machine, you typically must specify the host, username, and password for the tool in order to connect. Depending on configuration settings, a K_g key, privilege level, authentication type, cipher suite id, or protocol version may need to be specified.

Some vendors may have not implemented IPMI properly and a workaround must be specified into FreeIPMI to ensure the tool can execute properly. For example, a fair number of vendors have populated their FRU records with invalid checksums. To properly ignore these set of checksums a skipchecks workaround has been added to ipmi-fru(8). Please see each of the tool manpages to see a list of available workarounds.

Additional information, examples, and general trouble-shooting can be found in each of the tool manpages.

In order to avoid typing in a long list of command line options to specify IPMI communication requirements everytime a command is executed (e.g. driver paths, usernames, passwords, etc.), an alternate set of default values can be set for most FreeIPMI tools in the FreeIPMI configuration file. See freeipmi.conf(5) for more information.

Much of FreeIPMI was written with HPC support in mind. Ipmi-config(8) comes with file input/output support so that configuration can be copied and verified across nodes in a cluster. Most tools (like ipmipower(8) and ipmi-sensors(8) ) come with hostrange support so multiple hosts can be specified on the command line at the same time and IPMI can be executed against the hosts in parallel. See tool manpages for more information. Also see the document freeipmi-hostrange.txt for detailed usage and explanation. Ipmi-sensors(8) and the libipmimonitoring(3) library support the ability to interpret sensor readings as well as just reporting them. By mapping sensor readings into NOMINAL, WARNING, or CRITICAL states, it makes monitoring sensors easier across large numbers of nodes.

FreeIPMI is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.