[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Smart Fan Control on Gigabyte K8-NSP: Fan always on full speed



On Thu, 10 Mar 2005 22:44:22 +0100, Hannes Mayer wrote:
> Hi all!
> 
> I've installed powernowd 0.90-3 and that's working great (CPU freq.
> from 1GHz to 2.4GHz on AMD64 3400+). Also installed lm-sensors
> 2.9.0-14.
> In the BIOS I've enabled "Smart Fan Control" and this worked until
> yesterday. The current CPU temp. is about 27C and before it stopped
> working, the CPU fan stopped at this temperature and resumed operation
> when the temperature reached a certain level.
[...]
> I guess lm-sensors might be the cause, but after reading docs on the
> lm-sensors site (i.e. it87 docs) I'm still clueless.

Apparently lm-sensors or the it87 driver itself changed the register
values in the IT8712F chip.
After reading the chip specs at
http://www.iteusa.com/product_info/file/pc/IT8712F_V0.8.2.pdf
I came up with a hack (disclaimer below):

#!/bin/sh

# http://www.iteusa.com/product_info/file/pc/IT8712F_V0.8.2.pdf

# save original values
isadump -y 0x295 0x296 > original_values

# FAN_CTL1 PWM Control Register (Index=15h, default=00h or 40h)
# 0xfd = automatic operation; use temp. sensor 2 (CPU temp)
isaset -y 0x295 0x296 0x15 0xfd

# FAN_CTL3-1 SmartGuardian Automatic Mode Temperature Limit of OFF
Registers (Index=70h, 68h, 60h, Default=7Fh)
# 0x1e = 30 = fan off temperature
isaset -y 0x295 0x296 0x60 0x1e

# FAN_CTL3-1 SmartGuardian Automatic Mode Temperature Limit of Fan
Start Registers (Index=71h, 69h, 61h, Default=7Fh)
# 0x23 = 35 = fan start temperature
isaset -y 0x295 0x296 0x61 0x23

# FAN_CTL3-1 SmartGuardian Automatic Mode Temperature Limit of Full
Speed Registers (Index=72h, 6Ah, 62h, Default=7Fh)
# 0x28 = 40 = full speed temperature
isaset -y 0x295 0x296 0x62 0x28

# FAN_CTL3-1 SmartGuardian Automatic Mode Start PWM Registers
(Index=73h, 6Bh, 63h, Default=00h)
# 3f = half speed
isaset -y 0x295 0x296 0x63 0x3f

# FAN_CTL3-1 SmartGuardian Automatic Mode Control Registers
(Index=74h, 6Ch, 64h, Default=00h)
# bit
# 7   temp. smoothing 0=disabled 1=enabled: 0
# 6   temp. limit of full-speed-off enables: 0=disabled 1=enabled: 1
# 5   fan spin-up feedback enables: 0=disabled 1=enabled: 0
# 4-3 fan spin-up time: 11 = 1second
# 2-0 slope PWM: 100
# = 5Ch
isaset -y 0x295 0x296 0x64 0x5c

# FAN_CTL3-1 SmartGuardian Automatic Mode  Temperature Limit of
Full-Speed-OFF Registers (Index=75h, 6Dh, 65h, Default=7Fh)
# 0x28 = 40 = full fan speed is continued until this temperature reached
isaset -y 0x295 0x296 0x65 0x28

# show changed values
isadump -y 0x295 0x296

DISCLAIMER:
!!!!USE THIS SCRIPT AT YOUR OWN RISK!!!!
IT'S ONLY FOR THE IT8712F CONTROLLER - IF THE CPU FAN DOESN'T COOL AT
ALL YOU RISK BURNING YOUR CPU!!!

It seems PWM doesn't work with my fan, since the fan spins up to full
speed @ 35C.
Currently the fan goes off for about 7.5 minutes when completely idle
and when 35C is reached it spins for about 2 minutes to cool the CPU
down to 30C again.

Opinions/comments very welcome!

Best regards,
Hannes.



Reply to: