Bug 5035
Summary: | ibm_acpi hotkeys for ThinkPad 600X | ||
---|---|---|---|
Product: | Drivers | Reporter: | Jochen Hein (jochen) |
Component: | Platform | Assignee: | Borislav Deianov (borislav) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | acpi-bugzilla, bunk, sanjoy |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.13-rc6 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
enable specific hotkey driver as default
ibm-acpi-0.12 (replaces drivers/acpi/ibm_acpi.c) dmesgs from loading ibm_acpi and trying Fn-Fx keys |
Description
Jochen Hein
2005-08-09 08:53:58 UTC
I have the same problem (TP 600X) with 2.6.13-rc6. Earlier 2.6.13-rc kernels I compiled with the generic hotkey driver as a module (same problem), so for this one I didn't include the generic hotkey driver. Either way I get this error: # modprobe ibm_acpi FATAL: Error inserting ibm_acpi (/lib/modules/2.6.13-rc6/kernel/drivers/acpi/ibm_acpi.ko): No such device The ibm_acpi module used to work for me (kernel 2.6.11.4), but that may have been because I had used the most recent version (at the time) from the project's website. Or maybe something happened in the kernel code. Created attachment 5613 [details]
enable specific hotkey driver as default
The patch improves matters for me. modprobe ibm_acpi' still produces FATAL: Error inserting ibm_acpi (/lib/modules/2.6.13-rc6-2612-with-preempt+work\around+hotkey+ec_burst/kernel/drivers/acpi/ibm_acpi.ko): No such device but dmesg shows nsutils-0961 [01] ns_get_node_by_path : \/^D_SB_PCI0ISA_EC__, AE_NOT_FOUND nsutils-0961 [01] ns_get_node_by_path : \/^D_SB_PCI0LPC_EC__, AE_NOT_FOUND ibm_acpi: ec object not found A few months ago I saw that same last line about ec object not found, which the author of ibm_acpi.c solved by sending me v0.10f (the kernel has 0.8), which worked well with 2.6.11.4. I just tried to compile 0.11 (against 2.6.13-rc6) from the project's website, but it doesn't compile. I'll sort that out soon or ask the author. Meanwhile here's the compile error when running 'make' after unpacking the source: make -C /lib/modules/2.6.13-rc6-2612-with-preempt+workaround+hotkey+ec_burst/build SUBDIRS=/usr/src/ibm_hotkey/ibm-acpi-0.11 modules make[1]: Entering directory `/usr/src/linux-2.6.13-rc6' CC [M] /usr/src/ibm_hotkey/ibm-acpi-0.11/ibm_acpi.o /usr/src/ibm_hotkey/ibm-acpi-0.11/ibm_acpi.c:1756: error: conflicting types for `device_add' include/linux/device.h:326: error: previous declaration of `device_add' Changing acpi_device to device in line 1755 gets rid of that error, and then it compiles only with warnings. Not sure if the warnings are worth worrying about (haven't tried using the module yet). Here are the warnings: CC [M] /usr/src/ibm_hotkey/ibm-acpi-0.11/ibm_acpi.o /usr/src/ibm_hotkey/ibm-acpi-0.11/ibm_acpi.c:1756: warning: static declaration for `device_add' follows non-static /usr/src/ibm_hotkey/ibm-acpi-0.11/ibm_acpi.c: In function `register_driver': /usr/src/ibm_hotkey/ibm-acpi-0.11/ibm_acpi.c:1773: warning: assignment from incompatible pointer type per bug 4953, the patch in comment #2 has been applied to-linus and thus the orignal comment and comment #1 should be taken care of. Assigning this to Boris to deal with comment #3. Created attachment 5655 [details] ibm-acpi-0.12 (replaces drivers/acpi/ibm_acpi.c) Please try the attached version. It's basically 0.11 with the compilation error fixed. It's been submitted for inclusion in 2.6.14 (see http://bugzilla.kernel.org/show_bug.cgi?id=4947#c5 ) Tested against 2.6.13-rc6-git8 (TP 600X with hacked DSDT including a hotkey fix from you -- see the dsdt at Bug #4989). The v0.12 compiles and loads fine, but not more. fn-F4 produces in /var/log/acpid: [Wed Aug 17 12:56:19 2005] received event "button/sleep SLPB 00000080 00000001" [Wed Aug 17 12:56:19 2005] completed event "button/sleep SLPB 00000080 00000001" And fn-F7 blanks the screen. But no other hotkeys do anything, and no hotkey produces an HKEY msg. Hi Sanjoy, I believe your issue is specific to the TP 600X and can be resolved with a DSDT change. I'll contact you by email with some ideas. Boris So comment #1 and comment #3 are now resolved, and the remaining issue is comment #6 which is specific to the 600X hotkeys. updating summary from a regression to "ibm_acpi hotkeys for ThinkPad 600X" and un-resolving. > the remaining issue is comment #6 which is specific to the 600X
> hotkeys.
Specific to the substandard DSDT that IBM included with the 600X...
And Borislav sent me fixes for it, so now the hotkeys work mostly fine.
I haven't tested it enough to say "totally fine" but I didn't find
any immediately problems.
Hopefully ibm_acpi v0.12 will go into the mainline kernel.
Kernel 2.6.16 contains ibm_acpi 0.12a. Is any part of this bug still present in 2.6.16? My originaly reported problem is solved. Created attachment 7689 [details]
dmesgs from loading ibm_acpi and trying Fn-Fx keys
I have 2.6.16-rc5 handy, which also has v0.12a. It's the vanilla 2.6.16-rc5
with a vanilla DSDT. Mostly it doesn't work. I've attached the dmesgs from
loading ibm_acpi, enabling it, and then trying Fn-Fx keys and watching
/var/log/acpid. No key produced any output in /var/log/acpid, and only Fn-F7
had any effect at all (blanked the screen).
Borislav sent me DSDT fixes for an earlier ibm_acpi and they worked, but I'm
now of the view, learnt from Len Brown, that I should leave the DSDT alone if
possible. Is there a way that ibm_acpi can work around the half-baked DSDT on
the 600X? Also, the dmesgs attached show strange node names being accessed,
like in this line:
\/_SB_PCI0ISA_EC0_, AE_NOT_FOUND
Sorry for the garbage chars, but that's what it is in the dmesgs. Maybe the
strange names are part of the problem, or symptomatic of it?
> My originaly reported problem is solved.
closed.
|