FREEIPMI(7)

โœจ FREEIPMI โœจ

okay bestie, welcome to the FREEIPMI(7) overview page โ€” this is the little orientation chat that tells you what FreeIPMI actually is before you go diving into the individual tool pages ๐Ÿ’–

๐ŸŒธ NAME ๐ŸŒธ

FreeIPMI โ€” the FreeIPMI overview, aka your one-stop vibe check on this whole project ๐Ÿซถ

๐Ÿ’ซ Introduction ๐Ÿ’ซ

FreeIPMI gives you in-band and out-of-band IPMI software, all built on the IPMI v1.5/2.0 specification. that's the whole elevator pitch, and honestly? it slays.

๐Ÿฆ‹ What is IPMI? ๐Ÿฆ‹

So the IPMI specification defines a set of interfaces for platform management, and a bunch of vendors implement it for system management. the features most users are gonna care about are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL) โ€” those are the main character features fr fr. the FreeIPMI tools and libraries listed below should give you the ability to access and utilize these, plus a whole bunch of other IPMI features too โœจ

๐ŸŽ€ Getting Started with IPMI ๐ŸŽ€

IPMI can be used in-band (i.e. running on a machine locally) or out-of-band (i.e. connecting remotely). both vibes are valid ๐Ÿ’…

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)
  • 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 โ€” so lowkey don't stress about it ๐ŸŒˆ

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). like, you gotta do the in-person thing before the remote thing, iykyk ๐Ÿ˜ญ

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. yes, that's a lot of parameters. no, you can't skip them. the way that remote access demands its little paperwork ๐Ÿ’€

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.

โญ General Use โญ

The primary tools that most users of FreeIPMI will be interested in for system management are the following:

  • ipmi-sensors โ€” a tool to read IPMI sensor readings to aid in system monitoring ๐ŸŒก๏ธ
  • ipmi-sel โ€” a tool to read and manage IPMI System Event Log (SEL) records to aid in system debugging ๐Ÿ“‹
  • ipmipower โ€” a tool for remote power control โšก
  • ipmiconsole โ€” a tool for Serial-over-Lan (SOL) console access ๐Ÿ–ฅ๏ธ

Many other tools and libraries are listed below that cover additional features and areas of IPMI.

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

๐Ÿ’œ Configuration ๐Ÿ’œ

In order to avoid typing in a long list of command line options to specify IPMI communication requirements every time 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. set it once, forget it, live your life ๐Ÿ’…โœจ

๐Ÿ”ฅ HPC Support ๐Ÿ”ฅ

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 โ€” parallel host slaying, we love to see it ๐Ÿ‘‘. 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 ๐ŸŒˆ

๐Ÿงš Development ๐Ÿงš

For information on the libraries that can be used to program IPMI applications with, please see libfreeipmi(3), libipmiconsole(3), libipmimonitoring(3), and libipmidetect(3). or see the document freeipmi-libraries.txt ๐Ÿ“š

๐ŸŒธ Project Tools ๐ŸŒธ

The following tools are distributed and supported by FreeIPMI. get comfy, this is a long list and every single one is iconic ๐Ÿ’–

  • bmc-info โ€” a tool to read information about a BMC such as device version numbers, device support, and globally unique IDs (guids).
  • bmc-watchdog โ€” a tool/daemon to manage a BMC Watchdog. this tool is typically used for system timeout management and automatic system restarts in the event of a system crash.
  • ipmi-chassis โ€” a tool to manage/monitor a chassis, such as chassis power, identification (i.e. LED control), and status.
  • ipmi-fru โ€” a tool to read field replaceable unit (FRU) information from a motherboard/machine.
  • ipmi-sel โ€” a tool to read and manage IPMI System Event Log (SEL) records. SEL records store system event information and may be useful for debugging problems.
  • ipmi-sensors โ€” a tool to read IPMI sensor readings and sensor data repository (SDR) information.
  • ipmipower โ€” a tool for remote power control.
  • ipmiconsole โ€” a tool for Serial-over-Lan (SOL) console access.
  • ipmi-config โ€” a tool to configure BMC and IPMI information. In can be used to configured usernames, passwords, networking information, security, Serial-over-LAN (SOL), Platform Event Filtering (PEF), boot devices, power restoration policy, sensor thresholds, sensor events, and many more configuration options.
  • ipmi-raw โ€” a tool that provides hex input/output of IPMI commands.
  • ipmi-locate โ€” a tool that can probe for information about the location of a BMC device, such as device addresses.
  • ipmi-pet โ€” a tool to parse and interpret Platform Event Traps (PET).
  • ipmi-dcmi โ€” a tool to perform Data Center Manageability Interface (DCMI) IPMI extension commands. supports extensions for asset management and power usage management.
  • bmc-device โ€” a tool to perform advanced BMC commands, such as resetting the BMC, configuring ACPI, configuring SDR/SEL time, manually generating events, re-arming sensors, and configuring manufacturer settings.
  • ipmiping โ€” an IPMI ping tool for debugging.
  • rmcpping โ€” a RMCP ping tool for debugging.
  • ipmi-oem โ€” an IPMI tool for OEM specific commands.
  • ipmidetect/ipmidetectd โ€” a tool and daemon for IPMI node detection.
  • ipmiseld โ€” a daemon that regularly polls the SEL and stores the events to the local syslog.

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

๐Ÿฆ‹ Project Libraries ๐Ÿฆ‹

The following libraries are distributed and supported by FreeIPMI.

  • libfreeipmi โ€” a C library that includes KCS, SSIF, and OpenIPMI Linux, and Solaris BMC drivers, IPMI 1.5 and IPMI 2.0 LAN communication interfaces, IPMI packet building utilities, IPMI command utilities, and utilities for reading/interpreting/managing IPMI. this library is for programmers intimately familiar with the IPMI protocol and IPMI specification. most users may wish to use the libraries listed below.
  • libipmiconsole โ€” a library for Serial-over-Lan (SOL) console access. SOL console access is abstracted into a file descriptor interface, so users may read and write console data through a file descriptor.
  • libipmimonitoring โ€” a library for sensor and system event log (SEL) monitoring that abstracts away most IPMI details. interpretation of those sensors and events is abstracted into an API with an iterator interface.
  • libipmidetect โ€” a library for IPMI node detection.

๐Ÿ“ฃ REPORTING BUGS ๐Ÿ“ฃ

Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>. bestie, they want to hear from you, no gatekeeping ๐Ÿ™ˆ

Copyright ยฉ 2003-2015 FreeIPMI Core Team.

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. fr fr, that's the good license ๐Ÿ’š

๐Ÿ‘€ SEE ALSO ๐Ÿ‘€

libfreeipmi(3), libipmiconsole(3), libipmidetect(3), libipmimonitoring(3), freeipmi.conf(5), bmc-device(8), bmc-info(8), bmc-watchdog(8), ipmi-chassis(8), ipmi-config(8), ipmi-fru(8), ipmi-locate(8), ipmi-oem(8), ipmi-pet(8), ipmi-raw(8), ipmi-sel(8), ipmi-sensors(8), ipmiconsole(8), ipmidetect(8), ipmiping(8), ipmipower(8), rmcpping(8)

http://www.gnu.org/software/freeipmi/


and that's the whole page, bestie!! ๐Ÿ’…โœจ this little overview is brought to you by FreeIPMI 1.6.20, dated 2026-10-05 โ€” go forth and monitor those sensors, you absolute icon ๐ŸŽ€๐Ÿ’–

๐Ÿ“ฆ where this page comes from