FS#26658 - [linux] 3.1 - 3.12.x breaks some ACPI events on Lenovo ThinkPad tablets
Attached to Project:
Arch Linux
Opened by Dan Fuhry (fuhry) - Friday, 28 October 2011, 07:07 GMT
Last edited by Gerardo Exequiel Pozzi (djgera) - Tuesday, 11 February 2014, 04:29 GMT
Opened by Dan Fuhry (fuhry) - Friday, 28 October 2011, 07:07 GMT
Last edited by Gerardo Exequiel Pozzi (djgera) - Tuesday, 11 February 2014, 04:29 GMT
|
Details
Description:
I'm currently running kernel version 3.1-2 from testing. I have noticed that certain ACPI events, most noticeably the one which fires when the tablet's lid is rotated down or up (hotkey 00005009 and 0000500a) are not showing up in acpi_listen. These events work properly when the kernel is downgraded to the latest 3.0.7 in core. Running acpid -lfddd shows some log activity when the lid is rotated down or up but no event is fired. The hardware in question is a Lenovo X220 Tablet running arch x86_64. If desired I will also test on my old tablet, an X41 running arch i686. linux version (nonworking): 3.1-2 linux version (working): 3.0.7-1 acpid version: 2.0.12-1 |
This task depends upon
Closed by Gerardo Exequiel Pozzi (djgera)
Tuesday, 11 February 2014, 04:29 GMT
Reason for closing: Upstream
Additional comments about closing: Nothing can be done here if not resolved since 2011 in upstream.
Tuesday, 11 February 2014, 04:29 GMT
Reason for closing: Upstream
Additional comments about closing: Nothing can be done here if not resolved since 2011 in upstream.
https://lkml.org/lkml/2011/11/24/66
What does PROCFS_ACPI do? Why was it disabled?
Also, could someone please increase the severity of this problem as this makes some ACPI events unusable, and maybe assign it to the kernel instead of ACPI since it seems to be the KERNEL that causes this problem (not some extra package)?
I'm missing my swivel up/down events.
running: 3.2.5-1-ARCH
[1] - https://bbs.archlinux.org/viewtopic.php?pid=1138585#p1138585
If you take a look at pull requests under <https://github.com/clockfort/lenovo-x230-tablet-utilities>, I've submitted code for a daemon that polls the platform-thinkpad_acpi-event uinput device for rotation events and executes a rotation script. The code is horrible in a few places (I wrote it for my own use with no regard for portability or terrible hacks) but it shouldn't be too hard to port into a reasonable system level daemon.
Also, acpid 2.0.17 adds support for these rotation events. Too bad the emission of those events in acpid's socket crashes Xorg <https://bugs.freedesktop.org/show_bug.cgi?id=55329>.
I have the problem described there, and it is hell annoying really...
There is something else though. My wifi radio switch *still* does not emit any kind of ACPI event. Is this different for anyone else with a Thinkpad?
@et al - Regarding tablet events, I'm running xorg-server 1.13.0-3, xf86-video-intel and xmonad, and can handle tablet events with no crashing, fwiw. I've seen a lot of strange xorg crashes based on my scripts that triggered on tablet events (scripts that used to prove rock solid). I've solved that through refactoring the scripts to be more robust in handling errors and trapping, and that's no suggestion that this is what other people are seeing at all, just a note.
rfkill remains a problem though. Polling for rfkill values sucks; I mean heck, the idea of ACPI is to be signal based so that you don't have to poll anything, right?
Kernel 3.8.4. Arch x86_64. ThinkPad X220i.