SensorInstallHowto

Differences between revisions 5 and 6
Revision 5 as of 2005-12-27 00:19:21
Size: 5565
Editor: S0106000d88b9f3db
Comment: add Ksensors/xsensors display basics - still needs work!
Revision 6 as of 2006-03-13 21:38:48
Size: 5590
Editor: ip545164d2
Comment:
Deletions are marked like this. Additions are marked like this.
Line 83: Line 83:
/etc/modprobe.d/local and run update-modules: /etc/modprobe.d/local and run update-modules ([#* *]):
Line 119: Line 119:
I found that there was no "/etc/modprobe.d/local" and that "alias char-major-89 i2c-dev" was already listed in "/etc/modprobe.d/aliases". So, nothing to do here. [[Anchor(*)]] * I found that there was no "/etc/modprobe.d/local" and that "alias char-major-89 i2c-dev" was already listed in "/etc/modprobe.d/aliases". So, nothing to do here.

Ubuntu can monitor CPU and other system temperatures, fan speeds, and other system data, using an application called lm-sensors and another application to display lm-sensors's data on your desktop. Warning: IBM Thinkpad users should not install LM Sensors. Full story is available here.

sensor homepage http://secure.netroedge.com/~lm78/download.html

This Howto is from [http://www.ubuntuforums.org/showthread.php?t=2780 this Ubuntu Forums thread].

Install and Configure lm-sensors

Install lm-sensors using apt-get or the Synaptic GUI.

sudo apt-get install lm-sensors

Run the mkdev.sh script in the lm-sensors source. It is extacted below:

Copy the script file below to a text editor and save it to a file named mkdev.sh.

# Here you can set several defaults.
# The number of devices to create (max: 256)
NUMBER=32
# The owner and group of the devices
OUSER=root
OGROUP=root
# The mode of the devices
MODE=600

# This script doesn't need to be run if devfs is used
if [ -r /proc/mounts ] ; then
if grep -q "/dev devfs" /proc/mounts ; then
echo "You do not need to run this script as your system uses devfs."
exit;
fi
fi

i=0;

while [ $i -lt $NUMBER ] ; do
echo /dev/i2c-$i
mknod -m $MODE /dev/i2c-$i c 89 $i || exit
chown "$OUSER:$OGROUP" /dev/i2c-$i || exit
i=$[$i + 1]
done
#end of file

Make the file executable:

chmod 755 mkdev.sh

Run mkdev.sh from the current directory

sudo ./mkdev.sh

3. Now run sensors-detect and answer YES to all YES/no questions. I generally use the ISA bus rather than the SMBus bus, your choice to this question!. At the end of the detection phase, a list of modules that needs to be loaded will displayed. You will need to write these down or print the list for the next steps.

sudo sensors-detect

Below is an example of results from sensors-detect:

#************************************************* *****************************
To make the sensors modules behave correctly, add these lines to
/etc/modules:

#----cut here----
# I2C adapter drivers
i2c-viapro
i2c-isa
# I2C chip drivers
eeprom
it87
#----cut here----

Then, run /etc/init.d/module-init-tools

To make the sensors modules behave correctly, add these lines to /etc/modprobe.d/local and run update-modules ([#* *]):

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----
#**********************************

In this example, we add the modules in reverse order (order is critical!) in "/etc/modules".

#*************************************************************** 
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line. Comments begin with
# a "#", and everything on the line after them are ignored.

psmouse
mousedev
ide-cd
ide-disk
ide-generic
lp

#For lm-sensors, i2c modules
it87
i2c-viapro
i2c-isa

#end of file!
#*****************************************

Anchor(*) * I found that there was no "/etc/modprobe.d/local" and that "alias char-major-89 i2c-dev" was already listed in "/etc/modprobe.d/aliases". So, nothing to do here.

Now load the modules manually using modprobe and update the dependencies.

sudo modprobe i2c-sensor
sudo modprobe i2c-viapro
sudo modprobe i2c-isa
sudo modprobe it87

sudo depmod -a <may not be needed!>
sudo update-modules <may not be needed!>

Now test the sensor output using the lm-sensors utility "sensors".

sensors

************************************************** *****************
it87-isa-0290
Adapter: ISA adapter
VCore 1: +1.57 V (min = +1.42 V, max = +1.57 V) ALARM
VCore 2: +2.66 V (min = +2.40 V, max = +2.61 V) ALARM
+3.3V: +6.59 V (min = +3.14 V, max = +3.46 V) ALARM
+5V: +5.11 V (min = +4.76 V, max = +5.24 V)
+12V: +11.78 V (min = +11.39 V, max = +12.61 V)
-12V: -19.14 V (min = -12.63 V, max = -11.41 V) ALARM
-5V: +0.77 V (min = -5.26 V, max = -4.77 V) ALARM
Stdby: +5.00 V (min = +4.76 V, max = +5.24 V)
VBat: +3.12 V
fan1: 3668 RPM (min = 0 RPM, div = 
fan2: 0 RPM (min = 664 RPM, div =  ALARM
fan3: 0 RPM (min = 2657 RPM, div = 2) ALARM
M/B Temp: +39°C (low = +15°C, high = +40°C) sensor = thermistor
CPU Temp: +36°C (low = +15°C, high = +45°C) sensor = thermistor
Temp3: +96°C (low = +15°C, high = +45°C) sensor = diode
************************************************** ********************

Reboot Ubuntu and the sensors should now be detected during the boot process properly!

The sensor output may be tweaked by editing the "/etc/sensors.conf" file. It is possible to correct inaccurate scaling too. For details check "man sensors.conf".

Get Sensor Information Displayed on your Desktop

Search Synaptic for either "sensors" to bring up a list of sensor-related applications, including xsensors and ksensors.

Ksensors seems to work better for many people, and be easier to configure. Use Synaptic or apt-get to install ksensors. Start it from terminal with ksensors, and you should be able to choose which temperature, fan RPM, or other displays you want.

attachment:Screenshot-KSensors.png

To get Ksensors to start when your computer starts, go System menu --> Preferences --> Sessions, and in the last tab, Startup Programs, add ksensors. (or whichever sensors display program you choose to use).


CategoryCleanup CategoryDocumentation

SensorInstallHowto (last edited 2008-08-06 16:28:32 by localhost)