issue with IT87 on Asus

Luke Munholand Luke.Munholand at USherbrooke.ca
Fri Feb 18 04:30:48 CET 2005


Hi,

First off, I'd like to say thanks to you for writing such a great program. 
Works great on my i810 chipset on the other computer.  This computer is a
different story though....

I'm hoping for a couple hints that will help me get my darned fans to turn off
(turn slower)!  I have used the windows program "speedfan" which detects and
controls my fan1 (CPU) properly.  From Speed Fan:  ITE 8712F super IO.  ISA bus
$0290 linked ISA bus @ $0D00  ... IT8712F/IT8705F at $D00

I have an Asus A7N8x-VM/400 motherboard that lm_sensors "sensors-detect"
correctly detects has a IT8712F chip on the ISA bus.

link to motherboard:
http://www.asus.com/prog/spec.asp?m=A7N8X-VM/400&langs=01


SUMMARY OF PROBLEM
1. I patched 2.9.0.1 and compiled i2c for my 2.4.29 kernel (stock slackware
10.1)
2. I tried to compile lm_sensors-2.9.0 but got errors (even after doing ldconfig
-v) *weird*
3. I downloaded the most recent "daily" cvs snapshot which compiled and it
compiled and installed properly.
4. "sensors-detect" correctly identified the IT87 chip.
5.  lm_sensors2/prog/pwm/pwmconfig cant seem to stop the fan1?  it says:

------------------------------------------------------------
Warning!!! This program will stop your fans, one at a time,
for approximately 5 seconds each!!!
This may cause your processor temperature to rise!!!
If you do not want to do this hit control-C now!!!
Hit return to continue:

Testing pwm control it8712-isa-0d00/pwm1 ...
  it8712-isa-0d00/fan1 ... speed was 4166 now 4166
    no correlation

No correlations were detected.
There is either no fan connected to the output of it8712-isa-0d00/pwm1,
or the connected fan has no rpm-signal connected to one of
the tested fan sensors. (Note: not all motherboards have
the pwm outputs connected to the fan connectors,
check out the hardware database on http://www.almico.com/forumindex.php)
-----------------------------------------------------

ARRRGGG
so I find in /proc/sys/dev/sensors/it8712-isa-0d00#  The "control" files pwm1
and  echo 0> pwm1

Still no joy...the fan refuses to stop.


Any guesses?


"sensors" gives in part (after i monkeyed with the /etc/sensors.conf file ...the
CPU and Motherboard chipset temps seemed inverted.)
-----------------------------------------------------------
it8712-isa-0d00
Adapter: ISA adapter
VCore 1:   +1.63 V  (min =  +1.42 V, max =  +1.57 V)   ALARM
VCore 2:   +1.57 V  (min =  +2.40 V, max =  +2.61 V)   ALARM
+3.3V:     +6.62 V  (min =  +3.14 V, max =  +3.46 V)   ALARM
+5V:       +4.94 V  (min =  +4.74 V, max =  +5.24 V)
+12V:     +11.84 V  (min = +11.40 V, max = +12.60 V)
-12V:      -7.88 V  (min = -12.63 V, max = -11.41 V)   ALARM
-5V:       -7.32 V  (min =  -5.24 V, max =  -4.76 V)   ALARM
Stdby:     +5.06 V  (min =  +4.74 V, max =  +5.24 V)
VBat:      +4.08 V
fan1:     4166 RPM  (min =    0 RPM, div = 2)
fan2:        0 RPM  (min =    0 RPM, div = 128)
fan3:        0 RPM  (min =    0 RPM, div = 2)
CPU Temp:    +43°C  (low  =   +15°C, high =   +40°C)   sensor = diode
M/B Temp:    +37°C  (low  =   +15°C, high =   +45°C)   sensor = thermistor
Temp3:        -1°C  (low  =   +15°C, high =   +45°C)   sensor = disabled
vid:       +1.65 V

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


also you may want to know what modules are running (I also checked the kernel
config file and all i2c stuff is built as modules).


lsmod gives:
--------------------------------------------------------
Module                  Size  Used by    Not tainted
i2c-dev                 3424   0
i2c-isa                  784   0  (unused)
i2c-nforce2             3400   0
it87                   10164   1
eeprom                  3564   0
i2c-proc                6148   1  [it87 eeprom]
i2c-core               14852   0  [i2c-dev i2c-isa i2c-nforce2 it87 eeprom
i2c-proc]
snd-pcm-oss            36704   0  (unused)
snd-mixer-oss          12152   0  [snd-pcm-oss]
usb-ohci               19368   0  (unused)
ehci-hcd               17516   0  (unused)
usbcore                58860   1  [usb-ohci ehci-hcd]
forcedeth               9868   1
snd-intel8x0           18080   0
snd-ac97-codec         52472   0  [snd-intel8x0]
snd-pcm                54504   0  [snd-pcm-oss snd-intel8x0 snd-ac97-codec]
snd-timer              13412   0  [snd-pcm]
snd                    31268   0  [snd-pcm-oss snd-mixer-oss snd-intel8x0
snd-ac97-codec snd-pcm snd-timer]
soundcore               3396   4  [snd]
snd-page-alloc          4712   0  [snd-mixer-oss snd-intel8x0 snd-pcm snd-timer
snd]
ide-scsi                9392   0
agpgart                45092   0  (unused)
--------------------------------------------------------



At this point, all I can say is I'll try a 2.6 kernel?  Somehow I doubt that
will fix the problem though. I could try to fix it myself but have 0 experience
with hardware programming (though I am familiar with C )

Any words of wisdom or tips on how I can get the CPU fan to slow down in linux
..again it is possible because it does work with the Windoze prog Speed an.

Thanks a bunch!

Luke




PS The pertinant part of  /etc/sensors.conf follows:
------------------------------------------------------------
chip "it87-*" "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"

    # vid is not monitored by IT8705F
    # comment out if you have IT8712
   # ignore  vid

# Incubus Saturnus reports that the IT87 chip on Asus A7V8X-X seems
# to report the VCORE voltage approximately 0.05V higher than the board's
# BIOS does. Although it doesn't make much sense physically, uncommenting
# the next line should bring the readings in line with the BIOS' ones in
# this case.
# compute in0 -0.05+@ , @+0.05

# If 3.3V reads 2X too high (Soyo Dragon and Asus A7V8X-X, for example),
# comment out following line.
    compute in2   2*@ , @/2
#
    compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)
    compute in4 ((30/10) +1)*@  , @/((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 * @) - 27.36  ,  (@ + 27.36) / 7.67
    compute in6 (4.33 * @) - 13.64  ,  (@ + 13.64) / 4.33
#
# this much simpler version is reported to work for a
# Elite Group K7S5A board
#
#   compute in5 -(36/10)*@, -@/(36/10)
#   compute in6 -(56/10)*@, -@/(56/10)
#
    compute in7 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)

    set in0_min 1.5 * 0.95
    set in0_max 1.5 * 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

