volume and mute keys are repeated on Lucid on EEE PC 901

Bug #560551 reported by Eemil Lagerspetz
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
acpi-support (Ubuntu)
Fix Released
High
Steve Langasek
Lucid
Fix Released
High
Steve Langasek

Bug Description

Binary package hint: acpi-support

On my EEE PC 901 with Lucid, in Gnome, I have XF86AudioMute assigned to Volume Mute, XF86AudioLowerVolume assigned to Volume down, and XF86AudioRaiseVolume assigned to Volume up.
When I press those buttons, the correct thing happens. However, if I press any button on the keyboard (letters, space), the same action happens again. For example, Fn-F7 (XF86AudioMute) and space causes mute and then unmute. Fn-F8 (XF86AudioLowerVolume) and then "a" or any letter causes audio to be lowered two steps.
I have worked this around by uncommenting the acpi fakekey command in the respective files in /etc/acpi (mutebtn.sh, voldownbtn.sh, volupbtn.sh), like this:

$ cat /etc/acpi/mutebtn.sh
#!/bin/sh

test -f /usr/share/acpi-support/key-constants || exit 0

. /usr/share/acpi-support/key-constants
#acpi_fakekey $KEY_MUTE

Any idea why I need to do this? On my desktop machine, these actions are triggered only once.

Revision history for this message
Steve Langasek (vorlon) wrote :

It sounds like these keys may now be correctly handled in the kernel, and we should get rid of the ACPI handling.

To confirm, please walk through the steps in /usr/share/doc/udev/README.keymap.txt.gz on "Fixing broken keys" and let me know the names of the keyboard devices shown on your system, as well as which input device has the 'volumeup' and 'volumedown' keys on its map. If it's the 'module' device that has these, please also run 'sudo lsinput' to get the more meaningful name for this device.

Changed in acpi-support (Ubuntu):
importance: Undecided → High
assignee: nobody → Steve Langasek (vorlon)
Changed in acpi-support (Ubuntu Lucid):
status: New → Incomplete
Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :
Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :
Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :
Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :

When I tried sudo /lib/udev/keymap -i input/event5, it did not even add a line when using the volume and mute keys. It would not appear to receive those. I disabled the bindings in GNOME, and tried again; same result. other multimedia keys also produce nothing.

Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :

This may be related: after a suspend caused by closing the lid, the computer suspends again when resumed. After resuming again, it will not suspend a third time. I tried working around this with the same method, by commenting out the command in sleepbtn.sh or making sleep.sh do nothing, but it didn't remove the problem.

Revision history for this message
Steve Langasek (vorlon) wrote :

What is the output of the 'findkeyboards' command? If there's more than one keyboard input device, it's normal that one of them will not show the keypresses.

Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :

There is only one:
AT keyboard: input/event5

This is me pressing F7, Fn+F7, F8, Fn+F8, F9, Fn+F9:

Press ESC to finish
scan code: 0x41 key code: f7
scan code: 0x42 key code: f8
scan code: 0x43 key code: f9

It seems those keypresses disappear somewhere.

Revision history for this message
Steve Langasek (vorlon) wrote :

Ok, it's quite unusual to not see a separate keyboard input dev for laptop hotkeys, *especially* when you're reporting double-keypress events like this.

Can you post the full output of 'sudo lsinput' on this system?

Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :

lsinput clarified the situation, there's event9 which is called "Asus EeePC extra buttons". with keymap -i, I get these results when pressing the Fn-F3 through Fn-F9 buttons (not in that order).

$ sudo /lib/udev/keymap -i input/event9
Press ESC to finish
scan code: 0x00 key code: mute
scan code: 0x00 key code: volumedown
scan code: 0x00 key code: volumeup
scan code: 0x00 key code: switchvideomode
scan code: 0x00 key code: brightnessup
scan code: 0x00 key code: brightnessdown

Revision history for this message
Steve Langasek (vorlon) wrote :

Thanks.

Just a couple more questions - could you attach /etc/acpi/events/asus-eee-volumeup from your system, and show the output of 'grep -rl volupbtn.sh /etc/acpi/events'?

Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :

$ grep -rl volupbtn.sh /etc/acpi/events/
/etc/acpi/events/sony-volume-up
/etc/acpi/events/thinkpad-volume-up
/etc/acpi/events/asus-eee-volume-up

I also got hit by the double-suspend issue again.

Revision history for this message
Steve Langasek (vorlon) wrote :

> action=/etc/acpi/if-asus-eee.sh volupbtn.sh

So this is what's confusing me here. It's clear that your laptop has a proper kernel driver and we don't need the acpi-support event handler for these keys, but I can't figure out which handler is actually being used on these keys because there's no /etc/acpi/if-asus-eee.sh script in acpi-support.

Does /etc/acpi/if-asus-eee.sh exist on your system? If so, what does 'dpkg -S /etc/acpi/if-asus-eee.sh' return?

> /etc/acpi/events/thinkpad-volume-up

And that script was supposed to have been removed in the jaunty version of acpi-support. What does 'dpkg -S /etc/acpi/events/thinkpad-volume-up' return?

Finally, can you run 'acpi_listen' and press each of the volume keys, then paste the output? That will decisively confirm which acpi-support scripts we need to get rid of.

Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :

$ cat /etc/acpi/if-asus-eee.sh
#! /bin/sh

# The hotkeys for the Asus Eee PC (ASUSTeK model 701) conflict with
# brightness keys on other Asus laptops. This script invokes another acpi
# script (passed as an argument), but only if the system is an Eee PC.

[ -f /usr/share/acpi-support/device-funcs ] || exit 0
. /usr/share/acpi-support/device-funcs

DeviceConfig

if [ "$model" = "701" -o "$model" = "901" -o "$model" = "1000H" ] ; then
 /etc/acpi/$1
fi

$ dpkg -S /etc/acpi/if-asus-eee.sh
acpi-support: /etc/acpi/if-asus-eee.sh

$ dpkg -S /etc/acpi/events/thinkpad-volume-up
acpi-support: /etc/acpi/events/thinkpad-volume-up

$ acpi_listen
hotkey ATKD 00000013 00000001
hotkey ATKD 00000014 00000001
hotkey ATKD 00000015 00000001

Those were mute, volume down, and volume up

I have to say here that I have some acpi scripts in /etc/acpi/eeepc that handle some of the extra buttons on the laptop, but not these ones. I should however have an unmodified version of acpi-support from Ubuntu.

Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :

yes, acpi-support is version 0.133 just like on my desktop. however, my desktop does say
dpkg -S /etc/acpi/if-asus-eee.sh
dpkg: /etc/acpi/if-asus-eee.sh not found.

Revision history for this message
Steve Langasek (vorlon) wrote :

Well, I don't know why you still have /etc/acpi/events/thinkpad-volume-up on your system, but I don't see any errors in the maintainer scripts; I think you should just remove this file.

You should also remove /etc/acpi/if-asus-eee.sh, which isn't part of any package.

The acpi_listen output confirms that this is being done by the asus-eee-volume-* handlers; fix will be uploaded shortly.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package acpi-support - 0.134

---------------
acpi-support (0.134) lucid; urgency=low

  * drop asus-eee-volume-* event handlers, which are also now superseded by
    a kernel input device. LP: #560551.
 -- Steve Langasek <email address hidden> Tue, 13 Apr 2010 17:18:57 -0700

Changed in acpi-support (Ubuntu Lucid):
status: Incomplete → Fix Released
Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :

I wonder why dpkg reported those files belonging to the acpi-support package on the eee.
I did a diff between the report of dpkg -L acpi-support on my desktop and the eee, and removed the files that did not belong (around 7 files), including if-asus-eee.sh, hibernatebtn.sh and thinkpad-volume-up. This seems to have fixed my double-suspend bug also.

Revision history for this message
madbiologist (me-again) wrote :

I noticed the following when upgrading to acpi-support 0.134 on Lucid.

update-rc.d: warning: /etc/init.d/acpi-support missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>

Revision history for this message
menthurae (menthurae) wrote :
Download full text (4.6 KiB)

Hi, I've got Lucid on my EeePC 1000HE - now, synaptic shows that acpi-support on my system is version 0.136 - yet my Volume/Mute/etc keys still don't work.

Can someone please shed some light on this for me/help me to get it to work?

I ran dpkg -L acpi-support on my desktop (amd64 version) and eeepc (i386 version) - however there are significant differences in the output between the two. Here's the output of the diff...

