Bug 13263 - /proc/acpi/button/lid/*/state always says "open"
Summary: /proc/acpi/button/lid/*/state always says "open"
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Sleep-Wake (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Zhang Rui
URL: https://bugs.launchpad.net/ubuntu/+bu...
Depends on:
Reported: 2009-05-07 07:23 UTC by Wes Garner
Modified: 2011-01-03 03:56 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.28-11.42
Regression: No
Bisected commit-id:

ACPI Dump (145.71 KB, application/octet-stream)
2009-05-07 07:34 UTC, Wes Garner
customized DSDT: more debug info (253.09 KB, application/octet-stream)
2009-05-07 07:52 UTC, Zhang Rui
dmesg after kernel compile (50.35 KB, text/plain)
2009-05-07 19:53 UTC, Wes Garner
dmesg with boot parameters (38.03 KB, text/plain)
2009-05-16 16:30 UTC, Wes Garner
customized DSDT: more debug info (253.76 KB, application/octet-stream)
2009-05-18 02:03 UTC, Zhang Rui
dmesg with boot parameters (31.91 KB, text/plain)
2009-05-19 00:02 UTC, Wes Garner

Description Wes Garner 2009-05-07 07:23:25 UTC
As shown at https://bugs.launchpad.net/ubuntu/+bug/89860
This bug has affected many kernel versions for a few years mainly on HP laptops
Comment 1 Zhang Rui 2009-05-07 07:30:02 UTC
please attach the acpidump output.
Comment 2 Wes Garner 2009-05-07 07:34:43 UTC
Created attachment 21254 [details]
Comment 3 Zhang Rui 2009-05-07 07:52:39 UTC
Created attachment 21256 [details]
customized DSDT: more debug info

1. apply this customized DSDT,
3. rebuild your kernel
4. reboot with acpi.debug_level=0x07
5. close and open the lid for several times, get lid state when both lid is open and closed
6. attach the dmesg output
Comment 4 Wes Garner 2009-05-07 14:15:38 UTC
Alright, I have the kernel rebuilt with the DSDT and setting
Where do I input acpi.debug_level=0x07 to boot as such
Comment 5 Wes Garner 2009-05-07 19:52:40 UTC
lid state log after doing procedure above:
while true; do cat /proc/acpi/button/lid/LID0/state; sleep 1; done
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
state:      open
Comment 6 Wes Garner 2009-05-07 19:53:10 UTC
Created attachment 21263 [details]
dmesg after kernel compile
Comment 7 Zhang Rui 2009-05-08 01:08:32 UTC
hah, you need to add this boot parameter acpi.debug_layer=0xffffffff as well.
sorry for the mistake, please re-do the test and attach the dmesg output.
Comment 8 Wes Garner 2009-05-16 16:30:04 UTC
Sorry for the time on this - attached is the dmesg (tried opening/closing a few times)
Comment 9 Wes Garner 2009-05-16 16:30:33 UTC
Created attachment 21376 [details]
dmesg with boot parameters
Comment 10 Zhang Rui 2009-05-18 02:03:27 UTC
Created attachment 21395 [details]
customized DSDT: more debug info

please use this DSDT instead and redo the test, thanks.
Comment 11 Wes Garner 2009-05-19 00:02:40 UTC
Created attachment 21417 [details]
dmesg with boot parameters

here is the newest dmesg output with the new DSDT
Comment 12 Zhang Rui 2009-05-21 08:06:14 UTC
sorry, but wrong dmesg file attached?
I can see nothing
Comment 13 Zhang Rui 2009-06-02 06:10:22 UTC
Please make sure to turn on/off the lid for several times before getting the dmesg output.
Comment 14 Zhang Rui 2009-06-02 06:11:42 UTC
and do remember to run "cat /proc/acpi/button/lid/LID0/state" after each action.
Comment 15 Zhang Rui 2009-06-17 02:46:00 UTC
close this bug as there is no response from the bug reporter.
please re-open it if the problem still exists in the latest git kernel and you can provide the info requested.
Comment 16 Juliano F. Ravasi 2010-12-28 19:29:36 UTC
Zhang Rui: I have the very same problem with an HP/Compaq nx6110, and I'm willing to provide the information needed to fix this bug. But I can't reopen the bug report, and I can't attach any files.

In my case, I can get the system to deliver exactly one button/lid event (and get its state changed in /proc/acpi/button/lid*/state) by doing the following commands:

    echo 1 > /proc/acpi/video/*/DOS
    echo 0 > /proc/acpi/video/*/DOS

That means, if I close the lid, nothing happens (neither the event nor the state change) until I issue the above two commands. If I open the lid, again, nothing happens until I issue the above two commands. This is on 2.6.35... for some reason 2.6.37 doesn't have /proc/acpi/video anymore, I have no idea why.

Please, tell me what I can do to provide you any information necessary to fix the problem.
Comment 17 Juliano F. Ravasi 2010-12-28 19:33:12 UTC
Also, note that the file in comment #11 contains a few hundreds of blank lines in the beginning before the actual dmesg output (some copy/paste mistake?). Perhaps this caused a misunderstanding that the file was blank in comment #12?
Comment 18 Zhang Rui 2010-12-29 01:17:28 UTC
As I'm not sure if you're using the same laptop. please open a new bug report for your laptop, with a detailed description about the problem you have, and the acpidump of your laptop.
Comment 19 Juliano F. Ravasi 2011-01-03 03:56:24 UTC
Zhang, reported as bug 25802. Thanks!

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