IPMI sensors for Linux 2.6 |
The bmcsensors driver was written by Mark Studebaker, and allows lm_sensors to read the many sensors present on an IPMI baseboard management controller (BMC). IPMI is a standard created by Intel, HP and others to standardize hardware monitoring amongst other common monitoring needs. An IPMI BMC can have any number of sensors of almost any number of different types. This project originally started out as a port of Mark's 2.4 driver to kernel 2.6. Bmcsensors/i2c-ipmi (along with i2c-isa and others) were a hack to fit non-i2c hardware monitoring sensors into the lm-sensors i2c-centric view. However after a discussion with Jean Delvare when an attempt was made to merge bmcsensors into mainline, it was agreed that is was time to clean this problem up, and so a patch by Mark Hoffman introduced the new `hwmon' class of drivers to the kernel ridding the need for i2c-ipmi and prompting a re-write of the driver, and modifications of the linux driver core and IPMI subsystem. As of August 2006 all the changes required have been mainlined (see below) and a working ipmisensors driver is available. Downloads Use the following table to determine which version of ipmi/bmcsensors to download:
<2.6.12 | bmcsensors-20050320 |
2.6.12 | bmcsensors-20050808 |
2.6.13-rc3 | bmcsensors-20050809 |
2.6.13 - 2.6.16 | need to patch kernel with ipmi sysfs support, and then apply ipmisensors patch. |
>=2.6.17 | ipmisensors or ipmisensors experimental for the latest experimental patch generated from my git repository |
If you encounter problems with a newer kernel than listed above, you may want to try the latest GIT version (GIT repository to be posted).
How to use ipmisensors (Kernel 2.6.17 and above) Make sure you have the kernel sources for your kernel installed, and install the latest version of lm-sensors lm_sensors utilities. Lastly download the latest ipmisensors patch. Extract the kernel source somewhere and configure it (making sure CONFIG_IPMI_HANDLER, and CONFIG_IPMI_SI are set. Assuming the source is at /usr/src/linux, patch it with the ipmisensors patch:
cd /usr/src/linux
patch -p1 < /tmp/ipmisensors-2006XXXX-XXXX.diff
make oldconfig
IPMI Hardware Monitoring Support (SENSORS_IPMI) [N/m/y/?] (NEW) m
Continue to compile and install the new kernel as usual. Once in the new kernel make sure the required ipmi modules are loaded/compiled in (ipmi_msghandler, ipmi_si), and finally load and ipmisensors drivers.
You should now be able to use lm-sensors sensors
utility to view the sensor readings, or your favourite lm-sensors compatible monitoring application (e.g. gkrellm). Please note that due to limitations with libsensors at the moment, sensors may not see more than 10 of each sensor type. To allow support for more, you must edit the maximum number of BMC sensors in lib/chips.c
. A revised libsensors is expected to fix these limitations in the future.
If you encounter any problems, first make sure you have all the relevant modules (ipmi_msghandler, ipmi_si, ipmisensors) loaded or compiled into your kernel, and make sure you are using the driver best suited for your kernel version. If the problem persists please e-mail me (and optionally CC the lm-sensors mailing list) and be sure to include both your kernel log (the ipmisensors messages, i.e. dmesg|grep 'ipmisensors:'
) along with any output from the sensors and sensors-detect utililities.
tar -xjvf bmcsensors-<version>.tar.bz2
make
make install
After compiling and installing the driver successfully (without warnings) make sure the required ipmi modules are loaded/compiled in (ipmi_msghandler, ipmi_si), and finally load the i2c_ipmi and bmcsensors drivers.
You should now be able to use the sensors-detect script to identify any bmc present, and continue to load the i2c-ipmi and bmcsensors modules, and then use the sensors
utility to view the sensor readings, or your favourite lm-sensors compatible monitoring application (e.g. gkrellm).
If you encounter any problems, first make sure you have all the relevant modules (ipmi_msghandler, ipmi_si, i2c_ipmi and bmcsensors) loaded or compiled into your kernel, and make sure you are using the driver best suited for your kernel version. If the problem persists please e-mail me (and optionally CC the lm-sensors mailing list) and be sure to include both your kernel log (the bmcsensors messages, i.e. dmesg|grep 'bmcsensors:'
) along with any output from the sensors and sensors-detect utililities.