Name Date Size

..13-Jul-20204 KiB

.gitignoreH A D18-Aug-20171.1 KiB

AUTHORSH A D02-Feb-20181.7 KiB

autogen.shH A D18-Aug-2017150

bmc-device/H08-Jan-20204 KiB

bmc-info/H29-Jan-20204 KiB

bmc-watchdog/H09-Mar-20184 KiB

ChangeLogH A D29-Jan-2020726.4 KiB

ChangeLog.0H A D02-Feb-201844.6 KiB

common/H18-Aug-20174 KiB

config/H29-Jan-20204 KiB

configure.acH A D29-Jan-202024 KiB

contrib/H18-Aug-20174 KiB

COPYINGH A D18-Aug-201734.3 KiB

COPYING.bmc-watchdogH A D18-Aug-201734.3 KiB

COPYING.ipmi-dcmiH A D18-Aug-201734.3 KiB

COPYING.ipmi-fruH A D18-Aug-201734.3 KiB

COPYING.ipmiconsoleH A D18-Aug-201734.3 KiB

COPYING.ipmidetectH A D18-Aug-201734.3 KiB

COPYING.ipmimonitoringH A D18-Aug-201734.3 KiB

COPYING.ipmipingH A D18-Aug-201734.3 KiB

COPYING.ipmipowerH A D18-Aug-201734.3 KiB

COPYING.ipmiseldH A D18-Aug-201734.3 KiB

COPYING.pstdoutH A D18-Aug-201734.3 KiB

COPYING.sunbmcH A D18-Aug-20171.6 KiB

COPYING.ZRESEARCHH A D18-Aug-201734.3 KiB

DISCLAIMER.bmc-watchdogH A D18-Aug-20171.3 KiB

DISCLAIMER.bmc-watchdog.UCH A D18-Aug-20172.2 KiB

DISCLAIMER.ipmi-dcmiH A D18-Aug-20171.3 KiB

DISCLAIMER.ipmi-fruH A D18-Aug-20171.3 KiB

DISCLAIMER.ipmi-fru.UCH A D18-Aug-20172.2 KiB

DISCLAIMER.ipmiconsoleH A D18-Aug-20171.3 KiB

DISCLAIMER.ipmiconsole.UCH A D18-Aug-20172.2 KiB

DISCLAIMER.ipmidetectH A D18-Aug-20171.3 KiB

DISCLAIMER.ipmidetect.UCH A D18-Aug-20172.2 KiB

DISCLAIMER.ipmimonitoringH A D18-Aug-20171.3 KiB

DISCLAIMER.ipmimonitoring.UCH A D02-Feb-20182.2 KiB

DISCLAIMER.ipmipingH A D18-Aug-20171.3 KiB

DISCLAIMER.ipmiping.UCH A D18-Aug-20172.2 KiB

DISCLAIMER.ipmipowerH A D18-Aug-20171.3 KiB

DISCLAIMER.ipmipower.UCH A D18-Aug-20172.1 KiB

DISCLAIMER.ipmiseldH A D18-Aug-20171.3 KiB

DISCLAIMER.pstdoutH A D18-Aug-20171.3 KiB

DISCLAIMER.pstdout.UCH A D18-Aug-20172.2 KiB

doc/H19-Nov-20194 KiB

etc/H29-Jan-20204 KiB

freeipmi.spec.inH A D02-Feb-201818.4 KiB

INSTALLH A D18-Aug-20179.3 KiB

ipmi-chassis/H29-Jan-20204 KiB

ipmi-config/H29-Jan-202012 KiB

ipmi-dcmi/H07-Jan-20204 KiB

ipmi-fru/H07-Jan-20204 KiB

ipmi-locate/H02-Feb-20184 KiB

ipmi-oem/H29-Jan-20204 KiB

ipmi-pet/H02-Feb-20184 KiB

ipmi-raw/H02-Feb-20184 KiB

ipmi-sel/H29-Jan-20204 KiB

ipmi-sensors/H29-Jan-20204 KiB

ipmiconsole/H29-Jan-20204 KiB

ipmidetect/H02-Feb-20184 KiB

ipmidetectd/H09-Mar-20184 KiB

ipmiping/H18-Aug-20174 KiB

ipmipower/H29-Jan-20204 KiB

ipmiseld/H09-Mar-20184 KiB

libfreeipmi/H28-Jan-20204 KiB

libipmiconsole/H07-Jan-20204 KiB

libipmidetect/H07-Jan-20204 KiB

libipmimonitoring/H13-Dec-20184 KiB

Makefile.amH A D18-Aug-20171.5 KiB

man/H29-Jan-202012 KiB

