* On Mon, Feb 03, 2003 at 02:19:45PM -0500, karrottop (firstname.lastname@example.org) wrote:
> I am re-posting this because I was made aware I sent it as a reply to
> another post. Sorry about that, so without further adue here is my
> intended post now...
> I am having a great deal of trouble getting lm_sensors to work under
> debian. I am pretty sure that I am about 75% on the way to getting this
> started but none the less, if someone could give me a bit of a
> walk-through to getting things running I would appreciate it. My
> intention is mostly to monitor my hardware temp's etc, being that I am
> using a water cooled system, and I am a bit uneasy about not knowing the
> performance of my system, especially one that is overclocked. If it
> matters I am using sid, a soyo motherboard with a via chipset, and
> kernel 2.4.20 ( I have built in everything in the i2c portion of
> charcter devices )
> To UNSUBSCRIBE, email to email@example.com
> with a subject of "unsubscribe". Trouble? Contact firstname.lastname@example.org
Got hardware sensors working on a few motherboards here and even
took notes on how it was done. Perhaps these notes might be useful to you.
Notes on Installing sensor support in a Debian system.
0) For the following, it is assumed that a new
2.4.20 kernel was already compiled, installed and
working. It is also assumed that the kernel was compiled
using the debian kernel build system make-kpkg. The
kernel source should be in /usr/src/linux either directly
or by a symbolic link.
1) have a working 2.4 series kernel with module support
included. Make sure that i2o items are NOT compiled
in. Once this kernel is installed and working, the modules
are ready to be included. Make sure you are running
the kernel to which the modules are to be added. This
seems to be the easiest way to make the module version
numbers consistent with the kernel version number.
2) obtain the debian packages: i2c-source,lm-sensors,
lm-sensors-source, and sensord. Optionally also
get other monitors like sensor-sweep-applet,
wmsensors or xsensors. The package xsensors is
not in woody but getting the source and building
it locally using apt-get source works fine.
3) Become root and change to the /usr/src directory.
In this directory there will be tar files named
i2c.tar.gz and lm-sensors.tar.gz. When these
tar files are expanded they write themselves
into the /usr/src/modules directory. This
directory may already exist if other modules
have already been installed in this kernel.
4) Extract the files by "tar zxf i2c.tar.gz" and
"tar zxf lm-sensors.tar.gz"
5) cd /usr/src/linux and run the command
When the build has completed there will be
debian packages in /usr/src named
6) install these packages with the commands
dpkg -i i2c-2.4.19_2.6.5-3+lb.custom.1.1_i386.deb
dpkg -i lm-sensors-2.4.19_2.6.4-3+lb.custom.1.1_i386.deb
7) As root (as always) run the program sensors-detect.
This tool sweeps the smbus and determines the devices
that are on it. It then reports the chip types and
the relevant modules that need to be loaded to get the
hardware sensors system working. This program mostly
works but does not always work. See the last step for
suggestions if the modules were detected incorrectly.
8) Cut and paste the results from sensors-detect into
the relevant files as it requests. For one motherboard
as an example,
# I2C adapter drivers
# I2C chip drivers
have to be pasted into the file /etc/modules.
Then the command update-modules has to be run.
Then paste the lines
# I2C module options
alias char-major-89 i2c-dev
into the file /etc/modutils/local
Then run the command /etc/init.d/modutils
9) After these steps are completed, the required
modules will be loaded. This can be checked by
the output of the lsmod command. The output for
this example is
Module Size Used by Tainted: P
w83781d 19224 0 (unused)
i2c-proc 6416 0 [w83781d]
i2c-viapro 3860 0 (unused)
i2c-core 15052 0 [w83781d i2c-proc i2c-viapro]
10) Then reboot the system. If the module system
is working correctly then after boot the loaded
modules should be identical to the previous output
11) To verify that the kernel interface is correctly tied
to the hardware run the command "sensors"
Typical output in this example is
Adapter: SMBus Via Pro adapter at e800
Algorithm: Non-I2C SMBus adapter
VCore 1: +1.77 V (min = +1.74 V, max = +1.93 V) (beep)
VCore 2: +2.51 V (min = +1.74 V, max = +1.93 V) (beep)
+3.3V: +3.32 V (min = +3.13 V, max = +3.45 V) (beep)
+5V: +5.07 V (min = +4.72 V, max = +5.24 V) (beep)
+12V: +12.46 V (min = +10.79 V, max = +13.19 V)
-12V: -12.29 V (min = -13.21 V, max = -10.90 V)
-5V: -5.45 V (min = -5.26 V, max = -4.76 V)
V5SB: +0.13 V (min = +0.13 V, max = +0.13 V)
VBat: +0.08 V (min = +0.08 V, max = +0.08 V)
fan1: 0 RPM (min = 3000 RPM, div = 2) (beep)
fan2: 0 RPM (min = 187 RPM, div = 32) (beep)
fan3: 0 RPM (min = 3000 RPM, div = 2)
temp1: +32°C (limit = +60°C) sensor = thermistor (beep)
temp2: +33.5°C (limit = +60°C, hysteresis = +50°C) sensor = thermistor (beep)
temp3: +255.5°C (limit = +60°C, hysteresis = +50°C) sensor = 3904 transistor
vid: +1.850 V
Sound alarm disabled
It is pretty important to confirm these values by comparing
them to the readings that the BIOS reports. If the numbers
match all is well. If the numbers dont match then you have
problems. One possibility is that the sensors-detect
program detected the wrong kind of hardware. Confirm what the
detected hardware matches the motherboard type. If the hardware
is correct confirm that the correct hardware module type is
enabled in the file "/etc/sensors.conf". This file controls the
translation from hardware digital numbers to human readable
floating point numbers. This file is heavily documented and
modifying it should be self-explanatory.
12) At this point the hardware sensor system is operational
and higher level tools like xsensors can be run. If the
output is correct then the interface to /proc/sys/dev/sensors
is also working
13) The highest level routines like sensord, ksensors, wmsensors, or
sensor_sweep_applet can now be configured to run as desired.
14) One some (maybe many motherboards) the above is sufficient
to get things working. But I had a couple of motherboard
types that failed in different ways.
On one motherboard sensors-detect correctly detected
the hardware but on this motherboard (Asus P5A) the smbus is
known to be broken but the isa bus works and the hardware can
be accessed from there. Googling for "lm sensors Asus P5A"
led right to the lm sensors documentation which explained
that the problem is known and the workaround is to use the
isa bus. No explanation given as to how to do that. More
searching and tinkering led to the answer of putting the module
i2c-isa into the /etc/modules file. Then things started working.
On another motherboard, (Gigabyte 7ZMMH) sensors-detect reported
the wrong hardware. Here the solution was to determine the actual
hardware on the motherboard. I found the site
to be helpful here. Then googling for combinations of the motherboard
hardware chipset and lm sensors led to a page where someone
kindly listed the modules required for this to work. After making
this change everything started working