Re: fan control

Éric Brunet
2003-05-06T09:21:20Z

On Fri, May 02, 2003 at 01:38:19PM +0200, Ducrot Bruno wrote:
> > >echo 0
> > >and echo 3 just by guessing).

About fan control, I would love to be able to stop my fan, but it doesn't
work. I can echo anything to /proc/acpi/fan/FAN/state, it has no bearing
on the fan, and the only result is a line in the log:
> acpi_bus-0199 [18] acpi_bus_set_power : Device is not power manageable
(kernel is 2.5.67)

I guess it is related to the fact that, according to
/proc/acpi/thermal_zone/THRM/trip_points:
> critical (S5): 100 C
> passive: 90 C: tc1=4 tc2=3 tsp=60 devices=0xdf7d1ea8
> active[0]: 80 C: devices=0xdf75d9a8
the fan is not supposed to shut down. Did I mention that the computer was
not a laptop ?

However, the computer is a shuttle xpc, temperature does not ever go over
35°C, and I have the feeling that if I dividez my 5 the CPU frequency,
the computer should be able to live without fan.

What makes me hopefull are the methods FON and FOFF in the dsdt:
> Method (FON, 0, NotSerialized)
> {
> SBYT (0x13, 0x46)
> SBYT (0x14, 0x57)
> Store (GBYT (0x54), Local0)
> SBYT (0x14, Local0)
> Store (GBYT (0x53), Local0)
> SBYT (0x13, Local0)
> }
>
> Method (FOFF, 0, NotSerialized)
> {
> Store (GBYT (0x14), Local0)
> SBYT (0x54, Local0)
> SBYT (0x14, 0xD0)
> Store (GBYT (0x13), Local0)
> SBYT (0x53, Local0)
> }

FOFF and FON (Fan Off and Fan On, I think) are called by SFAN (Set Fan.
SFAN(0) calls FOFF and SFAN(0xFF) calls FON). SFAN(0x00) appears
in \_PTS (is that Put To Sleep ?) and SFAN(0xFF) appears in \_WAK.

In short, the fan can be stopped in the software, but it is only done at
sleep time. Now it should be possible to translate the definition of FON
and FOFF in a series of writes to some ioports, I guess, but I have no
idea how to do that...

If you are interested, my dsdt is at http://perso.nerim.net/~tudia/download/dsdt

Éric Brunet