LinuxCommandLibrary

freeipmi

Communicate with a server's Baseboard Management Controller

SYNOPSIS

The freeipmi project provides a suite of independent command-line tools. The general syntax for using these tools is:
tool_name [global_options] [tool_specific_options] [arguments]

Commonly used tools within the suite include:
ipmi-sensors [options]
ipmi-sel [options]
ipmi-chassis [options]
bmc-info [options]

PARAMETERS

-h, --help
    Displays help information for the specific tool being used.

-V, --version
    Shows the version of the freeipmi suite.

-D, --debug
    Enables verbose debug output, useful for troubleshooting.

-H <hostname>, --hostname=<hostname>
    Specifies the remote host IP address or hostname for LAN-based IPMI communication.

-U <username>, --username=<username>
    Sets the username for authentication when connecting to the BMC.

-P <password>, --password=<password>
    Provides the password for authentication when connecting to the BMC.

-l <level>, --level=<level>
    Specifies the privilege level for the IPMI session (e.g., callback, user, operator, administrator).

-N, --lan
    Selects the LAN interface for remote IPMI communication.

-I, --openipmi
    Uses the OpenIPMI Linux kernel driver interface for local IPMI communication.

-K, --kcs
    Selects the Keyboard Controller Style (KCS) interface for local IPMI communication.

-S, --smbus
    Selects the SMBus interface for local IPMI communication.

-R <seconds>, --register-timeout=<seconds>
    Sets the timeout in seconds for registering with the BMC over LAN.

-T <seconds>, --transaction-timeout=<seconds>
    Sets the timeout in seconds for individual IPMI transactions over LAN.

DESCRIPTION

freeipmi is an open-source, standards-compliant implementation of the Intelligent Platform Management Interface (IPMI) specification. It provides a robust suite of command-line tools for local and remote out-of-band management, monitoring, and control of IPMI-enabled hardware.

The suite includes utilities for tasks such as reading sensor data (temperature, voltage, fan speed), managing the System Event Log (SEL), retrieving Field Replaceable Unit (FRU) information, controlling chassis power, and performing raw IPMI commands. freeipmi supports various IPMI interfaces, including Keyboard Controller Style (KCS), SMBus, OpenIPMI (Linux kernel driver), and LAN (Remote Management). Its design emphasizes security, performance, and adherence to IPMI 1.5, 2.0, and DCMI standards, making it a powerful tool for system administrators and developers managing server infrastructure.

CAVEATS

Using freeipmi requires hardware with a functioning and configured Baseboard Management Controller (BMC). For LAN communication, proper network connectivity and firewall rules must be established between the client system and the BMC. Users should exercise caution with sensitive authentication credentials (passwords) and avoid exposing them directly on the command line in scripts unless robust security measures are implemented. IPMI implementations can vary between hardware vendors, potentially leading to slight behavioral differences or compatibility quirks.

TOOLS OVERVIEW

The freeipmi suite comprises numerous specialized tools, each designed for specific IPMI management tasks. Key utilities include ipmi-sensors for reading various sensor data (e.g., temperature, voltage, fan speed), ipmi-sel for managing the System Event Log (viewing, clearing entries), ipmi-fru for accessing Field Replaceable Unit information (e.g., serial numbers, manufacturing dates), ipmi-chassis for chassis control (like power on/off, reset), bmc-info for retrieving BMC details, and ipmi-raw for executing arbitrary raw IPMI commands. Other tools like ipmi-config and ipmi-dcmi provide advanced configuration and DCMI (Data Center Manageability Interface) functionalities, respectively.

IPMI INTERFACES

freeipmi supports several communication interfaces to interact with the Baseboard Management Controller (BMC). KCS (Keyboard Controller Style) and SMBus are typically used for local, in-band communication directly via hardware registers. The OpenIPMI interface leverages the Linux kernel's openipmi driver, providing a robust local communication channel. For remote management, the LAN interface is used, enabling communication over a network using the IPMI-over-LAN protocol. Choosing the correct interface (specified by options like -K, -S, -I, or -N) is crucial for successful operation based on whether you're managing locally or remotely.

HISTORY

The freeipmi project was initiated in 2004, aiming to provide a comprehensive, free, and open-source implementation of the IPMI standard. It was developed to offer a robust and secure alternative to existing proprietary and open-source IPMI tools, such as ipmitool, with a strong emphasis on adhering to IPMI specifications (1.5, 2.0, DCMI). Maintained as part of the GNU project, freeipmi has continuously evolved to support new IPMI features, improve performance, and enhance security, establishing itself as a vital tool for server management in various environments.

SEE ALSO

ipmitool(1), dmidecode(8), sensors(1), openipmi(4)

Copied to clipboard