menthurae@desktopamd64:~/Desktop$ diff desktopamd64.txt laptopi386.txt
3a4,11
> /etc/acpi/playbtn.sh
> /etc/acpi/sleepbtn.sh
> /etc/acpi/stopbtn.sh
> /etc/acpi/webbtn.sh
> /etc/acpi/volupbtn.sh
> /etc/acpi/rotatescreen.sh
> /etc/acpi/thinkpad-stretchortouchpad.sh
> /etc/acpi/batterybtn.sh
4a13,23
> /etc/acpi/events/tosh-mail
> /etc/acpi/events/tosh-wireless
> /etc/acpi/events/asus-wireless-on
> /etc/acpi/events/asus-wireless-off
> /etc/acpi/events/lidbtn
> /etc/acpi/events/videobtn
> /etc/acpi/events/tosh-ibutton
> /etc/acpi/events/sleepbtn
> /etc/acpi/events/tosh-lock
> /etc/acpi/events/asus-touchpad
> /etc/acpi/events/lenovo-touchpad
6c25,27
< /etc/acpi/events/asus-brightness-down
---
> /etc/acpi/events/sony-volume-down
> /etc/acpi/events/ibm-wireless
> /etc/acpi/events/asus-rotate
7a29
> /etc/acpi/events/tosh-www
9,14c31,33
< /etc/acpi/events/asus-media-eject
< /etc/acpi/events/asus-rotate
< /etc/acpi/events/asus-touchpad
< /etc/acpi/events/asus-video
< /etc/acpi/events/asus-wireless-off
< /etc/acpi/events/asus-wireless-on
---
> /etc/acpi/events/tosh-media
> /etc/acpi/events/asus-brightness-down
> /etc/acpi/events/tosh-stop
16,17c35,38
< /etc/acpi/events/ibm-wireless
< /etc/acpi/events/lenovo-touchpad
---
> /etc/acpi/events/asus-video
> /etc/acpi/events/tosh-prev
> /etc/acpi/events/asus-media-eject
> /etc/acpi/events/thinkpad-cmos
19,21d39
< /etc/acpi/events/lidbtn
< /etc/acpi/events/panasonic-lockbtn
< /etc/acpi/events/sleepbtn
23,26d40
< /etc/acpi/events/sony-sleep
< /etc/acpi/events/sony-volume-down
< /etc/acpi/events/sony-volume-up
< /etc/acpi/events/thinkpad-cmos
28,33d41
< /etc/acpi/events/tosh-hibernate
< /etc/acpi/events/tosh-ibutton
< /etc/acpi/events/tosh-lock
< /etc/acpi/events/tosh-mail
< /etc/acpi/events/tosh-media
< /etc/acpi/events/tosh-next
35,47c43,47
< /etc/acpi/events/tosh-prev
< /etc/acpi/events/tosh-stop
< /etc/acpi/events/tosh-wireless
< /etc/acpi/events/tosh-www
< /etc/acpi/events/videobtn
< /etc/acpi/asus-brn-down.sh
< /etc/acpi/asus-brn-up.sh
< /etc/acpi/asus-touchpad.sh
< /etc/acpi/asus-wireless.sh
< /etc/acpi/batterybtn.sh
< /etc/acpi/ejectbtn.sh
< /etc/acpi/hibernate.sh
< /etc/acpi/ibm-wireless.sh
---
> /etc/acpi/events/sony-sleep
> /etc/acpi/events/tosh-next
> /etc/acpi/events/tosh-hibernate
> /etc/acpi/events/panasonic-lockbtn
> /etc/acpi/events/sony-volume-up
49,54d48
< /etc/acpi/lockbtn.sh
< /etc/acpi/mailbtn.sh
< /etc/acpi/mediabtn.sh
< /etc/acpi/mutebtn.sh
< /etc/acpi/nextbtn.sh
< /etc/acpi/playbtn.sh
55a50,52
> /etc/acpi/nextbtn.sh
> /etc/acpi/tosh-wireless.sh
> /etc/acpi/asus-touchpad.sh
57,58c54,57
< /etc/acpi/rotatescreen.sh
< /etc/acpi/screenblank.sh
---
> /etc/acpi/ejectbtn.sh
...

Read more...

Revision history for this message
gophergun (diamantinev) wrote :

I'd like to confirm that this is still broken on my Eee PC 1000HE as well; I upgraded to UNR Lucid upon release and my volume hotkeys no longer work, and acpi-support is version 0.136 according to Synaptic.

Revision history for this message
Eemil Lagerspetz (eemil-lagerspetz) wrote :

menthurae, your diffed files are not sorted. I ran sort -g on the differences you posted, and that reveals that both files have the same lines, just in different order.

Maybe you can do

sudo lsinput
and then
sudo /lib/udev/keymap -i input/eventX
where eventX is a keyboard listed by lsinput.
Then press the keys that don't work and see if there is any output.

Revision history for this message
danciac (danciac-gmail) wrote :

Hi everybody!
I am using an ASUS X59GLseries laptop with the latest 10.04 lucid. I am experiencing some trouble with the volume up/down and volume mute keys. The problem is that the effect of pressed keys is being felt after a lag of about ~20 seconds, and that's when the volume meter appears on the screen. Any ideas?

Thank you.

buniku (mariusgramius)
Changed in acpi-support (Ubuntu):
status: Fix Released → New
Revision history for this message
Steve Langasek (vorlon) wrote :

any remaining issues are *not* caused by acpi-support. Please file a separate bug for issues you'e seeing.

Changed in acpi-support (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.