Bug 1643 - Fan status not working in D600 laptop
Summary: Fan status not working in D600 laptop
Status: REJECTED INVALID
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Fan (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Luming Yu
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-12-04 01:24 UTC by ow
Modified: 2004-03-03 21:57 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.4.23-cpufreq-patched
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
output of acpidmp (53.99 KB, text/plain)
2003-12-04 01:27 UTC, ow
Details
output of acpidmp DSDT | acpidiasm (124.38 KB, text/plain)
2003-12-04 01:28 UTC, ow
Details
output of acpidmp FACP | acpitbl (1009 bytes, text/plain)
2003-12-04 01:28 UTC, ow
Details
output of biosdecode (1.09 KB, text/plain)
2003-12-04 01:29 UTC, ow
Details
My kernel config file (26.12 KB, text/plain)
2003-12-04 01:30 UTC, ow
Details
output of dmesg (8.29 KB, text/plain)
2003-12-04 01:30 UTC, ow
Details
output of dmidecode (13.71 KB, text/plain)
2003-12-04 01:31 UTC, ow
Details
Zip of dsdt.aml/hex/dsl (37.24 KB, application/x-zip-compressed)
2003-12-04 01:32 UTC, ow
Details
output of iasl -tc (1011 bytes, text/plain)
2003-12-04 01:33 UTC, ow
Details
cat /proc/interuppts (610 bytes, text/plain)
2003-12-04 01:33 UTC, ow
Details
output of lspci -vv (8.25 KB, text/plain)
2003-12-04 01:34 UTC, ow
Details

Description ow 2003-12-04 01:24:38 UTC
Distribution: Redhat linux 9.0
Hardware Environment: Dell D600 Laptop
Software Environment: 
Problem Description: Cannot get fan status and cannot get the fan to turn off. 
Fan is On _all_ the time. Suspect this is giving me poor battery life. i8k 
utils will not work. i8kfan does nothing. insmod i8k force=1 can get /proc/i8k 
but nothing can change it. 

#ls -laR of /proc/acpi/fan 
Total 0


Steps to reproduce: 
Just cat /proc/acpi/fan


Attachment : I attached a whole lot of stuffs. My DSDT table in hex, dsl, aml, 
output of lspic -vv, dmidecode,biosdecode, acpidmp, config_file (all acpi 
related stuffs are compiled into kernel and not as module. This does not 
include the Toshiba/asus stuffs)
Comment 1 ow 2003-12-04 01:27:15 UTC
Created attachment 1617 [details]
output of acpidmp
Comment 2 ow 2003-12-04 01:28:09 UTC
Created attachment 1618 [details]
output of acpidmp DSDT | acpidiasm
Comment 3 ow 2003-12-04 01:28:56 UTC
Created attachment 1619 [details]
output of acpidmp FACP | acpitbl
Comment 4 ow 2003-12-04 01:29:28 UTC
Created attachment 1620 [details]
output of biosdecode
Comment 5 ow 2003-12-04 01:30:03 UTC
Created attachment 1621 [details]
My kernel config file
Comment 6 ow 2003-12-04 01:30:28 UTC
Created attachment 1622 [details]
output of dmesg
Comment 7 ow 2003-12-04 01:31:14 UTC
Created attachment 1623 [details]
output of dmidecode
Comment 8 ow 2003-12-04 01:32:24 UTC
Created attachment 1624 [details]
Zip of dsdt.aml/hex/dsl
Comment 9 ow 2003-12-04 01:33:00 UTC
Created attachment 1625 [details]
output of iasl -tc
Comment 10 ow 2003-12-04 01:33:31 UTC
Created attachment 1626 [details]
cat  /proc/interuppts
Comment 11 ow 2003-12-04 01:34:08 UTC
Created attachment 1627 [details]
output of lspci -vv
Comment 12 Luming Yu 2003-12-11 18:33:37 UTC
Does this laptop works well on Windows? 

From your DSDT, _STA method of BAT0 looks well.
Below statement will determine whether BAT0/BAT1 is present or not.

    And (MIS0, 0x02, Local0)

And below code could be the only chance to change above decision:
        Device (PCI0)
        {
         ....
            Method (_INI, 0, NotSerialized)
            {
                Store (SMI (0x98, 0x00), MIS0)
                And (MIS0, Or (0x01, Or (0x02, 0x10)), MIS0)
                ...
            }  
          ....
        }

Obviously, SMI(0x98,0x00) is the root.

    Method (SMI, 2, NotSerialized)
    {
        Acquire (SMIX, 0xFFFF)
        Store (Arg1, \_SB.SMIA)
        Store (Arg0, \_SB.SMIC)
        Store (\_SB.SMIC, Local0)
        While (LNot (LEqual (Local0, 0x00)))
        {
            Store (\_SB.SMIC, Local0)
        }

        Store (\_SB.SMIA, Local1)
        Release (SMIX)
        Return (Local1)
    }

Obviously, the writter of above code try to get the correct battery present 
status after the while loop. 

We need to verify \_SB.SMIA has the correct value, before we could determine 
whether this is Linux ACPI bug!


Comment 13 ow 2003-12-14 21:31:23 UTC
This laptop works Ok with Windows (XP Pro) The fan does not turn on all the 
time at all. In fact, the fan can be controlled via a third party util called 
i8kFanGui. It can be turned up (3000+ rpm), turned off (0rpm) and left as is.

I also noticed that in the cat /proc/acpi/thermal*/THM/cooling_mode  gives

<not supported>

I'm not sure if that's anything. Also read about turning acpi=off when loading 
to determine if ACPI is playing a role. Will try that..
Comment 14 ow 2003-12-21 17:13:53 UTC
Booting with ACPI=Off, fan will not be turned on until laptop
temperature is high and BIOS kicks in and turns on fan.

Tested with i8k modules, the i8kctl program is able to control
the fan with much success.

I'm pretty happy with that.
Comment 15 Luming Yu 2004-01-01 21:40:35 UTC
  The DSL file shows that your laptop don't have FAN devices and Active 
cooling mode support. So it's impossbile to let ACPI code to control your FAN.
So it is not linux ACPI kernel bug.  Maybe windows is using SMM BIOS code to 
support FAN rather than ACPI code too.

  Regarding cooling_mode gives <not supported>, it just give false information.
I have a patch filed at bug 1770

  So, I will close this bug.
Comment 16 Rafael J. Wysocki 2008-10-05 03:49:06 UTC
On Sunday, 5 of October 2008, Takashi Iwai wrote:
> At Sat,  4 Oct 2008 19:32:55 +0200 (CEST),
> Rafael J. Wysocki wrote:
> > 
> > Bug-Entry   : http://bugzilla.kernel.org/show_bug.cgi?id=11643
> > Subject             : ALSA sound/core/pcm_native.c:1947: BUG? (err &gt;= 0)
> > Submitter   : sangu <sangu.gnome@gmail.com>
> > Date                : 2008-09-24 16:51 (11 days old)
> 
> This is unlikely a 2.6.27 regression.
> It's a bug to be fixed, though.

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