freeipmi

Utilities for querying and managing server hardware via IPMI (BMC/iDRAC/iLO) locally or over the network.

Category: Hardware IPMI BMC sensors remote-management

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.

Heads-up: Some IPMI operations can power-cycle a host or change management settings. Treat remote credentials like root passwords.

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.