Bug 5289

Summary: no fan control - Fujitsu-Siemens AMILO L1310G
Product: ACPI Reporter: peryklez
Component: Power-FanAssignee: Konstantin Karasyov (konstantin.karasyov)
Status: CLOSED DUPLICATE    
Severity: normal CC: acpi-bugzilla, martin
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.13.2 Subsystem:
Regression: --- Bisected commit-id:
Attachments: acpidump
dmesg output
dmidecode output
/proc/interrupts
lspci -vv
DSDT patch
DSDT patch w/debug prints

Description peryklez 2005-09-21 07:49:42 UTC
Most recent kernel where this bug did not occur:
Distribution: Fedora Core 4
Hardware Environment: Fujitsu-Siemens AMILO L1310G
Software Environment:
Problem Description:The problem is that fan either works non-stop or doesn't
work at all...

And even when the fan is not working both /proc/acpi/fan/FAN0/state and
/proc/acpi/fan/FAN1/state read "status: on".

However, /proc/acpi/thermal_zone/THRM/state is changing correctly according to
temperature changes and current setting in trip_points... but it has nothing to
do with the fan.


Steps to reproduce:
Comment 1 peryklez 2005-09-21 07:52:37 UTC
Created attachment 6073 [details]
acpidump
Comment 2 peryklez 2005-09-21 07:53:23 UTC
Created attachment 6074 [details]
dmesg output
Comment 3 peryklez 2005-09-21 07:53:55 UTC
Created attachment 6075 [details]
dmidecode output
Comment 4 peryklez 2005-09-21 07:54:30 UTC
Created attachment 6076 [details]
/proc/interrupts
Comment 5 peryklez 2005-09-21 07:55:03 UTC
Created attachment 6077 [details]
lspci -vv
Comment 6 Len Brown 2005-09-21 18:34:48 UTC
Is is true that this has always been true for all tested versions of Linux,
or did this used to work and has stopped working?

It is possible that this box doesn't have ACPI fan control.
assinging to Konstantin to check.
Comment 7 peryklez 2005-09-22 02:30:24 UTC
I have tested 2.6.11 (FC4), 2.6.12 (FC4), 2.6.13 (vanilla) and 2.6.13-2
(vanilla) - the same results.

Sometimes, however, echo'ing 0 or 3 to /proc/acpi/fan/FAN1/state can start/stop
the fan, but this file always says "status: on".

MS Windows' Device Manager states that hardware has acpi fan control (D0 and D3).
Comment 8 Konstantin Karasyov 2005-12-07 09:06:09 UTC
Created attachment 6780 [details]
DSDT patch

Here is the DSDT patch, which should fix your problem.
The instructions for DSDT fixing are available from here:
http://forums.gentoo.org/viewtopic.php?t=122145

The issue is that ACPI first tries to read device power state from _PSC method,
if this is unsuccessful, it evaluates device state from the power resources,
defined for this device. In your DSDT the _PSC is defined with 0x00 value, and
never being updated later, so the device state is always reported ON.
With this patch the things should work as expected.
Comment 9 peryklez 2005-12-13 07:25:37 UTC
[root@localhost ~]# cat /proc/acpi/fan/FAN?/state
status:                  off
status:                  off
[root@localhost ~]# cat /proc/acpi/thermal_zone/THRM/*
cooling mode:	active
polling frequency:       1 seconds
state:                   ok
temperature:             46 C
critical (S5):           100 C
passive:                 90 C: tc1=3 tc2=1 tsp=80 devices=0xdbd6fe68 
active[0]:               90 C: devices=0xdbd67828 
active[1]:               55 C: devices=0xdbd67728 


... and the fan keeps spinning:(
Comment 10 Konstantin Karasyov 2005-12-14 08:50:14 UTC
Were you able to start/stop the fan echo'ing 0 or 3 
to /proc/acpi/fan/FAN1/state? If so, do the FAN?/state files change 
accordingly? 
 
Comment 11 peryklez 2005-12-14 15:21:50 UTC
Ok, echo'ing 3 or 0 to FAN?/state changes those files correctly, but sometimes
(i can't figure out what is the cause) fan doesn't physically change its state...
Comment 12 Konstantin Karasyov 2006-03-15 00:49:10 UTC
Created attachment 7576 [details]
DSDT patch w/debug prints

Here is the above patch with debugging prints inserted on _ON/_OFF methods
execution. This should show the fan state (as evaluated by _STA method) after
_ON/_OFF method invocation.

The debug for ACPI should be enabled, you should see the strings like
"------------ PFN0._OFF 0" in dmesg output.

It's interesting to see what happens on trip point crossing, on echo'ing 0/3 to
fan/*/state file, etc...
Comment 13 Fu Michael 2007-11-06 05:52:09 UTC
a clear dup of bug# 8049...

*** This bug has been marked as a duplicate of bug 8049 ***