Bug 9939 - Function keys stop working after 2.6.24-rc3 - FSC Esprimo Mobile V5505
Summary: Function keys stop working after 2.6.24-rc3 - FSC Esprimo Mobile V5505
Status: CLOSED CODE_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: EC (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Alexey Starikovskiy
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-12 01:29 UTC by Jan-Simon Möller
Modified: 2008-10-17 14:43 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.25-rc1
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
dmidecode (10.52 KB, text/plain)
2008-02-12 01:51 UTC, Jan-Simon Möller
Details
acpidump (164.67 KB, text/plain)
2008-02-12 01:51 UTC, Jan-Simon Möller
Details
dmesg with 5870a8cd23181703cc76f88f630372f8602c7648 (31.28 KB, text/plain)
2008-02-12 02:20 UTC, Jan-Simon Möller
Details
dmesg without 5870a8cd23181703cc76f88f630372f8602c7648 (27.92 KB, text/plain)
2008-02-12 02:21 UTC, Jan-Simon Möller
Details
dmesg with 5870a8cd23181703cc76f88f630372f8602c7648 and no acpi_osi=Linux (27.96 KB, text/plain)
2008-02-12 02:36 UTC, Jan-Simon Möller
Details
patch vs.2.6.24.2 (2.55 KB, patch)
2008-02-13 20:17 UTC, Len Brown
Details | Diff

Description Jan-Simon Möller 2008-02-12 01:29:22 UTC
Latest working kernel version: 2.6.24-rc3

Earliest failing kernel version: 2.6.24-rc3 after 5870a8cd23181703cc76f88f630372f8602c7648

Distribution: openSuSE 10.3

Hardware Environment: Laptop, FSC Esprimo Mobile V5505

Software Environment: ?
Problem Description: Brightness function keys stop working after this revision.
Brightness changes to low after power is plugged and higher if unplugged (might be powersave issue, thus - but keys remain unusable).

Steps to reproduce: Use kernel later than 2.6.24-rc3 after commit 5870a8cd23181703cc76f88f630372f8602c7648

See Bug 9663 for bisection. Was not solved there. Could not reopen there.

I can use 2.6.25-rc1 if i only revert 5870a8cd23181703cc76f88f630372f8602c7648 !
Comment 1 Jan-Simon Möller 2008-02-12 01:51:05 UTC
Created attachment 14783 [details]
dmidecode
Comment 2 Jan-Simon Möller 2008-02-12 01:51:35 UTC
Created attachment 14784 [details]
acpidump
Comment 3 Alexey Starikovskiy 2008-02-12 01:53:29 UTC
Could you please provide dmesg from 2.6.25-rc1?
Comment 4 Jan-Simon Möller 2008-02-12 01:59:54 UTC
Build with 5870a8cd23181703cc76f88f630372f8602c7648 or without ?
Comment 5 Alexey Starikovskiy 2008-02-12 02:03:19 UTC
With it, I want to see error.
Comment 6 Jan-Simon Möller 2008-02-12 02:20:27 UTC
Created attachment 14785 [details]
dmesg with 5870a8cd23181703cc76f88f630372f8602c7648

You can see the failing atkbd output late in the dmesg. Thats when I press the keys.

I noticed, that "make install" also copied "acpi_osi=Linux" from another entry in grubs menu.lst . I didn't change it between the runs. It stayed there from another test and doesn't change the situation. I can redo the dmesg without it if needed.
Next attachment is dmesg of boot with reverted patch. So you can diff the two ...
Comment 7 Jan-Simon Möller 2008-02-12 02:21:17 UTC
Created attachment 14786 [details]
dmesg without 5870a8cd23181703cc76f88f630372f8602c7648

dmesg from boot without 5870a8cd23181703cc76f88f630372f8602c7648
Comment 8 Jan-Simon Möller 2008-02-12 02:36:36 UTC
Created attachment 14787 [details]
dmesg with 5870a8cd23181703cc76f88f630372f8602c7648 and no acpi_osi=Linux

removed the left-over acpi_osi=Linux
Comment 9 Jan-Simon Möller 2008-02-12 02:42:39 UTC
I only see one interesting difference:

ACPI: EC: non-query interrupt received, switching to interrupt mode

happens (with reverted) just after 

ACPI: EC: Look up EC in DSDT

whereas it happens later when the commit is included.
Comment 10 Alexey Starikovskiy 2008-02-12 02:56:35 UTC
This was the intention of the patch -- to complete init of EC as soon as it needed.
ASUS laptops fail if EC is not inited early, but do not provide ECDT. Toshiba breaks if we always init EC early. Yours FSC have some unknown keycode, if EC is not early inited, and still does not provide ECDT.
Comment 11 Alexey Starikovskiy 2008-02-12 03:41:09 UTC
Could you describe the failure in more detail? Is the keyboard not working? Functional keys?
Comment 12 Jan-Simon Möller 2008-02-12 04:05:09 UTC
The keyboard works. The brightness-keys stop working with the atkbd messages.
Sound Function keys work in both setups (!).
Lets make it more detailed:

These function keys are available:

Fn-F1: Wlan/Bluetooth-Switch - On windows: OSD with on/of-switches
                             - On Linux: possibly disables wlan - connection dropped

Fn-F3: Sound mute - works
Fn-F4: Sound decrease - works
Fn-F5: Sound increase - works

Fn-F6: Mouse switch - Seems to be the touchpad 
                             - On Linux: it switches touchpad off, 
                               but not ON on 2nd keypress ! 
Fn-F7: There's a video-camera on the key - might be reserved for webcam / NA
Fn-F8: Brightness decrease  - we are talking about that.
Fn-F9: Brightness increase  - same
Fn-F10:Monitor-Switch : Didn't test this - no effect atm if pressed.
Fn-F12: Sleep - does a S2ram last time i tested it.


Key combinations here: http://support.fujitsu-siemens.com/com/support/linkapplication.html?LNG=EN&ID=3815&Action=Manuals
Comment 13 Alexey Starikovskiy 2008-02-12 04:23:42 UTC
if you press Fn-F8 and Fn-F9, does atkbd barks about same unknown opcode?
Comment 14 Jan-Simon Möller 2008-02-12 04:35:31 UTC
Fn-F6: (touchpad is off and stays off)
atkbd.c: Unknown key pressed (translated set 2, code 0xf1 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e071 <keycode>' to make it known.
atkbd.c: Unknown key released (translated set 2, code 0xf1 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e071 <keycode>' to make it known.

Fn-F8: (Brightness down)
atkbd.c: Unknown key pressed (translated set 2, code 0xd9 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e059 <keycode>' to make it known.
atkbd.c: Unknown key released (translated set 2, code 0xd9 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e059 <keycode>' to make it known.

Fn-F9: (Brightness up)
No atkbd.c - message and no action.

Fn-F10:
atkbd.c: Unknown key pressed (translated set 2, code 0xa9 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e029 <keycode>' to make it known.
atkbd.c: Unknown key released (translated set 2, code 0xa9 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e029 <keycode>' to make it known.
Comment 15 Jan-Simon Möller 2008-02-12 04:51:45 UTC
Oh ... Fn-F6 alternates between e071/0xf1 and e072/0xf2. But touchpad stays off.
Comment 16 Alexey Starikovskiy 2008-02-12 05:09:10 UTC
Please check if video module is loaded. If it is loaded, try to remove it to see if brightness keys start to work.
Comment 17 Jan-Simon Möller 2008-02-12 05:21:11 UTC
video module was not loaded. No difference if loaded or not.
Comment 18 Alexey Starikovskiy 2008-02-12 05:33:31 UTC
Please try acpi_osi="!Windows 2006" as kernel parameter. 
Comment 19 Jan-Simon Möller 2008-02-12 05:48:16 UTC
Ok, brightness-keys work with acpi_osi="!Windows 2006", atkbd-messages still there.
But touchpad is off ... either by the option or a cold-reset is needed to enable it again (because it was disabled by keypress before).
Comment 20 Jan-Simon Möller 2008-02-12 05:55:19 UTC
Nice kpowersave can also dimm now. This didn't work before.
Comment 21 Alexey Starikovskiy 2008-02-12 06:04:16 UTC
Ok, let's sum this up. 2.6.24 and 2.6.25-rc1 work. Revert of 5870a8 breaks ACPI initialization, so it is not able to e.g. control brightness from userspace.
It is possible to turn off "Vista" functionality by kernel parameter, it is also possible to make use of new key events, by describing them to input layer.
I'm closing the bug as invalid.
Comment 22 Jan-Simon Möller 2008-02-12 06:17:02 UTC
Ok - so I should use acpi_osi="!Windows 2006" from now on ? You have a good view now and can close it, but what is the "solution"? Whats meant by "describing them to input layer"?
Its fine for me that it works in some way. 
But other users with such machines could also run in the same problems.

Could you please point me to what can be done e.g. with this keycodes or e.g. the Fn-F6. I'll look over there.

Sidenote: with acpi_osi="!Windows 2006" brightness-keys also work with 2.6.22.17-0.1-default (opensuse). Just kpowersave does only dimm with newer kernels.
Comment 23 Alexey Starikovskiy 2008-02-12 06:32:07 UTC
FSC uses WMI (MS-private extension to ACPI) in their machines, so you are guaranteed to have something not working under Linux. There is acpi_wmi driver, which just appeared in 2.6.25. It only works for some Acer and HP machines at the moment, but in theory it is possible to extend it to FSC too.
You should either stick with the "!Windows 2006" and let BIOS control brightness, or read for example here: http://ubuntuforums.org/archive/index.php/t-119449.html, 
and export key presses to user space in a hope that some program (kpowersave?) could catch them and change brightness.  
Comment 24 Jan-Simon Möller 2008-02-12 06:34:50 UTC
OK ! Fine.

Closing issue.
Comment 25 Jan-Simon Möller 2008-02-12 06:36:35 UTC
BIG TNX, Alexey !
Comment 26 Len Brown 2008-02-13 20:17:56 UTC
Created attachment 14828 [details]
patch vs.2.6.24.2

please try this patch, which should invoke "acpi_osi="!Windows 2006"
automatically for you on this system.
Comment 27 Len Brown 2008-02-15 11:19:11 UTC
patch in comment #26 shipped in linux-2.6.25-rc1-git4
please re-open this report if it doesn't address the issue.
closed.

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