NEWSH A D29-Jan-2020114.1 KiB

READMEH A D02-Feb-20188.8 KiB

README.argpH A D18-Aug-2017240

README.buildH A D02-Feb-20183.4 KiB

README.openipmiH A D18-Aug-2017528

rmcpping/H02-Feb-20184 KiB

TODOH A D02-Feb-201814.4 KiB

README

1FreeIPMI - Copyright (C) 2003-2015 FreeIPMI Core Team
2
3FreeIPMI
4--------
5
6FreeIPMI provides in-band and out-of-band IPMI software based on the
7IPMI v1.5/2.0 specification.
8
9What is IPMI?
10-------------
11
12The IPMI specification defines a set of interfaces for platform
13management.  It is utilized by a wide variety of vendors for system
14management on motherboards.  The features of IPMI that most users will
15be interested in are sensor monitoring, remote power control,
16serial-over-LAN (SOL), and system debugging.  The FreeIPMI tools and
17libraries listed below should provide users with the ability to access
18and utilize these features.
19
20Getting Started with IPMI
21-------------------------
22
23IPMI can be used in-band (i.e. running on a machine locally) or
24out-of-band (i.e. connecting remotely).
25
26Most FreeIPMI tools can operate in-band by using one of the in-band
27drivers included.  These in-band drivers include a userspace KCS
28interface driver, a SSIF driver through the Linux SSIF device
29(i.e. /dev/i2c-0), the OpenIPMI Linux kernel driver (i.e. /dev/ipmi0),
30the Sun/Solaris BMC driver (i.e. /dev/bmc), and the Intel DCMI/MEI
31driver (i.e. /dev/dcmi).  If your system requires the use of installed
32drivers, those appropriate modules must be installed ahead of time.
33However, most systems should automatically load these drivers when
34appropriate.
35
36Under most scenarios, the FreeIPMI tools should automatically discover
37which in-band interface to use and the proper settings to use.  Users
38may execute the tools on the command line to begin using them.  Some
39motherboards may require you to determine driver type, addresses,
40paths, etc. on your own and pass them as command line options to the
41tools.  You may use ipmi-locate(8) to help determine this information.
42Other tools such as dmidecode(8) may also provide this information.
43
44To use IPMI out-of-band with tools such as ipmipower(8) or
45ipmi-sensors(8), the remote machine's BMC must first be configured for
46out of band communication.  Typically, this involves setting a
47username, password, IP address, MAC address, and a few other
48parameters.  This can be done using the tool ipmi-config(8).
49Additional information on how to configure with ipmi-config(8) can be
50found in the ipmi-config.conf(5) manpage.  Some vendors may
51pre-configure their motherboards with default values so that
52ipmi-config(8) can be used remotely to configure the machine.  However,
53most of the time, the BMC must be configured in-band before
54out-of-band access can be allowed (for example, the correct IP address
55and MAC address must be configured).
56
57In order to remotely connect to a machine, you typically must specify
58the host, username, and password for the tool in order to connect.
59Depending on configuration settings, a K_g key, privilege level,
60authentication type, cipher suite id, or protocol version may need to
61be specified.
62
63Some vendors may have not implemented IPMI properly and a workaround
64must be specified into FreeIPMI to ensure the tool can execute
65properly.  For example, a fair number of vendors have populated their
66FRU records with invalid checksums.  To properly ignore these set of
67checksums a 'skipchecks' workaround has been added to ipmi-fru(8).
68Please see each of the tool manpages to see a list of available
69workarounds.
70
71Additional information, examples, and general trouble-shooting can be
72found in each of the tool manpages.
73
74General Use
75-----------
76
77The primary tools that most users of FreeIPMI will be interested in
78for system management are the following:
79
80ipmi-sensors
81
82A tool to read IPMI sensor readings to aid in system monitoring.
83
84ipmi-sel
85
86A tool to read and manage IPMI System Event Log (SEL) records to aid
87in system debugging.
88
89ipmipower
90
91A tool for remote power control.
92
93ipmiconsole
94
95A tool for Serial-over-Lan (SOL) console access.
96
97Many other tools and libraries are listed below that cover additional
98features and areas of IPMI.
99
100Additional information, examples, and general trouble-shooting can be
101found in each of the tool manpages.
102
103Configuration
104-------------
105
106In order to avoid typing in a long list of command line options to
107specify IPMI communication requirements everytime a command is
108executed (e.g. driver paths, usernames, passwords, etc.), an
109alternate set of default values can be set for most FreeIPMI
110tools in the FreeIPMI configuration file.  See freeipmi.conf(5)
111for more information.
112
113HPC Support
114-----------
115
116Much of FreeIPMI was written with HPC support in mind.  Ipmi-config(8)
117comes with file input/output support so that configuration can be
118copied and verified across nodes in a cluster.  Most tools (like
119ipmipower(8) and ipmi-sensors(8)) come with hostrange support so
120multiple hosts can be specified on the command line at the same time
121and IPMI can be executed against the hosts in parallel.  See tool
122manpages for more information.  Also see the document
123freeipmi-hostrange.txt for detailed usage and explanation.
124Ipmi-sensors(8) and the libipmimonitoring(3) library support the
125ability to interpret sensor readings as well as just reporting them.
126By mapping sensor readings into NOMINAL, WARNING, or CRITICAL states,
127it makes monitoring sensors easier across large numbers of nodes.
128
129Development
130-----------
131
132For information on the libraries that can be used to program IPMI
133applications with, please see, please see libfreeipmi(3),
134libipmiconsole(3), libipmimonitoring(3), and libipmidetect(3).  Or
135see the document freeipmi-libraries.txt.
136
137Project Tools
138-------------
139
140The following tools are distributed and supported by FreeIPMI.
141
142bmc-info
143
144A tool to read information about a BMC such as device version numbers,
145device support, and globally unique IDs (guids).
146
147bmc-watchdog
148
149A tool/daemon to manage a BMC Watchdog. This tool is typically used
150for system timeout management and automatic system restarts in the
151event of a system crash.
152
153ipmi-chassis
154
155A tool to manage/monitor a chassis, such as chassis power,
156identification (i.e. LED control), and status.
157
158ipmi-fru
159
160A tool to read field replaceable unit (FRU) information from a
161motherboard/machine.
162
163ipmi-sel
164
165A tool to read and manage IPMI System Event Log (SEL) records.  SEL
166records store system event information and may be useful for debugging
167problems.
168
169ipmi-sensors
170
171A tool to read IPMI sensor readings and sensor data repository (SDR)
172information.
173
174ipmipower
175
176A tool for remote power control.
177
178ipmiconsole
179
180A tool for Serial-over-Lan (SOL) console access.
181
182ipmi-config
183
184A tool to configure BMC and IPMI information.  In can be used to
185configured usernames, passwords, networking information, security,
186Serial-over-LAN (SOL), Platform Event Filtering (PEF), boot devices,
187power restoration policy, sensor thresholds, sensor events, and many
188more configuration options.
189
190ipmi-raw
191
192A tool that provides hex input/output of IPMI commands.
193
194ipmi-locate
195
196A tool that can probe for information about the location of a BMC
197device, such as device addresses.
198
199ipmi-pet
200
201A tool to parse and interpret Platform Event Traps (PET).
202
203ipmi-dcmi
204
205A tool to perform Data Center Manageability Interface (DCMI) IPMI
206extension commands.  Supports extensions for asset management and
207power usage management.
208
209bmc-device
210
211A tool to perform advanced BMC commands, such as resetting the BMC,
212configuring ACPI, configuring SDR/SEL time, manually generating
213events, re-arming sensors, and configuring manufacturer settings.
214
215ipmiping
216
217An IPMI ping tool for debugging.
218
219rmcpping
220
221A RMCP ping tool for debugging.
222
223ipmi-oem
224
225An IPMI tool for OEM specific commands.
226
227ipmidetect/ipmidetectd
228
229A tool and daemon for IPMI node detection.
230
231ipmiseld
232
233A daemon that regularly polls the SEL and stores the events to the
234local syslog.
235
236Additional information, examples, and general trouble-shooting can be
237found in each of the tool manpages.
238
239Project Libraries
240-----------------
241
242The following libraries are distributed and supported by FreeIPMI.
243
244libfreeipmi
245
246A C library that includes KCS, SSIF, OpenIPMI Linux, and Solaris BMC
247drivers, IPMI 1.5 and IPMI 2.0 LAN communication interfaces, IPMI
248packet building utilities, IPMI command utilities, and utilities for
249reading/interpreting/managing IPMI.  This library is for programmers
250intimately familiar with the IPMI protocol and IPMI specification.
251Most users may wish to use the libraries listed below.
252
253libipmiconsole
254
255A library for Serial-over-Lan (SOL) console access.  SOL console
256access is abstracted into a file descriptor interface, so users may
257read and write console data through a file descriptor.
258
259libipmimonitoring
260
261A library for sensor and system event log (SEL) monitoring that
262abstracts away most IPMI details.  Interpretation of those sensors and
263events is abstracted into an API with an iterator interface.
264
265libipmidetect
266
267A library for IPMI node detection.
268
269Help, Questions, etc.
270---------------------
271
272Please send comments, help, and questions to the freeipmi mailing
273lists, freeipmi-users@gnu.org and freeipmi-devel@gnu.org.  Or see
274our webpage at http://www.gnu.org/software/freeipmi/.
275

