Install
# RHEL / Alma / Rocky sudo dnf install freeipmi # Debian / Ubuntu sudo apt install freeipmi # openSUSE sudo zypper install freeipmi # Arch sudo pacman -S freeipmi
What it is
FreeIPMI is a suite of commands (not a single tool) for working with
IPMI (Intelligent Platform Management Interface). It can query sensors, power state,
event logs (SEL), FRU inventory, and more — either locally via /dev/ipmi*,
or remotely over the network to a BMC.
Core tools you’ll actually use
- ipmi-sensors — read hardware sensors (temps, fans, voltages).
- ipmi-sel — view/clear System Event Log (SEL).
- ipmi-fru — view Field Replaceable Unit inventory (serials, part numbers).
- ipmi-chassis — chassis/power state queries, identify LED (varies by platform).
- ipmi-dcmi — DCMI power/thermal data (if supported).
- ipmi-raw — send raw IPMI commands (advanced / risky).
How it works (mechanical)
- Local mode: talks to the kernel IPMI driver via
/dev/ipmi0//dev/ipmi/0. - Remote mode: connects to the BMC over LAN (usually UDP 623) using IPMI-over-LAN.
- Requires valid BMC credentials for remote access.
- Output varies by vendor and what sensors/events the firmware exposes.
- Some operations require elevated privileges (root) in local mode.
Quick Start
# Local sensors (if IPMI kernel modules are present) sudo ipmi-sensors # Remote sensors (BMC over LAN) ipmi-sensors -h 192.0.2.10 -u ADMIN -p 'PASSWORD'
10 Practical Examples
# 1) Check if IPMI device nodes exist (local) ls -l /dev/ipmi* /dev/ipmi/* 2>/dev/null
# 2) Load common kernel modules (local, if needed) sudo modprobe ipmi_si sudo modprobe ipmi_devintf sudo modprobe ipmi_msghandler
# 3) Read sensors locally sudo ipmi-sensors
# 4) Read sensors remotely (LAN) ipmi-sensors -h 192.0.2.10 -u ADMIN -p 'PASSWORD'
# 5) Show System Event Log (SEL) sudo ipmi-sel
# 6) Clear SEL (do this only when you’ve archived/recorded it) sudo ipmi-sel --clear
# 7) Show FRU inventory (serials/PNs, if available) sudo ipmi-fru
# 8) Show chassis/power status (platform support varies) sudo ipmi-chassis --get-status
# 9) DCMI power reading (if supported by BMC) sudo ipmi-dcmi --get-power-reading
# 10) Script-friendly sensor view (pipe to grep/sort) sudo ipmi-sensors | grep -iE 'temp|fan|volt' | head
Notes & Gotchas
- Security: Use strong BMC passwords; prefer isolated management networks/VLANs.
- Different vendors label sensors differently; “N/A” sensors are common.
- If remote access fails, check: BMC IP, firewall, UDP 623, and IPMI LAN enabled.
- Local access may require kernel IPMI modules and root permissions.
- Some SEL entries are cryptic — correlate with vendor docs and
dmesg.
Historical Context
IPMI became the standard for “lights-out” server management (power control, sensor telemetry, event logs) independent of the host OS. FreeIPMI is a long-running open-source suite built to interoperate across vendors.
Modern Equivalent
Many environments now use vendor toolchains (iDRAC/iLO) or Redfish APIs, but IPMI is still widely deployed. FreeIPMI remains a reliable CLI option, especially in minimal Linux and datacenter workflows.
Related Commands
- ipmitool — alternative IPMI CLI (different project).
- lm_sensors — host-side sensor readings (not BMC/IPMI).
- dmesg — kernel logs (hardware events, IPMI driver messages).
- lspci — list PCI devices (hardware inventory).
- smartctl — disk health and SMART data.