IceWalkers.com - Linux Software downloads and news
Name : Password :
Linux SoftwareLinux RPMLinux HowtosLink UsAboutAdvertise

The Elite's K7s5a mainboard HOWTO

Search Howtos :Match :
Next Previous Contents

3. The mainboard's sensors

3.1 lm-sensors

Getting the drivers

Get the lm_sensors 2.6.2 or more recent: http://www.lm-sensors.nu/archive/lm_sensors-2.6.2.tar.gz You'll need kernel sources too in order to compile that one.

Installing them

tar -xzvf i2c-2.6.2.tar.gz

cd i2c-2.6.2

make && make install

Then there was a problem when making install for me, so if it doesn't work, just do the following:

cp kernel/i2c-core.o /lib/modules/`uname -r`/misc/i2c-core.o

cp kernel/i2c-proc.o /lib/modules/`uname -r`/misc/i2c-proc.o

Now let's copy the specific driver:

cp kernel/chips/it87.o /lib/modules/`uname -r`/misc/it87.o

ok now

cp prog/sensors/sensors /usr/bin/sensors

--------------------------------------------------------------------

Edit /etc/modules.conf and add to it the following lines:

alias char-major-89 i2c-dev
options it87 temp_type=0x31

now:

modprobe i2c-proc

modprobe it87

modprobe i2c-isa

sensors

should output you some data

When it works, you can write it to a file, that will be loaded automatically on boot. Under SuSE the file is: /etc/init.d/boot.local (used to be /sbin/init.d/) and you should just add: sensors -s Under mandrake, the install should have created that file: /etc/init.d/sensors, which you can edit freely, sensord being just a daemon to watch over temperature and fan speed, I assume no one will need something like that for her/his own machine.

Paolo reports that in order to start up sensord on boot, he put in /etc/sysconfig/sensors:

MODULE_0=i2c-proc
MODULE_1=it87
MODULE_2=i2c-isa

Now as root you should edit your /etc/sensors.conf search for that line: chip "it87-*" and below you should be able to modify everything to get the right data, here is a copy of what i have in there: (please note that temp1 is trash and only temp2 and temp3 should be kept)

--------------------------------------------------------------------

3.2 lm-sensors the Debian way

This time you'll be forced to compile the modules. install the source and programs:

apt-get install lm-sensors lm-sensors-source

 The upstream lm-sensors maintainers know of a problem using 
 lm-sensors with IBM ThinkPad computers, resulting in 
 firmware corruption.  If you are installing this package on 
 a ThinkPad, you should wait until the upstream maintainers 
 have solved this problem before building modules from it.
 For more information, see 
 /usr/share/doc/lm-sensors-source/README.thinkpad.
 IBM ThinkPad brokenness -- really install lm-sensors?
Answer yes to this question, you can't have an IBM thinkpad and the k7s5a in the same box as far as I know!

cd /usr/src

tar xzvf lm-sensors.tar.gz

cd modules/lm-sensors/

make && make install

Then you should have modutils take a few arguments, the best way is probably to use a new file, like: /etc/modutils/sensors with this content:

alias char-major-89 i2c-dev
options it87 temp_type=0x31
run

update-modules

modprobe i2c-isa it87