README.argp

1Local FreeIPMI argp modified from argp-standalone-1.3.  Many
2configure.ac autoconfing for the local argp library taken from
3argp-standalone as well.
4
5argp-standalone taken from glibc from Neil Moller.
6http://www.lysator.liu.se/~nisse/misc/
7

README.build

1Building/Install from source
2----------------------------
3
4The instructions below (modified from the INSTALL file) should
5work for most people.
6
7  1. `cd' to the directory containing the package's source code and type
8     `./configure' to configure the package for your system.
9
10     Running `configure' takes awhile.  While running, it prints some
11     messages telling which features it is checking for.  If your system
12     requires additional packages and/or libraries in order for FreeIPMI
13     to be built, appropriate messages should be displayed.  These
14     packages and/or libraries should be installed and `./configure' should
15     be executed again.
16
17  2. Once `./configure' has succeeded, type `make' to compile the
18     package.
19
20  3. Type `make install' to install the programs and any data files and
21     documentation.
22
23     You may need to be root in order for files to be installed into
24     the proper locations on your system.
25
26By default files will typically be installed in /usr/local (binaries
27in /usr/local/bin, libraries in /usr/local/lib, configuration files in
28/usr/local/etc/, etc.).  To install into the more common locations
29such as /usr/bin, /usr/lib/, /etc, etc. the options passed into
30`./configure' must be adjusted.
31
32The following set of options and settings are suitable for most Linux
33systems.
34
35--prefix=/usr --exec-prefix=/usr --sysconfdir=/etc
36--localstatedir=/var --mandir=/usr/share/man
37
38Your mileage may vary depending on your system.
39
40If you install the binaries or libraries in non-standard locations
41(e.g. /usr/local or /opt), you may have to update other system
42configuration to find the files and libraries.  For example, in Linux
43you may need to update your PATH or LD_LIBRARY_PATH environment
44variables.  Or you may need to update your /etc/ld.so.conf files and
45run ldconfig(8) to find libraries globally.  This is highly dependent
46on your operating system.
47
48Building RPMs
49-------------
50
51For most people you can build RPMs one of two ways.
52
53From the source:
54
55rpmbuild -ta freeipmi-X.Y.Z.tar.gz
56
57From the source rpm:
58
59rpmbuild --rebuild freeipmi-X.Y.Z-1.src.rpm
60
61Depending on your default RPM build environment, you may need to be root
62in order for RPMs to be stored in the default locations.
63
64After the RPMs are built, you may install them the normal way:
65
66rpm -i freeipmi-X.Y.Z.ARCH.rpm
67
68Additional configure options
69----------------------------
70
71The following configure options are available to users for more unique
72compilation requirements and environments.
73
74--without-encryption
75
76This option disables compilation of encryption support in FreeIPMI.
77Most notably, this disables encryption support when doing out of band
78IPMI 2.0 communication.
79
80This option may be particularly useful in embedded environments that
81do not have the libraries needed to compile encryption support.
82
83--with-dont-check-for-root
84
85When running tools inband, root access is normally required.  In some
86systems, this may not be desired.  This options removes the check for
87root access in FreeIPMI tools.
88
89--without-random-device
90
91This option disables checks and use of /dev/urandom and /dev/random.
92This may be required for embededded systems without these devices.
93
94--with-pkgconfig-dir
95
96This option can configure an alternate default pkgconfig directory.
97
98--with-bmc-watchdog-logfile
99
100This option can configure an alternate default bmc-watchdog log
101directory.
102
103--with-ipmi-monitoring-sdr-cache-dir
104
105This option can configure an alternate default libipmimonitoring SDR
106cache directory.
107
108

README.openipmi

1The Linux OpenIPMI driver is often loaded via the /etc/init.d/ipmi
2setup script.  If your distribution/environment does not have this
3script, the following script can be used to load/unload the driver.
4
5#!/bin/sh
6
7/sbin/modprobe ipmi_devintf
8
9maj=`cat /proc/devices | awk '/ipmidev/{print $1}'`
10if [ -c /dev/ipmi0 ]
11then
12   rm -f /dev/ipmi0
13   /bin/mknod /dev/ipmi0 c $maj 0
14else
15   /bin/mknod /dev/ipmi0 c $maj 0
16fi
17
18/sbin/modprobe ipmi_si
19
20# do stuff
21
22/sbin/rmmod ipmi_si
23/sbin/rmmod ipmi_devintf
24/sbin/rmmod ipmi_msghandler
25
26