SME Pages wellsi.com


lm_sensors for SME

23rd July 2004 Ian Wells

Thanks to Reinhold and wififun

What is lm_sensors

Most modern mainboards have sensors to monitor temperature, fan speed, and other items. The sensor information can normally be seen from the BIOS. This guide for the SME Server 6.x shows how to install lm_sensors which can read the sensor information for you.

Additionally you can install Shad L. Lords' System Monitor for graphs of the data.

Documentation

lm_sensors Homepage: http://secure.netroedge.com/~lm78/

Quickstart Documentation: http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/QUICKSTART

Discussion on contribs.org BB: http://contribs.org/modules/pbboard/viewtopic.php?p=87198

Warning:
Running the sensor-detect script can crash your machine, read documentation for further details.
On my machine there was no problem - but be aware of this possibility.

Installation

Three installation methods are described in these pages

This is the description of the classic Redhat 7.3 RPM install, but I recommend trying the latest RPM as this one is now quite old.

Download the RPM: http://fr2.rpmfind.net//linux/RPM/redhat/7.3/i386/lm_sensors-2.6.1-1.i386.html

  1. Install the RPM
# rpm -Uvh lm_sensors-2.6.1-1.i386.rpm
  1. Detect the sensors on your mainboard, (run as root)
# /usr/sbin/sensors-detect

For my mainboard, I just hit enter for all questions, which then uses the defaults which can be seen as CAPs.

  1. Note down the lines it suggests to put into /etc/modules.conf, for my mainboard it indicated
#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----
  1. Note down the modprobe lines it suggests, for my mainboard it indicated
#----cut here----
# I2C adapter drivers
modprobe i2c-viapro
modprobe i2c-isa
# I2C chip drivers
modprobe eeprom
modprobe via686a
#----cut here----

Note: Having too many modules here can cause problems (notably ASUS motherboards), in this case for details of how to identify which modules are required look at http://www2.lm-sensors.nu/~lm78/identify.html . If all appears to work well then don't worry about this.

  1. Modify /etc/modules.conf via a template fragment
# mkdir -p /etc/e-smith/templates-custom/etc/modules.conf
# pico /etc/e-smith/templates-custom/etc/modules.conf/10i2c
{
    foreach my $line
        (
            "alias char-major-89 i2c-dev",
        )
    {
        unless (exists $lines{$line})
        {
            push @lines, $line;
        }
    }
    "";
}
# /sbin/e-smith/expand-template  /etc/modules.conf
  1. Create the Initialization file.

Create a file /etc/e-smith/events/local/start_lmsensors, with permissions 744 root root
This will load the required modules and initialise the sensors whenever your server boots up.
This is based on the information from step 4

#!/bin/sh

# Boot-up initialisation lm_sensors

# I2C adapter drivers
/sbin/modprobe i2c-viapro
/sbin/modprobe i2c-isa

# I2C chip drivers
/sbin/modprobe eeprom
/sbin/modprobe via686a

/usr/bin/sensors -s
  1. Initialise the sensors.

At this point you can initialise the sensors manually, rather than rebooting.

# /etc/e-smith/events/local/start_lmsensors

Sensor Information

To see the information from all sensors

# sensors

You can see the output of just one sensor by giving the name

# sensors via686a-isa-6000

An example of the sensor information is below

via686a-isa-6000
Adapter: ISA adapter
Algorithm: ISA algorithm
CPU core:  +2.35 V  (min =  +1.98 V, max =  +2.49 V)
+2.5V:     +0.00 V  (min =  +3.03 V, max =  +3.03 V)   ALARM
I/O:       +3.30 V  (min =  +4.02 V, max =  +4.05 V)   ALARM
+5V:       +4.89 V  (min =  +6.25 V, max =  +6.30 V)   ALARM
+12V:     +11.68 V  (min = +15.28 V, max = +13.18 V)   ALARM
CPU Fan:     0 RPM  (min = 3000 RPM, div = 2)
P/S Fan:     0 RPM  (min = 3000 RPM, div = 2)
SYS Temp:  +31.2°C  (limit =  +45°C, hysteresis =  +40°C)
CPU Temp:  +31.5°C  (limit =  +60°C, hysteresis =  +55°C)
SBr Temp:  +25.1°C  (limit =  +65°C, hysteresis =  +60°C)

Viewing the sensor information

Normally you would use Shad L. Lords' System Monitor for graphs of the data.

However before this was available I wrote a Server Manager Panel and a CGI script to see the data. This page gives details of these in case anyone finds them useful.

Further Information

The configuration file for the sensors is /etc/sensors.conf, this file is well commented. Using this file you can ignore certain sensor readings, and change the min/max limits etc.

If you have a Via Epia then you may want to check SToP: EPIA lm_sensors as this describes extra steps for that motherboard.