Comment 0 for bug 428790

Revision history for this message
arcull (arcull) wrote :

Hi everybody,

I've just bought a brand new laptop acer emachines G725 and installed kubuntu 9.04 64 bit desktop version on it. Everything worked out of the box, except hotkeys. Some of them are working (volume up,volume down, sleep, turn of monitor), while some of them don't work (brigthness up, brightness down, play/pause, backward, forward). I don't care much for those multimedia keys, but I would really like to make my brightness keys (Fn+Arrow Left/Right) working, since my eyes hurt. What I tried to do so far is... First I tried to install acerhk module, but found out that it is not compatible with 64 bit kernel, next I found aceracpi, which should work in 64 bit, so I downloaded it, but were not able to compile it.

arcull@Stol:~/Acer_acpi/acer_acpi-0.11.2$ sudo make
make -C /lib/modules/`uname -r`/build SUBDIRS= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.28-15-generic'
  CHK include/linux/version.h
  CHK include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-x86
make[2]: *** No rule to make target `kernel/bounds.c', needed by `kernel/bounds.s'. Stop.
make[1]: *** [prepare0] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-15-generic'
make: *** [wmi-acer.ko] Error 2
arcull@Stol:~/Acer_acpi/acer_acpi-0.11.2$

I have kernel headers and kernel source installed so this should not be the problem. I use this kernel.

arcull@Stol:~/Acer_acpi/acer_acpi-0.11.2$ uname -a
Linux Stol 2.6.28-15-generic #49-Ubuntu SMP Tue Aug 18 19:25:34 UTC 2009 x86_64 GNU/Linux

Next I found out that acer-wmi is some kind of replacement for aceracpi so I tried to modeprobe this modul, but no luck either.

arcull@Stol:~$ sudo modprobe acer-wmi
[sudo] password for arcull:
FATAL: Error inserting acer_wmi (/lib/modules/2.6.28-15-generic/kernel/drivers/misc/acer-wmi.ko): No such device

Which should mean that my laptop model isn't compatible with this module :( Further I tried to check if my keycodes are maped correctly so I did a little testing which should confirm that they are ok.

arcull@Stol:~$ xev |grep keycode
    state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
    state 0x0, keycode 120 (keysym 0x0, NoSymbol), same_screen YES,
    state 0x0, keycode 120 (keysym 0x0, NoSymbol), same_screen YES,
    request MappingKeyboard, first_keycode 8, count 248
    request MappingKeyboard, first_keycode 8, count 247
    state 0x0, keycode 232 (keysym 0x1008ff03, XF86MonBrightnessDown), same_screen YES,
    state 0x0, keycode 232 (keysym 0x1008ff03, XF86MonBrightnessDown), same_screen YES,
    request MappingKeyboard, first_keycode 8, count 248
    request MappingKeyboard, first_keycode 8, count 247
    state 0x0, keycode 126 (keysym 0xb1, plusminus), same_screen YES,
    state 0x0, keycode 126 (keysym 0xb1, plusminus), same_screen YES,
    request MappingKeyboard, first_keycode 8, count 248
    request MappingKeyboard, first_keycode 8, count 247
    state 0x0, keycode 233 (keysym 0x1008ff02, XF86MonBrightnessUp), same_screen YES,
    state 0x0, keycode 233 (keysym 0x1008ff02, XF86MonBrightnessUp), same_screen YES,

I did test it with HAL as well

arcull@Stol:~$ lshal -m

Start monitoring devicelist:
-------------------------------------------------
^@11:51:41.925: computer_logicaldev_input_0 condition ButtonPressed = brightness-down
±11:51:43.630: computer_logicaldev_input_0 condition ButtonPressed = brightness-up

A strange thing that I can't explain is the mapping in /usr/include/linux/input.h where I found

#define KEY_BRIGHTNESSDOWN 224
#define KEY_BRIGHTNESSUP 225

Here is my hw.

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 09)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 09)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
05:00.0 Ethernet controller: Attansic Technology Corp. Device 1062 (rev c0)

I did also notice that values in /proc/acpi/video/OVGA/DD03/brightness do change when I press the key combination to change brightness, but somehow hardware doesn't seem to respond correctly. The only clumsy workaround to change my brightness is to press Ecs key on boot time to enter grub menu, and while I am there my key combinations to change brightness work, but once the kubuntu starts to load, they cease to respond. I did also try to use some live cds with newer kernel (suse 11.2 milestone 6, FC 11) but no luck with them either. I am thinking of finding the way to tell the kernel somehow to leave my key combinations for brightness alone and let the bios take care of them. I don't know if this is even possible and how could I do that. Anyway, I am not much experienced linux user, but will try to do my best with you help to find a solution to my problem. Thanks in advance for your help