# 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; 0 = unused
#   set sensor1 3
#   set sensor2 3
#   set sensor3 3
# If a given sensor isn't used, you will probably want to ignore it
# (see ignore statement right below).

#    label temp1       "M/B Temp"
    set   temp1_over  40
    set   temp1_low   15
#    label temp2       "CPU Temp"
    set   temp2_over  45
    set   temp2_low   15
#   ignore temp3
    label temp3       "Temp3"
    set   temp3_over  45
    set   temp3_low   15

# 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*@), (@+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     (@+128)/3, (3*@-128)

# Fans
    set fan1_min 0
    set fan2_min 0
#   ignore fan3
    set fan3_min 0

# The following is for the Inside Technologies 786LCD which uses either a
# IT8705F or a SIS950 for monitoring with the SIS630.
# You will need to load the it87 module as follows to select the correct
# temperature sensor type.
# modprobe it87 temp_type=0x31
# The sensors-detect program reports lm78 and a sis5595 and lists the it87 as
# a misdetect.  Don't do the modprobe for the lm78 or sis5595 as suggested.
#
# delete or comment out above it87 section and uncomment the following.
#chip "it87-*"
#    label in0 "VCore 1"
#    label in1 "VCore 2"
#    label in2 "+3.3V"
#    label in3 "+5V"
#    label in4 "+12V"
#    label in5 "3.3 Stdby"
#    label in6 "-12V"
#    label in7 "Stdby"
#    label in8 "VBat"
    # in0 will depend on your processor VID value, set to voltage specified in
    # bios setup screen
#    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
    # +- 12V are very poor tolerance on this board. Verified with voltmeter
#    set in4_min 12 * 0.90
#    set in4_max 12 * 1.10
#    set in5_min 3.3 * 0.95
#    set in5_max 3.3 * 1.05
#    set in6_max -12 * 0.90
#    set in6_min -12 * 1.10
#    set in7_min 5 * 0.95
#    set in7_max 5 * 1.05
    # vid not monitored by IT8705F
#    ignore  vid

#    compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)
#    compute in4 ((30/10) +1)*@  , @/((30/10) +1)
#    compute in6 (1+232/56)*@ - 4.096*232/56, (@ + 4.096*232/56)/(1+232/56)
#    compute in7 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)
    # Temperature
#    label temp1       "CPU Temp"
#    ignore temp2
#    ignore temp3
    # Fans
#    set fan1_min 3000
#    ignore fan2
#    ignore fan3


chip "fscpos-*"
# Fujitsu-Siemens Poseidon chip

# Temperature








More information about the lm-sensors mailing list