You can now type sensors to access to the informations (note that you should edit sensors.conf, otherwise you'll see strange and inaccurate things :] )

You can also put i2c-isa and it87 in /etc/modules (one by line!) to have them be automatically loaded on boot, I don't know yet, how/whether it is possible to use some automatic loading/removing process with /etc/modules.conf

3.3 Sensors.conf for the K7s5a

#David Thorarinsson explained me that all the 'set' lines should be after the compute ones,
#this is now fixed,
chip "it87-*"

# The values below have been tested on Asus CUSI, CUM motherboards.
# Voltage monitors as advised in the It8705 data sheet

    label in0 "VCore"
    label in1 "Vcc2.5V"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"
    label in5 "-12V"
    label in6 "-5V"
    label in7 "SB 5V"
    label in8 "V battery"

    # vid not monitored by IT8705F
    ignore  vid

# For this family of chips the negative voltage equation is different from
# the lm78.  The chip uses two external resistor for scaling but one is
# tied to a positive reference voltage.  See ITE8705/12 datasheet (SIS950
# data sheet is wrong)

# Vs = (1 + Rin/Rf) * Vin - (Rin/Rf) * Vref.
# Vref = 4.096 volts, Vin is voltage measured, Vs is actual voltage.

#    compute in2 (1 + 1)* at  ,        at /(1 + 1)
    compute in3 ((6.8/10)+1)* at  ,   at /((6.8/10)+1)
    compute in4 ((30/10) +1)* at   ,  at /((30/10) +1)

# The next two are negative voltages (-12 and -5).
# The following formulas must be used. Unfortunately the datasheet
# does not give recommendations for Rin, Rf, but we can back into
# them based on a nominal +2V input to the chip, together with a 4.096V Vref.

# Formula:
#    actual V = (Vmeasured * (1 + Rin/Rf)) - (Vref * (Rin/Rf))
#    For -12V input use Rin/Rf = 6.68
#    For -5V input use Rin/Rf = 3.33
# Then you can convert the forumula to a standard form like:

    compute in5 -(36/10)* at , - at /(36/10)
#(7.67 *  at ) - 27.36  ,  ( at  + 27.36) / 7.67
    compute in6 -(56/10)* at , - at /(56/10)
#(4.33 *  at ) - 13.64  ,  ( at  + 13.64) / 4.33
    compute in7 ((6.8/10)+1)* at  ,   at /((6.8/10)+1)

    set in0_min 1.7 * 0.95
    set in0_max 1.7 * 1.05
    set in1_min 2.4
    set in1_max 2.6
    set in2_min 3.3 * 0.95
    set in2_max 3.3 * 1.05
    set in3_min 5.0 * 0.95
    set in3_max 5.0 * 1.05
    set in4_min  12 * 0.95
    set in4_max  12 * 1.05
    set in5_min -12 * 0.95
    set in5_max -12 * 1.05
    set in6_min  -5 * 0.95
    set in6_max  -5 * 1.05
    set in7_min   5 * 0.95
    set in7_max   5 * 1.05

# Temperature

    label temp3       "Processor"
    set   temp3_over  40
    set   temp3_hyst  20
    label temp2       "Mainboard"
    set   temp2_over  45
    set   temp2_hyst  25
    ignore temp1

# Fans

    label fan1"Processor's Fan"
    set fan1_min 2000
    ignore fan3
    ignore fan2
#
#  If you have a system fan, comment 'ignore fan2'
#  and uncomment the following lines :
#  Thanks to gro.reirual at erreip
#
#    label fan2        "System Fan"
#    set   fan2_min    3000
#    set   fan2_div    4

3.4 Sensors on 2.6 kernels

Kernel 2.6.1 configuration:

   # Bus options (PCI, PCMCIA, EISA, MCA, ISA)
   CONFIG_ISA=y
   # I2C support
   CONFIG_I2C=m
   CONFIG_I2C_CHARDEV=m
   # I2C Hardware Bus support
   CONFIG_I2C_ISA=m
   # I2C Hardware Sensors Chip support
   CONFIG_I2C_SENSOR=m
   CONFIG_SENSORS_IT87=m

Setting up the modules

mount sysfs pseudo filesystem if you have not done it yet.

mount -t sysfs sysfs /sys

See Documentation/filesystems/sysfs.txt and Documentation/i2c/sysfs-interface in the kernel sources tree

modprobe it87

modprobe i2c-isa Sensors can be accessed in the sysfs pseudo file system. But if you want you can use the lm_sensors user tools...

The lm_sensors user tools

Install sensors user tools:

cd lm_sensors-2.8.3

copy this into a file named chips-it87.diff

NOTE: This patch is only required for old versions of lm_sensors, Paolo wrote:

"A reply from lm_sensors developers said that the next version of lm_sensors will fix this. It is already fixed in CVS."

--- lib/chips.c Sun Jan 25 00:13:49 2004
+++ ../lm_sensors-2.8.3.OK/lib/chips.c  Sat Jan 24 01:23:43 2004
 at  at  -3757,13 +3757,13  at  at 
                          R, IT87_SYSCTL_TEMP2, VALUE(3), 1 },
     { SENSORS_IT87_TEMP3, "temp3", NOMAP, NOMAP,
                          R, IT87_SYSCTL_TEMP3, VALUE(3), 1 },
