Note: You are viewing an old revision of this page. View the current version.

I just had to configure lm_sensors under linux on the SuperMicro model 6010H 1U server (motherboard modem 370DER). I found to my surprise that no one has ever published the lm_sensors configuration for this system. So, here you go.

First of all, I asked SuperMicro for some info, and this was their response:

Number of LM87:2
SMBus slave address of 1st LM87(U118): 5Ch(8bit), 2Eh(7bit)
SMBus slave address of 2nd LM87(U119): 5Ah(8bit), 2Dh(7bit)
SMBus master controller IO port:0x580. (Please reference attachment rcc2.pdf in detai
Monitored healthy property:  (Please reference attachment LM87.pdf in detail)
    Item                register                LM87
1)+12V          24h             1
2)+5v           23h             1
3)3Vsb          22h             1
4)CPU1core      21h             1
5)Power Status  23h             2(Only for 370DE6/P3TDE6)
6)CPU2core      21h             2

    Item                register                LM87
CPU1            28h             1(Note-1)
CPU2            29h             1
MB chassis1     28h             2
MB chassis2     29h             2

If JP65 is closed, CPU1 and CPU2 are CPU1 FAN and CPU2 FAN on motherboard.
if JP65 is open, CPU1 and CPU2 are CPU1 CHASSIS FAN and CPU2 CHASSIS FAN on motherboa

    Item                register                LM87
LM87 1          27h             1
CPU 1           26h             1
LM87 2          27h             2
CPU 2           26h             2

For all temperature reading, it is a signed char. For
instance, 0x56 = 86*C. No converter is needed.

For Fan speed, you need read register 0x47 and
extract the divisors for Fan1 and Fan2.
The algorithm is

    RPM = 1350000 / Count / Divisor

Where Count is the reading from register.

For Voltage, you need to refer to the table in section 4.0 ANALOG INPUTS
in LM87 document.  For example, if the reading value from register 0x24
0xB8.  Then you may convert this voltage
 0xB8 * 62.5mv = 184 * 62.5mv = 11.5v

which gives some general guidance, but doesn't answer the question of what your /etc/sensors.conf should look like or what modules you need to load.

Here's the corresponding /etc/sensors.conf:

# 2e is the first lm87 chip
chip "lm87-i2c-*-2e"

     # The only fan is the one big cpu fan, so ignore all others.
     label fan1 "CPU1 Fan"
     label fan2 "Chs1 Fan"
     ignore fan1
     ignore fan2
     label temp1 "Chs1 Temp"
     label CPU_Temp "CPU1 Temp"
     # Adding 10 degrees to the cpu temp is a guess based on
     # observing bios vs. lm_sensors temps.
     compute CPU_Temp [email protected],@+10

# 2d is the second lm87 chip
chip "lm87-i2c-*-2d"

     ignore "2.5V"
     ignore Vccp2
     label fan1 "CPU2 Fan"
     label fan2 "Chs2 Fan"
     ignore fan2
     label temp1 "Chs2 Temp"
     label CPU_Temp "CPU2 Temp"
     # This is the second CPU temp.  Ignoring because it reports 128C,
     # maybe because cpu is missing?
     ignore CPU_Temp

And here's the list of modules you need to load (lm_sensors 2.8.7, earlier verisons might be different):

  • i2c-piix4
  • lm87
  • eeprom

and finally you need this in /etc/modules.conf:

# alias char-major-89 i2c-dev

Our Founder
ToolboxClick to hide/show
RecentChanges Click to hide/show