Next Previous Contents

5. The mainboard's sensors

5.1 The IT8705F chipset

The K7S6A mainboard use the ITE IT8705F chipset. This chipset is supported by the it87 driver. The IT8705F chipset supports Hardware Monitor and Fan Speed Controller.

For more informations, see http://www.ite.com.tw/pc/brief_it8705f.htm.

For accessing the IT8705F chipset, we need to use the I2C protocol.

5.2 The I2C protocol and the SMBus

I2C is a protocol developed by Philips.

SMBus (System Management Bus) is a subset of the I2C protocol.

For more informations, see http://semiconductors.philips.com/buses/i2c/.

5.3 Installing the packages

For monitoring the voltage, the fan speed, the CPU and the mainboard temperature, you need the lm_sensors package.

Get the latest version from http://secure.netroedge.com/~lm78/.

As root, install the package :

[root@localhost /root]# rpm -ivh lm_sensors-2.6.x-xxx.rpm

5.4 Detecting the sensors driver

As root, run /usr/sbin/sensors-dectect and follow the instructions. This program will not detect the I2C/SMBus and will detect two drivers with the ISA bus :

Driver `sis5595' (should be inserted):
  Detects correctly:
  * ISA bus, undetermined address (Busdriver `i2c-isa')
    Chip `Silicon Integrated Systems SIS5595' (confidence: 9)

Driver `it87' (should be inserted):
  Detects correctly:
  * ISA bus address 0x0290 (Busdriver `i2c-isa')
    Chip `ITE IT8705F / IT8712F / SiS 950' (confidence: 8)

You should use the it87 driver. The sis5595 driver is not adapted to the K7S6A mainboard.

In newer versions of lm_sensors, the I2C/SMBus of the SIS745 chipset is accessible via the i2c-sis645 driver, but I didn't try it.

5.5 Configuring lm_sensors

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

alias char-major-89 ic2-dev
options it87 temp_type=0x38

temp_type=0x38 means that the chipset provides three thermal inputs from remote thermistors. This option is used to get the good temperature values.

Edit /etc/sysconfig/lm-sensors and change the following lines:

MODULE_1=i2c-dev
MODULE_2=i2c-isa
MODULE_3=i2c-proc
MODULE_4=it87

Now as root you should edit your /etc/sensors.conf file, search for that line : chip "it87-*" and below you should modify these lines :

chip "it87-*"

    label in0 "VCore"
    label in1 "Vcc +2.5V"
    label in2 "Vcc +3.3V"
    label in3 "Vcc +5.0V"
    label in4 "+12V"
    label in5 "-12V"

    ignore in6

    label in7 "StBy 5.0V"

    ignore in8

    # vid is not monitored by IT8705F
    ignore  vid

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

    compute in2 (1)*@ , @/(1)
    compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)
    compute in4 ((30/10) +1)*@  , @/((30/10) +1)
    compute in5 -(36/10)*@, -@/(36/10)
    #compute in6 -(56/10)*@, -@/(56/10)
    compute in7 ((6.8/10)+1)*@, @/((6.8/10)+1)

# Temperature

    label temp1       "MB temp"
    set   temp1_over  75
    set   temp1_hyst  20
    label temp2       "CPU temp"
    set   temp2_over  75
    set   temp2_hyst  25

    ignore temp3

# Fans

    label fan1 "CPU Fan"
    set fan1_min 2000
    set fan1_div 8

    ignore fan2
    ignore fan3

5.6 Testing the sensors

As root, load the modules :

[root@localhost /root]# insmod i2c-core
[root@localhost /root]# insmod i2c-dev
[root@localhost /root]# insmod i2c-proc
[root@localhost /root]# insmod i2c-isa
[root@localhost /root]# insmod it87

Verify that the modules are well loaded :

[root@localhost /root]# lsmod
Module                  Size  Used by    Not tainted
...
it87                    6852   0  (unused)
i2c-proc                7088   0  [it87]
i2c-isa                 1224   0  (unused)
i2c-dev                 4420   0  (unused)
i2c-core               15332   0  [it87 i2c-proc i2c-isa i2c-dev]
...

And initialize the sensors :

[root@localhost /root]# sensors -s

Test if you get the sensors monitoring :

[ced@localhost /home/ced]# sensors
it87-isa-0290
Adapter: ISA adapter
Algorithm: ISA algorithm
VCore:     +1.79 V  (min =  +1.66 V, max =  +1.82 V)
Vcc +2.5V: +2.65 V  (min =  +2.40 V, max =  +2.68 V)
Vcc +3.3V: +3.21 V  (min =  +3.05 V, max =  +3.53 V)
Vcc +5.0V: +4.84 V  (min =  +4.64 V, max =  +5.34 V)
+12V:     +12.32 V  (min = +10.80 V, max = +13.16 V)
-12V:     -12.10 V  (min = -13.18 V, max = -10.80 V)   ALARM
StBy 5.0V: +4.70 V  (min =  +4.72 V, max =  +5.24 V)   ALARM
CPU Fan:  5273 RPM  (min =  664 RPM, div = 8)
MB temp:     +43°C  (min =  +20°C, max =  +75°C)
CPU temp:    +58°C  (min =  +25°C, max =  +75°C)

If everything goes well, run /etc/rc.d/init.d/sensors start at boot-time. This script will automatically load the modules and launch the sensors daemon.


Next Previous Contents