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

This describes my experiances with lmsensors, in particular installing it under Debian Woody, on a Gigabyte 7VTXH

LM Sensors is a package that lets you get access to your motherboard's voltage, temperature and fan speed monitoring. Almost all motherboards since the P-II era have had this built on.

LM Sensors are very dependent on your:

  • kernel
  • motherboard (both chipset and manafacturer)
  • distro

This will require you to do nasty things to your machine, such as compile kernels, and possibly require you to get out a screwdriver to open up your machine to look at chips on the motherboard ! Not for the faint hearted !

I'm going to go over how I got it going on my motherboard, my kernel, and with Debian Woody. Add your experiances if they are different.

There are a number of steps to go through to get it going.

  1. Get your kernel compiled with i2c enabled

    • Config->Character Devices->I2C support
    • Enable everything as modules
    • build and install the kernel
  2. Install the debian packages for lm-sensors

    • apt-get install lm-sensors lm-sensors-kernel
  3. Build the kernel modules for the sensors and i2c busses

    • This is the tricky one. The debian system works well if you install your kernel through the kernel-package system. - I don't. Maybe I should, I can't be bothered. However this step is made hard because of it.
    • Debian places a file called lm-sensors.tar.gz in /usr/src
    • Read /usr/share/doc/lm-sensors-kernel if you use kernel-package

      • If you don't, extract the file lm-sensors.tar.gz in /usr/src
      • cd to /usr/src/modules/lm-sensors
      • type make all-kernel{,-chips,-busses}
      • type make install-kernel{,-chips,-busses}
  4. Figure out what sensors you have, load the correct modules.

    • Most people should be able to just run the program sensors-detect and follow instructions
    • If at the end of the process you try to run the sensors program and it tells you there are no sensors found, you may have to investigate what type of sensors you have.
    • For my Gigabyte board, I had to Google for answers, it turns out that sensors-detect found a LM78 chip on my board. That is completly wrong it has a IT8705 chip. If you are completly stuck, grap your mobo manual, see if it tells you the type of sensor chip on the board, and find the correct module. If not, open up your case, look for a medium sized chip, probably around .5 - 1 inch square. Read the chip ID number off of it, chuck it into google. If it comes back telling you that it's a voltage sensor, bingo ! If not, try another chip ! The final list of modules I had to use to make it work were:

      • i2c-viapro
      • i2c-isa
      • it87
  5. Configure /etc/sensors.conf to work out correct values and set error margins

    • This again will be dependant on you motherboard, if you run sensors and all of the values look sane, congratulations you are finished !
    • If not, edit /etc/sensors.conf
    • Look for a line that starts chip "<my sensor chip>-" eg, for my machine I looked for chip "it87-"

      • Disable any unconnected sensors, I had to disable in1, in5, in6 and in8, as the motherboard doesn't use them
      • Set the Vcore voltage to what your CPU uses, for my Duron 900, Vcore = 1.6v
      • read through the rest of the section and make sure it all makes sense.
  6. AFTER YOU EDIT /etc/sensors.conf AND EVERY TIME YOU BOOT, RUN sensors -s

    • This sets up the set fields, without it, you max, min and alarm values will not be set in the driver.

      • You must do this as root, it has to write to the kernel space driver.
  7. Set up Cacti to make pretty graphs of your CPU, motherboard temps, your voltages and fan speeds !