Bug 33032
Summary: | Error "acer-wmi: Unable to detect available WMID devices" when booting | ||
---|---|---|---|
Product: | Drivers | Reporter: | Filipus Klutiero (chealer) |
Component: | Platform_x86 | Assignee: | drivers_platform_x86 (drivers_platform_x86) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | florian, jlee |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | Subsystem: | ||
Regression: | No | Bisected commit-id: | |
Attachments: |
ACPI dump
0001-acer-wmi-Fix-WMI-ID.patch debug.patch dmesg with Chun-Yi's debugging patch Output of dmidecode on problematic machine 0001-acer-wmi-support-integer-return-type-from-WMI-metho.patch |
Description
Filipus Klutiero
2011-04-11 06:42:34 UTC
Filipus, Could you please attached your acpidump on this bug? just need: acpidump > acpidump.dat Please attached the acpidump.dat . And, Does acer-wmi driver work to you on Linux 2.6.32? or actually you only try 2.6.38 kernel on your Gateway machine? Created attachment 54212 [details]
ACPI dump
As requested
Chun-Yi, I attached an ACPI dump. As I wrote, I use this laptop for one year. I am 99% sure it first had Linux 2.6.32. I am 90% sure I had the same error with 2.6.32. The error persisted with all upgrades, that is 2.6.35, 2.6.36, 2.6.37 and now 2.6.38. I thought it maybe a WMI ID upper characters problem. Could you please try this Pali's patch? commit 298f19b2547ba11a577a15ca329daa6f4bbf5ad8 Author: Pali Rohár <pali.rohar@gmail.com> Date: Fri Mar 11 12:36:43 2011 -0500 acer-wmi: Fix WMI ID This patch change WMI ID to upper characters. With this patch module acer-wmi is automatically loaded when WMI ID is detected. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Tested-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com> diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c index 4c82093..c1036d2 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c @@ -84,7 +84,7 @@ MODULE_LICENSE("GPL"); #define AMW0_GUID1 "67C3371D-95A3-4C37-BB61-DD47B491DAAB" #define AMW0_GUID2 "431F16ED-0C2B-444C-B267-27DEB140CF9C" #define WMID_GUID1 "6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3" -#define WMID_GUID2 "95764E09-FB56-4e83-B31A-37761F60994A" +#define WMID_GUID2 "95764E09-FB56-4E83-B31A-37761F60994A" #define WMID_GUID3 "61EF69EA-865C-4BC3-A502-A0DEBA0CB531" /* @@ -93,7 +93,7 @@ MODULE_LICENSE("GPL"); #define ACERWMID_EVENT_GUID "676AA15E-6A47-4D9F-A2CC-1E6D18D14026" MODULE_ALIAS("wmi:67C3371D-95A3-4C37-BB61-DD47B491DAAB"); -MODULE_ALIAS("wmi:6AF4F258-B401-42fd-BE91-3D4AC2D7C0D3"); +MODULE_ALIAS("wmi:6AF4F258-B401-42Fd-BE91-3D4AC2D7C0D3"); MODULE_ALIAS("wmi:676AA15E-6A47-4D9F-A2CC-1E6D18D14026"); enum acer_wmi_event_ids { Created attachment 54242 [details]
0001-acer-wmi-Fix-WMI-ID.patch
Pali Rohár's patch
[PATCH] acer-wmi: Fix WMI ID
Chun-Yi, I tried Pali's patch testing 2.6.39-rc5, but the problem persists. hmm........ looks like the WMID_GUID2 doesn't work on your machine, your issue similar with bko#34142, but have different wmi method definition. I am tracing your DSDT... Created attachment 59072 [details]
debug.patch
Filipus,
Could you please help to apply this patch then attached dmesg on this bug? This
patch will print out the acpi status and return buffer length after query wmi method.
And,
Please also help to attached your dmidecode log on this bug:
dmidecode > dmidecode.log
Thank's a lot!
Created attachment 59262 [details]
dmesg with Chun-Yi's debugging patch
[ 11.111180] acer_wmi: WMID_set_capabilities wmi_query_block status: 0
[ 11.111186] acer_wmi: buffer.length: 8
Created attachment 59272 [details]
Output of dmidecode on problematic machine
(In reply to comment #9) > Created an attachment (id=59262) [details] > dmesg with Chun-Yi's debugging patch > > [ 11.111180] acer_wmi: WMID_set_capabilities wmi_query_block status: 0 > [ 11.111186] acer_wmi: buffer.length: 8 OK, that means your wmi method return size is 64-bits. Please apply this patch, then acer-wmi must can be probe: https://bugzilla.kernel.org/attachment.cgi?id=56812 Good, thank you Chun-Yi. Can I assume that 2.6.40 will fix my problem, or do you want me to test the patch? Yes, I have send patches to Matthew, waiting merge to mainline. (In reply to comment #12) > Good, thank you Chun-Yi. > Can I assume that 2.6.40 will fix my problem, or do you want me to test the > patch? Yes, I have send patches to Matthew, waiting merge to mainline. That will be good if you can test this patch, then we can make sure acer-wmi works fine on your machine after it probed. I tested and unfortunately, I don't see any difference with that patch (Linux 2.6.39). The error message still appears. I can provide access to the machine if this helps. (In reply to comment #14) > I tested and unfortunately, I don't see any difference with that patch (Linux > 2.6.39). The error message still appears. That's weird, per your debug log message, the return buffer length is 8, that means 64-bits. Did you still see "Unable to detect available WMID devices"? [ 11.111180] acer_wmi: WMID_set_capabilities wmi_query_block status: 0 [ 11.111186] acer_wmi: buffer.length: 8 [ 11.111190] acer_wmi: Unable to detect available WMID devices > I can provide access to the machine > if this helps. Yes, let's talk in E-mail. Yes, I still see the error message. Feel free to contact me for access to the machine via email, or via IRC (I'm chealer on OFTC and PDPC, logged most of the time and around quite often. I'm on GMT -5). OK, I know what's wrong, now. Your machines return type is integer, not a buffer: Field (CNVS, DWordAcc, Lock, Preserve) { Offset (0x470), CBE0, 32 /* return integer by WMID_GUID1/2 */ } And, I print out the object type on your machine confirm it's a integer: [34997.552065] acer_wmi: Acer Laptop ACPI-WMI Extras [34997.559928] acer_wmi: WMID_set_capabilities wmi_query_block status: 0 [34997.559934] acer_wmi: obj->type: 1 [34997.559938] acer_wmi: buffer.length: 8 [34997.559941] acer_wmi: Unable to detect available WMID devices The object type 1 is ACPI_TYPE_INTEGER. I will generate a patch to support this return type, then please help to test acer-wmi driver after applied the patch. I will attached the patch on bugzilla. Created attachment 59512 [details]
0001-acer-wmi-support-integer-return-type-from-WMI-metho.patch
This patch support the integer return type from WMID_GUID1/WMID_GUID2.
Filipus,
Please kindly test this patch on your machine, I have already applied it to acer-wmi.c in your machine, please double check it.
And, I have build out the acer-wmi.ko file, you can direct insmode acer-wmi.ko in your kernel source folder.
I tested inserting the module and this worked fine, without errors. I can't say if the module is working (I don't think it does anything on this laptop) but the error should be gone. Thank you That's a good news. (In reply to comment #19) > I tested inserting the module and this worked fine, without errors. I can't > say > if the module is working (I don't think it does anything on this laptop) but > the error should be gone. > > Thank you That's a good news. But, still want to make sure acer-wmi works fine on your macihne. could you please simply try to change the rfkill state? e.g. echo 0 > /sys/devices/platform/acer_wmi/rfkill/rfkill0/state There must have 2 - 3 rfkill generated by acer-wmi, they are acer-wirelss, acer-bluetooth and acer-threeg (if detected 3G). Please access them and look at your machine have problem or not. And, press some Fn function key like: wifi key, brightness level. Thank's I tried wiki keys and brightness keys and they worked, but they don't need acer_wmi. I was able to change the wireless rfkill: root@vinci:/sys/devices/platform/acer-wmi/rfkill/rfkill3# cat name acer-wireless root@vinci:/sys/devices/platform/acer-wmi/rfkill/rfkill3# cat state 1 root@vinci:/sys/devices/platform/acer-wmi/rfkill/rfkill3# echo 0 > state root@vinci:/sys/devices/platform/acer-wmi/rfkill/rfkill3# echo 1 > state This had the same effect as pressing the wireless icon. I realized you must have been unable to access my machine today - sorry, damn NATs. It should be back now (but may go away for a couple hours soon). (In reply to comment #21) > I tried wiki keys and brightness keys and they worked, but they don't need > acer_wmi. I was able to change the wireless rfkill: > > root@vinci:/sys/devices/platform/acer-wmi/rfkill/rfkill3# cat name > acer-wireless > root@vinci:/sys/devices/platform/acer-wmi/rfkill/rfkill3# cat state > 1 > root@vinci:/sys/devices/platform/acer-wmi/rfkill/rfkill3# echo 0 > state > root@vinci:/sys/devices/platform/acer-wmi/rfkill/rfkill3# echo 1 > state > > This had the same effect as pressing the wireless icon. > > I realized you must have been unable to access my machine today - sorry, damn > NATs. It should be back now (but may go away for a couple hours soon). Thank's for your help to test the killswitch, I thought it's enough to proof the wmi method works on your machine. :-) I will send out patch to Matthew. A patch referencing this bug report has been merged in v3.0-rc1: commit 987dfbaa65b2c3568b85e29d2598da08a011ee09 Author: Lee, Chun-Yi <joeyli.kernel@gmail.com> Date: Fri May 27 14:52:14 2011 +0800 acer-wmi: support integer return type from WMI methods Thank you Chun-Yi. This is solved on 3.0. The module loads automatically without throwing the error. I get: syslog:Aug 24 16:26:44 vinci kernel: [ 7.275971] acer_wmi: Acer Laptop ACPI-WMI Extras [...] syslog:Aug 24 16:26:44 vinci kernel: [ 7.789655] acer_wmi: Brightness must be controlled by generic video driver A patch referencing a commit referencing this bug report has been merged in Linux v3.8-rc4: commit f20aaba9819d0801fb1314363f97239da0100bac Author: Lee, Chun-Yi <joeyli.kernel@gmail.com> Date: Fri Dec 14 16:14:26 2012 +0800 acer-wmi: fix obj is NULL but dereferenced |