Bug 12476 - Laptop fan always on, regardless of CPU temperature
Summary: Laptop fan always on, regardless of CPU temperature
Status: REJECTED DOCUMENTED
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Fan (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: ykzhao
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-18 03:56 UTC by Ivo Bonev
Modified: 2009-02-11 19:06 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.27.7-134.fc10.i686
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
acpidump output (173.02 KB, application/octet-stream)
2009-01-19 11:22 UTC, Ivo Bonev
Details
/proc/acpi/thermal_zone/*/* output (799 bytes, text/plain)
2009-01-19 11:26 UTC, Ivo Bonev
Details
/proc/acpi/fan/*/* output (29 bytes, text/plain)
2009-01-19 11:27 UTC, Ivo Bonev
Details
The output of acpidump --addr 0x7FEE2DBC --length 0x0100 (256 bytes, application/octet-stream)
2009-01-20 11:21 UTC, Ivo Bonev
Details
dmesg Samsung X11 T7400 Fedora 10 (37.56 KB, text/plain)
2009-01-21 14:19 UTC, Aleksandar Kanchev
Details
lspci X11 T7400 Fedora 10 (29.21 KB, text/plain)
2009-01-21 14:20 UTC, Aleksandar Kanchev
Details
acpidump Samsung X11 T7400 Fedora 10 (154.30 KB, text/plain)
2009-01-21 14:21 UTC, Aleksandar Kanchev
Details
/proc/acpi/(thermal_zone | fan)/*/* Samsung X11 T7400 Fedora 10 (1.84 KB, text/plain)
2009-01-21 14:22 UTC, Aleksandar Kanchev
Details
dmesg Samsung X22 T7500 Fedora 10 (39.39 KB, text/plain)
2009-01-22 07:01 UTC, Ivo Bonev
Details

Description Ivo Bonev 2009-01-18 03:56:28 UTC
Latest working kernel version:
not really sure

Earliest failing kernel version:
N/A

Distribution:
Fedora 10

Hardware Environment:
Samsung X22
Intel(R) Core(TM)2 Duo CPU T7500  @ 2.20GHz

Software Environment:
kernel: 2.6.27.7-134.fc10.i686
acpid: acpid-1.0.6-9.fc10.i386
/proc/acpi/info: Version 20080609

Problem Description:
The laptop fan runs constantly even if the CPU temperature is low (36°). The fan seems to be controlled by the BIOS which runs it at a constant RPM all the time and not by the kernel. With Windows the fan is controlled depending on the use and temperature.
There is 1 entry in /proc/acpi/fan/ - FAN0 and its state is "off". However the laptop's fan is actually running.

Steps to reproduce: 
1. Boot Fedora 10

I think that this was working with fedora 8 and 2.6.26 kernels, but I am not 100% sure. I will be glad to provide any additional information that might be needed.
Comment 1 ykzhao 2009-01-18 17:57:41 UTC
Will you please attach the output of acpidump?
    Please attach the output of /proc/acpi/thermal/*/* and /proc/acpi/fan/*/*

Thanks.
Comment 2 Ivo Bonev 2009-01-19 11:22:17 UTC
Created attachment 19890 [details]
acpidump output
Comment 3 Ivo Bonev 2009-01-19 11:26:31 UTC
Created attachment 19891 [details]
/proc/acpi/thermal_zone/*/* output
Comment 4 Ivo Bonev 2009-01-19 11:27:45 UTC
Created attachment 19892 [details]
/proc/acpi/fan/*/* output

There is only FAN0 in /proc/acpi/fan/, and it has only "state"
Comment 5 ykzhao 2009-01-19 17:07:48 UTC
Will you please attach the following output?
   ./acpidump --addr 0x7FEE2DBC --length 0x0100 -o gnvs
   Thanks.
Comment 6 ykzhao 2009-01-19 17:28:33 UTC
Hi, Ivo
    Does there exists the option related with FAN in BIOS? 
    Thanks.
Comment 7 Ivo Bonev 2009-01-20 11:21:05 UTC
Created attachment 19910 [details]
The output of acpidump --addr 0x7FEE2DBC --length 0x0100
Comment 8 Ivo Bonev 2009-01-20 11:23:30 UTC
Hi,

thanks for your help! I have no option whatsoever about the fan in my BIOS. Not even info. My BIOS is Phoenix, version 07AJ.
Comment 9 ykzhao 2009-01-21 00:04:44 UTC
Hi, Ivo
    Thanks for the info.
    From the acpidump we know that the there exists the ACPI fan device and the FAN device is controlled by the following ACPI object:
    >Method (_ON, 0, Serialized)            {
         If (ECON) // ECON will be one after EC initialization
        {
              If (DTSE)
              {
                 \_SB.SECB (0x9C, 0x05)
              }
        }
        Store (One, VFN0)
   }

   If the DTSE is non-zero, the SECB object will be evaluated and the physical FAN device will be operated. But from the data in comment #7 it seems that the DTSE is zero. In such case the ACPI object related with ACPI FAN device is useless. So the FAN device can't be turned on/off by evaluating the ACPI objects.
  
   Based on the above analysis it seems that this is a BIOS bug. Will you please check whether it can be fixed by BIOS upgrading?
   Thanks.
Comment 10 Aleksandar Kanchev 2009-01-21 14:18:23 UTC
Hello,

I'm also having a similar problem but with a Samsung X11 (T7400 CPU). I'm also running Fedora 10 with the current latest kernel 2.6.27.9-159.fc10.i686.
The /proc/acpi/fan/FAN0/state states always 'off' but I can hear/see/feel the fan always being on. If the laptop is running on battery only, then the fan stops, but it goes on as soon as I plug in the power cable.

I've just updated my phoenix BIOS from 10XI to 22XI and it didn't help at all. I'm attaching dmesg, lspci, acpidump and proc outputs with the hope that you can help me somehow.

The fan btw works normally (it stops from time to time) under windows.
Comment 11 Aleksandar Kanchev 2009-01-21 14:19:23 UTC
Created attachment 19929 [details]
dmesg Samsung X11 T7400 Fedora 10
Comment 12 Aleksandar Kanchev 2009-01-21 14:20:34 UTC
Created attachment 19930 [details]
lspci X11 T7400 Fedora 10
Comment 13 Aleksandar Kanchev 2009-01-21 14:21:17 UTC
Created attachment 19931 [details]
acpidump Samsung X11 T7400 Fedora 10
Comment 14 Aleksandar Kanchev 2009-01-21 14:22:37 UTC
Created attachment 19932 [details]
/proc/acpi/(thermal_zone | fan)/*/* Samsung X11 T7400 Fedora 10
Comment 15 ykzhao 2009-01-21 19:32:05 UTC
Hi, Alekasandar
    Thanks for caring this issue.
    From the acpidump it seems that this is similar to that on the Ivo's laptop. And the ACPI fan device is also turned on/off by evaluating the ACPI _ON/_OFF object. If the DTSP is zero, there is nothing to do in the _ON/_OFF object. In such case the physical fan device can't be controlled by ACPI fan object.
    
    Do you mean that the FAN device can work well on windows? Xp or Vista?
    If it is XP, how about adding the following option?
    > acpi_osi="!Linux" acpi_osi="!Windows 2006"

    If it is vista, how about adding the following option?
    > acpi_osi="!Linux" acpi_osi="!Windows 2001" acpi_osi="!Windows 2001 SP1" acpi_osi="!Windows 2001 SP2"

    Thanks.
Comment 16 Ivo Bonev 2009-01-22 01:36:03 UTC
Hi,

I see that there is a BIOS update (version 13AJ) for my laptop and I will try it as soon as I can and I will post the results here. With my laptop the fan is also working well with Windows XP.

I tried these options:
    > acpi_osi="!Linux" acpi_osi="!Windows 2006"
but there is no change, the fan is still constantly on in fedora.
Comment 17 Ivo Bonev 2009-01-22 06:59:41 UTC
Hi again,

I updated my BIOS with the latest available and the problem remains - everything is the same. I tried the kernel options with the new BIOS too. I saw this:

    > ACPI: BIOS bug: multiple APIC/MADT found, using 0

in my dmesg output. I tried the kernel option to use "2" as proposed there but still no luck. I will attach the whole dmesg.
Thanks for your help!
Comment 18 Ivo Bonev 2009-01-22 07:01:21 UTC
Created attachment 19936 [details]
dmesg Samsung X22 T7500 Fedora 10
Comment 19 ykzhao 2009-02-03 00:08:35 UTC
Hi, Ivo && Aleksandar
    Thanks for the test.
    Now it is very clear that this issue is related with BIOS. As the DTSE is zero, the ACPI fan device has nothing to do. But it is very strange that this can work well under windows XP.(The DTSE is defined in the ACPI non-volatile memory region). Maybe on windows XP the physical FAN device is controlled by platform-specific driver instead of ACPI fan driver.
     As this bug is related with BIOS, it had better be fixed by BIOS upgrading. 
Comment 20 Aleksandar Kanchev 2009-02-03 14:33:04 UTC
I've researched this further. I ran some tests on the laptops of couple of friends. They were ofcourse all different: asus, ibm and dell.
  Since some of them were windows only, I've tried the speed fan program from Almico. It detected many sensors but it couldn't control any fans. To make sure that the program works correctly I've also tried it on a desktop PC and I was able to control the cpu fan. Btw windows can't control my cpu fan either. After careful observation and trying the speed fan program it was clear that the fan only stops if I plug out the power cable.
  I've also booted an Ubuntu live cd on some of the laptops. The only laptop which allowed fan control was the ibm one. As it turns out there is a special acpi driver called "thinkpad-acpi" for it. Sadly the driver isn't official but it was created by reverse engineering acpi.
  So after all this I came to the conclusion that probably all the BIOS manufacturers don't allow cpu fan control. It can be controlled only by the BIOS.
  I think that you can close this bug since it's not a linux issue (windows can't do anything about it either). Since you have our acpidumps it'll be nice if you could look at the thinkpad-acpi driver and tell us if it's possible to create a phoenix-acpi driver :)

Thanks for your attention!
Comment 21 ykzhao 2009-02-11 19:06:48 UTC
Hi, Alekandar
    thanks for the detailed explanation and your efforts.
    This bug will be rejected as it is not a linux issue.
    Thanks again.

Note You need to log in before you can comment on or make changes to this bug.