root/lm-sensors/branches/lm-sensors-2.10/doc/chips/bmcsensors

Revision 3007, 4.0 KB (checked in by khali, 7 years ago)

Backport the cleanups and corrections Rudolf Marek and I did when
porting the chips documentation to Linux 2.6.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Kernel driver `bmcsensors.o'
2==========================
3
4Status: Alpha
5
6Supported chips:
7  * IPMI BMC
8    Prefix: 'bmc'
9        Requires dummy adapter i2c-ipmi;
10        Driver will be registered as bmc-ipmi-0000.
11
12Author: M. Studebaker <mdsxyz123@yahoo.com>
13
14License: GPL
15
16
17Module Parameters
18-----------------
19
20None.
21
22
23Detection
24---------
25
26Registers only with i2c-ipmi.
27
28
29Description
30-----------
31
32Together with the i2c-ipmi module, this provides high-level
33access to sensors known by the BMC. For low-level access to
34IPMB (I2C/SMBus) busses behind the BMC, use the i2c-ipmb module
35and individual chip drivers.
36
37This module REQUIRES the IPMI kernel patch by Corey Minyard,
38v13 or higher, available at http://openipmi.sourceforge.net .
39Other IPMI drivers are not supported.
40
41See http://www.intel.com/design/servers/ipmi/ for
42IPMI standards information.
43
44You must configure the following features in your kernel
45(under Character Devices):
46        IPMI top-level message handler
47        IPMI KCS handler
48The IPMI device interface and IPMI watchdog handler are not required.
49
50You must modprobe i2c-ipmi separately, it will not
51load automatically when you modprobe bmcsensors.
52
53If the KCS handler (ipmi_kcs_drv) is configured as a module,
54you must also modprobe it separately, it will not load automatically
55when you modprobe i2c-ipmi or ipmi_msghandler (unless you set up
56/etc/modules.conf to load ipmi_kcs_drv when ipmi_msghandler is loaded).
57
58
59/proc entries
60-------------
61
62The BMC SDR's (Sensor Data Records) are scanned and
63the /proc table is built dynamically. Sensor types and quantities
64depend on what the BMC supports.
65
66        curr1-n         Currents. Max, min, and reading in amps.
67        fan1-n          Fan speeds. Min and reading in RPM.
68        in1-n           Voltages. Max, min, and reading in volts.
69        temp1-n         Temps. Max, hysteresis or min, and reading in degrees C.
70       
71Thresholds will appear as 0 if unsupported or unreadable, as indicated
72in the SDR.
73
74If the thresholds are not settable (as indicated in the SDR), the
75/proc permissions for that sensor will be 444.
76
77After the SDR's are scanned, the module will print
78the sensor names and bindings to syslog/dmesg.
79Cut these messages out and paste them to /etc/sensors.conf
80so that 'sensors' has correct labeling.
81
82
83Issues
84------
85The module will not register in /proc/sys/dev/sensors until
86the SDR's are scanned. This may take several seconds.
87
88The driver uses a very simple state machine. It only sends
89one message at a time and then waits for a response.
90This makes the driver relatively slow.
91If a response is an error or does not arrive, the driver
92will probably be stuck.
93
94/proc access kicks off an update but returns the old data,
95not the new; need to wait for update to finish and then return.
96
97Probably there are some locking issues.
98
99Every attempt is made to present the sensor data in /proc in a
100manner consistent with lm_sensors /proc standards, as defined
101in doc/developers/proc. Given the wide variation in possible SDR definitions,
102this may not generate expected or useful data.
103
104IPMI supports up to 4 max and 4 min thresholds (non-recoverable, critical,
105non-critical, and hysteresis) for each sensor. This driver
106tries to pick out the best one and exports it as the max and min
107to /proc.
108
109ins start at 1, other modules start at in0.
110
111Alarms and thresholds are not yet supported.
112
113Threshold-only sensors are not supported.
114
115Threshold setting is not yet supported.
116
1171's and 2's complement formats not yet supported.
118
119Non-linear conversions not supported, except for 1/x.
120
121Fan divs are not supported (or required) - should the driver
122export a fan_div entry (1 1 1 ...) for compatibility?
123
124Supports only sensor types 1-4 (temp, voltage, current, and fan).
125
126Libsensors can't handle dynamic /proc entries so the table
127in lib/chips.c must be static and contain the max number of
128each sensor. Bmcsensors can register more of a sensor type
129than libsensors supports in its static table.
130
131Only one BMC is supported - shouldn't be a problem.
132
133Alpha!
134
135
136
137
138**********************
139The lm_sensors project gratefully acknowledges the support of
140Hewlett Packard (Ft. Collins) in the development of this driver.
Note: See TracBrowser for help on using the browser.