Bug 134576

Summary: ACPI keys not working properly on an ASUS A3N laptop with the default kernel
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Médéric Boquien <mboquien>
Component: KernelAssignee: Timo Hoenig <thoenig>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: behlert, trenn
Version: unspecified   
Target Milestone: ---   
Hardware: 64bit   
OS: SuSE Linux 10.0   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: raw DSDT table of an Asus A3N laptop (A3000)

Description Médéric Boquien 2005-11-20 10:57:34 UTC
I own an Asus laptop A3N (A3000). With SuSe linux 10.0 and the default kernel the special keys and the ACPI event don't seem to work properly:
* if i it a special function key (to change the screen luminosity for instance), most of the time the event doesn't appear in /var/log/acpid or it give the keycode of another special key
* when i unplug the AC adapter the same thing happen, the event either disappears in a black hole or is reported under another keycode and therefore another action is performed
* when i close/open the LID the event is always recorded
However the the hibernation and the sleep modes just work perfectly

To test further, i downloaded and installed the SuSe linux kernel 2.6.14.2 from SuSe 10.1 alpha 3. I noticed that the ACPI events worked properly, the keys and the AC adapter events were recorded as expected. However the problem is that with the kernel the sleep mode doesn't work properly anymore. It would be nice to patch the default kernel to make those keys work and key the sleep mode working also. I'll attach my dsdt table to this bug report in case you need it. Please tell me if you need anything.

Thank you very much,

Médéric

PS: here is the output of /proc/acpi/asus/info
Asus Laptop ACPI Extras Driver 0.29-SUSE
Model reference    : M2E
SFUN value         : 0x0a77
DSDT length        : 29345
DSDT checksum      : 180
DSDT revision      : 1
OEM id             : 0ABBD
OEM table id       : 0ABBD001
OEM revision       : 0x1
ASL comp vendor id : MSFT
ASL comp revision  : 0x100000e
Comment 1 Médéric Boquien 2005-11-20 11:02:00 UTC
Created attachment 57809 [details]
raw DSDT table of an Asus A3N laptop (A3000)
Comment 4 Timo Hoenig 2005-11-21 09:24:22 UTC
Médéric: Are you missing special functions for the ASUS like WLAN switching, switching the LEDs on or off? Or is it just the sleep mode you're missing?

What "sleep mode" do you mean? Suspend to disk? Suspend to RAM?
Comment 5 Médéric Boquien 2005-11-21 18:48:44 UTC
Hi Timo,

I've made some more research. I was talking about the recording of the ACPI events in general, not only the Asus specific ones for un/loading the wifi driver for instance (this i'll handle with a script). It finally came out the events were recorded in fact but 8 keys late. It is to say that when i hit a ACPI key, the acpi daemon get the key i hit 8 keys ago. The delay introduce quite a weird behaviour.
I was also talking about the suspend to RAM mode that was not working properly with the SuSE 10.1 alpha 3 kernel on 10.0. More precisely the computer would go to sleep but it would never wake up. I've a few more tests since yesterday.
*Using Linus' 2.6.14.2, you need to boot with ec_burst=1 as kernel argument and everything works exepected, the ACPI events are recorded and all suspend modes work perfectly. I guess there is a SuSE patch that was causing some problems with the sleep mode. As i needed a recent ipw2200 driver i switched directly to 2.6.15rc2 which also works perfectly. Those kernels have been compiled using SuSE default config file for the 2.6.13 SuSE kernel and make oldconfig.
*The SuSE 2.6.13 kernel with ec_burst=1 doesn't work correctly, the suspend to disk mode was deactivated and the ACPI events were still not recorded as expected.

Thank you very much,

Médéric
Comment 6 Timo Hoenig 2005-11-21 19:11:51 UTC
Médéric,

about the delay: I was expecting exactly this. It is (better: was) a bug in the Linux ACPI subsystem and is _not_ caused by acpi_asus.c itself.

Having ec burst mode fixing the problem also matches with my expectations. Once ec burst was introduced it did not what it promised, but seeing 2.6.15rcX working with ec burst being enabled looks very promising.

If you're happy using your hand-made kernel I'll close this bug.

Also, it would be great having feedback whether the kernels of upcoming 10.1 Alphas are working for you. If you can give them a run I'd be very pleased to hear from you.
Comment 9 Thomas Renninger 2005-12-09 11:36:43 UTC
Patch pending for inclusion, please stay tuned.

*** This bug has been marked as a duplicate of 61106 ***