-    { SENSORS_IT87_TEMP1_LOW, "temp1_hyst", SENSORS_IT87_TEMP1,
+    { SENSORS_IT87_TEMP1_LOW, "temp1_min", SENSORS_IT87_TEMP1,
                               SENSORS_IT87_TEMP1, RW,
                               IT87_SYSCTL_TEMP1, VALUE(2), 1 },
-    { SENSORS_IT87_TEMP2_LOW, "temp2_hyst", SENSORS_IT87_TEMP2,
+    { SENSORS_IT87_TEMP2_LOW, "temp2_min", SENSORS_IT87_TEMP2,
                               SENSORS_IT87_TEMP2, RW,
                               IT87_SYSCTL_TEMP2, VALUE(2), 1 },
-    { SENSORS_IT87_TEMP3_LOW, "temp3_hyst", SENSORS_IT87_TEMP3,
+    { SENSORS_IT87_TEMP3_LOW, "temp3_min", SENSORS_IT87_TEMP3,
                               SENSORS_IT87_TEMP3, RW,
                               IT87_SYSCTL_TEMP3, VALUE(2), 1 },
     { SENSORS_IT87_TEMP1_HIGH, "temp1_over", SENSORS_IT87_TEMP1,

apply the patch:

$ patch -p0<chips-it87.diff

$ make user

# make user_install

edit sensors.conf file it87 chip section (There is an example for more recent versions of lm_sensors in the following section)

3.5 Newer version of Sensors.conf

This version was sent by Paolo BERVA for lm_sensors 2.8.3.

chip "it87-*" "it8705-*" "it8712-*"

# The values below have been tested on Asus CUSI, CUM motherboards.

# Voltage monitors as advised in the It8705 data sheet

    label in0 "VCore 1"
    label in1 "VCore 2"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"
    label in5 "-12V"
    label in6 "-5V"
    label in7 "Stdby"
    label in8 "VBat"

    set in0_min 1.7 * 0.95
    set in0_max 1.7 * 1.05
    set in1_min 2.4
    set in1_max 2.6
    set in2_min 3.3 * 0.95
    set in2_max 3.3 * 1.05
    set in3_min 5.0 * 0.95
    set in3_max 5.0 * 1.05
    set in4_min 12 * 0.95
    set in4_max 12 * 1.05
    set in5_max -12 * 0.95
    set in5_min -12 * 1.05
    set in6_max -5 * 0.95
    set in6_min -5 * 1.05
    set in7_min 5 * 0.95
    set in7_max 5 * 1.05
    #the chip does not support in8 min/max

    # vid is not monitored by IT8705F
    # and is not supported by driver at this time
    ignore  vid

# If 3.3V reads 2X too high (Soyo Dragon and Asus A7V8X-X, for example),
# comment out following line.
#    compute in2   2* at  ,  at /2
#
    compute in3 ((6.8/10)+1)* at  ,   at /((6.8/10)+1)
    compute in4 ((30/10) +1)* at   ,  at /((30/10) +1)
# For this family of chips the negative voltage equation is different from
# the lm78.  The chip uses two external resistor for scaling but one is
# tied to a positive reference voltage.  See ITE8705/12 datasheet (SIS950
# data sheet is wrong)
# Vs = (1 + Rin/Rf) * Vin - (Rin/Rf) * Vref.
# Vref = 4.096 volts, Vin is voltage measured, Vs is actual voltage.

# The next two are negative voltages (-12 and -5).
# The following formulas must be used. Unfortunately the datasheet
# does not give recommendations for Rin, Rf, but we can back into
# them based on a nominal +2V input to the chip, together with a 4.096V Vref.
# Formula:
#    actual V = (Vmeasured * (1 + Rin/Rf)) - (Vref * (Rin/Rf))
#    For -12V input use Rin/Rf = 6.68
#    For -5V input use Rin/Rf = 3.33
# Then you can convert the forumula to a standard form like:
#    compute in5 (7.67 *  at ) - 27.36  ,  ( at  + 27.36) / 7.67
#    compute in6 (4.33 *  at ) - 13.64  ,  ( at  + 13.64) / 4.33
#
# this much simpler version is reported to work for a
# Eltite Group K7S5A board
#
   compute in5 -(34/10)* at , - at /(34/10)
   compute in6 -(51/10)* at , - at /(51/10)
#   compute in6 -(56/10)* at , - at /(56/10)
#
    compute in7 ((6.8/10)+1)* at  ,   at /((6.8/10)+1)

# Temperature
#
# Important - if your temperature readings are completely whacky
# you probably need to change the sensor type.
# Adujst and uncomment the appropriate lines below.
# The old method (modprobe it87 temp_type=0xXX) is no longer supported.
#
# 2 = thermistor; 3 = thermal diode
#   set sensor1 3
   set sensor2 2
   set sensor3 2

    ignore temp1
    label temp2       "M/B Temp"
    set   temp2_over  40
    set   temp2_min  20
    label temp3       "CPU Temp"
    set   temp3_over  45
    set   temp3_min  25

# The A7V8X-X has temperatures inverted, and needs a conversion for
# CPU temp. Thanks to Preben Randhol for the formula.
#   label temp1       "CPU Temp"
#   label temp2       "M/B Temp"
#   compute temp1     (-15.096+1.4893* at ), ( at +15.096)/1.4893

# The A7V600 also has temperatures inverted, and needs a different
# conversion for CPU temp. Thanks to Dariusz Jaszkowski for the formula.
#   label temp1       "CPU Temp"
#   label temp2       "M/B Temp"
#   compute temp1     ( at +128)/3, (3* at -128)

# Fans
    label fan1 "CPU/Fan"
    set fan1_div 2
    set fan1_min 2000
    label fan2 "Sys/Fan"
    set fan2_div 4
    set fan2_min 2000
    ignore fan3


Next Previous Contents
Search Howtos :Match :
Transmission 1.41 beta 2
Lightweight, yet powerful BitTorrent client
X-Moto 0.5.0
2D motocross platform game
Gdm 2.25.1
Reimplementation of the well known xdm program.
Linux Kernel 2.6 2.6.28-rc7
Linux Kernel
Linux Kernel 2.4 2.4.37
Linux Kernel
RIP 7.3
Small linux system for the purpose of system booting or repairing
GEdit 2.25.1
Small but powerful text editor
VLC media player 0.9.7
Cross-platform media player and streaming server
GNOME 2.25.2
GNOME desktop environment
WebGUI 7.6.5
A fully featured content management system.
Free IT Magazines, White Papers, eBooks, and more !
Dr. Dobb's Journal

Dr. Dobb's Journal enables programmers to write the most efficient and sophisticated programs and help in daily programming quandaries.

The 7 Things that IT Security Professionals MUST KNOW!

Gain key insight into security problem and find the safest means to protect your technological assets.

Database Trends and Applications

Provides timely coverage of the technology, intelligence and insight needed to plan, implement and manage information-rich projects.

Linux Software Map
Find Linux RPM
Best Rated Linux Software
Most Rated Linux Software
Linux Distributions
Linux Howtos
Quick Survey

Please take our survey and help us improve our website to serve you better.

Thank you.
Linux Software
Linux / IT Resources
Site Resources
Google
Privacy Policy
Contact Us
Submit Software
Advertising info