Laptop keys not working on Ubuntu 11.04 Natty Narwhal

A couple of days ago I upgraded my laptop, an Asus UL30A, from Ubuntu 10.10 Maverick to 11.04 Natty. Everything went fine. Unfortunately pretty much all of my special keys (backlight, volume, suspend, WIFI) stopped working after the obligatory reboot.

Investigation showed the following lines in syslog:

May 5 11:26:56 kirana kernel: [ 30.900537] ACPI Exception: AE_AML_BUFFER_LIMIT, Index (0x0000000000000064) is beyond end of object (20110112/exoparg2-418)
May 5 11:26:56 kirana kernel: [ 30.900551] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SBRG.EC0_.STBR] (Node ffff88013763f118), AE_AML_BUFFER_LIMIT (20110112/psparse-536)
May 5 11:26:56 kirana kernel: [ 30.900565] ACPI Error: Method parse/execution failed [\_SB_.PCI0.VGA_.LCDD._BCM] (Node ffff8801376382f8), AE_AML_BUFFER_LIMIT (20110112/psparse-536)
May 5 11:26:56 kirana kernel: [ 30.900580] ACPI Error: Evaluating _BCM failed (20110112/video-365)

Typical ACPI errors you encounter way too often on laptops. Ubuntu 11.04 comes with kernel 2.6.38. Instead of wasting countless hours tracking the actual issue down I decided to check with the latest and greatest vanilla kernel first. That was 2.6.38.5 at the time of writing. I compiled using Ubuntu’s configuration as a template. The required commands where the usual (more or less the following):

cd /usr/src/linux-2.6.38.5
cp /boot/config-2.6.38-generic .config
yes '' | make oldconfig
make prepare
make bzImage modules
make INSTALL_MOD_STRIP=1 modules_install install
update-initramfs -k 2.6.38.5 -c
update-grub

After a reboot everything was working fine again.

Of course you can use the Debian/Ubuntu way for building and installing the kernel. The point is: 2.6.38.5 just works.

12 thoughts on “Laptop keys not working on Ubuntu 11.04 Natty Narwhal

  1. Kamil

    Hey mosu, thanks for writing this! I’m compiling 2.6.38.5 right now, in hopes that it will resolve the brightness issue on my UL30A (Intel card) laptop.

    Are you still running this version of the kernel, or were you able to use a newer release?

    1. mosu Post author

      I’ve upgraded to 2.6.39.1 in the meantime and have been running that for a couple of weeks. No problems so far: the brightness, volume, suspend, wireless keys are all working.

      1. Daniel Smedegaard Buus

        How did you actually succeed in this? Any special tricks? I’ve been unable to make any of this work properly for a while now.

        Yesterday I tried the latest PCLinuxOS, Kubuntu Oneiric Alpha, Mandriva, Slackware, and OpenSUSE distributions. ALL of them crash on suspend/resume and returning from hibernate, and only some of them have working brightness keys (Natty not included).

        I just tried the 3.0 RC kernel from the kernel PPA, which is just as broken (if not more so, as it doesn’t crash on resume but rather while trying to suspend)…

        I’d like to try the 2.6.39 kernel from the PPA, but for some reason it doesn’t show up :(

        1. mosu Post author

          Well, apart from compiling said kernel I didn’t do anything special. It was a standard Kubuntu maverick installation (not even the netbook edition); upgraded to natty in the mean time. Suspending always works, resuming works mostly but I have experienced crashes upon resume as well.

          1. Daniel Smedegaard Buus

            Okay, thanks :) Two questions:

            1) Which FS are you using? I’ve noticed that the crashes on resume usually involve kernel messages related to IO – the last one I remember was something along the lines of “transaction in atomic operation” or something like that… That was on btrfs, but ext4 has been equally error prone in my experience.

            2) Did you follow a howto on the kernel compilation, and if so, do you have a link? It’s been awhile since I last compiled a kernel – that was on Mandrake IIRC, and I don’t expect the approach still applies ;)

            Thanks!

  2. mosu Post author

    1. I’m using ext4. The crashes that I’ve experienced are maybe not crashes but more total lockups of the graphics drivers. Not even switching to the console worked. I admit that I haven’t tried SSHing into the laptop in such a case — I simply rebooted.

    2. I don’t follow any specific HOWTO as I’ve been building my own Linux kernels for over 16 years :) I really only used the commands I’ve written in the post.

    1. Daniel Smeedegaard Buus

      Woops! Sorry, haha :D I’ll try doing the same tonight with my fresh re-install of Natty. On a sidenote, I just tried the latest daily of Kubuntu 11.10 (on ext4) without any luck :)

      Thank you!

      Daniel :)

  3. Daniel Smedegaard Buus

    Just tried compiling a 3.0.0 rc6 vanilla kernel using your method. Resulted in a kernel that crashed on boot, so I decided to try with the exact version you’re using here, 2.6.38.5.

    This one indeed results in working hotkeys, and hibernate is actually working, too. However, I still cannot get suspend & resume working properly. I can suspend, and sometimes resume, but I’m left at a locked X session where I cannot login (prompting me to kill kscreenlocker, but I cannot get a TTY working either (just black screens on F1-F6).

    Last time I had suspend/resume working, like you, was in Maverick – I think that was kernel 2.6.36?

    I’m not much for going back to an earlier version as I’m using btrfs, and lots of improvements are included with every version, but it doesn’t look like these issues are going to be fixed anytime soon. And it’s not restricted to ASUS parts, either, as there are numerous bug reports out there regarding suspend/resume and other ACPI related features.

  4. Venkatesh

    hey i tried writing a code using “vi editor” but some keys of my laptop are not working in it (e.g.backspace and arrow keys)plz help me out!!

    1. mosu Post author

      You should probably read about vi usage in general and learn how to use it. This has nothing to do with laptop keys not working.

Comments are closed.