Bug 444440 - volume dial breaks keyboard handling
Summary: volume dial breaks keyboard handling
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: udev
Version: 15
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: udev-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 511408 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-04-28 13:03 UTC by Tomasz Sterna
Modified: 2012-08-07 20:18 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
: 511408 617572 (view as bug list)
Environment:
Last Closed: 2012-08-07 20:18:24 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
evtest run output (5.59 KB, text/plain)
2008-07-21 14:08 UTC, Tomasz Sterna
no flags Details
/sys/devices/virtual/dmi/id/ (170.00 KB, application/x-tar)
2011-07-01 09:27 UTC, Pavel Šimerda (pavlix)
no flags Details

Description Tomasz Sterna 2008-04-28 13:03:43 UTC
On a Toshiba Satellite Pro U300 laptop (and others with the Pro series), there
is a volume dial on the side of the laptop, which is used to control the sound
volume.

It works on Fedora GNOME 2.22.1, but incorrectly.

Even slightest move up of the dial, moves the volume all the way up. The volume
control beside the clock shows the setting is in effect, also the volume icon
popup shows the volume all the way up.

The same happens with even slightest move the volume dial down. It turns the
volume all the way down, showing the mute sound icon beside the clock on the
panel and on the popup.

Aditionally the move breaks the keyboard handling. After the volume all up/down
keyboard is left in a non-working state. The signalling is still on because the
volume popup stil shows and disappears consistenly showing the max/mute icon.

I tried to see what keycodes the volume dial sends using 'xev', but since the
keayboard handling breaks during the dial move, I couldn't get much information
of it.

To get my keyboard working back, I need to switch to text console (Ctrl-Alt-F1)
and back to graphical console (Alt-F7).

Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Bastien Nocera 2008-04-28 23:51:12 UTC
First, gnome-audio has nothing to do with your problem. gnome-audio is a package
with a bunch of audio files to be played when certain events occur, ie. an audio
theme.

As for using the dial "breaking the keyboard handling", I'm not quite sure what
it means. You could try using the dial on the command-line instead, with a tool
like evtest (not packaged, look for evtest.c on google), or printing whatever
xev gives you back (even if you need to switch VTs to get to the result).

My guess is that this Toshiba laptop needs a driver to make this button work
appropriately. Reassigning to the kernel, where hopefully somebody will have the
hardware to test this, and point the finger back at GNOME if it's indeed the
culprit (unlikely).

Comment 2 Tomasz Sterna 2008-04-29 07:58:46 UTC
This is not a kernel problem.

This volume dial sends normal multimedia keyboard VolumeUp and VolumeDown
keypresses. But I guess with some additional keycodes. In GNOME Keyboard
Shortcuts these are correctly identified as XF86AudioRaiseVolume and
XF86AudioLowerVolume.

Under textmode console there is no problem. Turning the volume wheel yelds some
~ characters on screen only, but the keyboard is still working.
Under XOrg, once I move the volume dial, keyboard is not working anymore. Maybe
it is switched to RAW mode or something? (I don't know the exact X internals).

So, this is more likely XOrg/GNOME problem, not kernel.

I would gladly help debugging it, but I do need some guidance.

Comment 3 Chuck Ebbert 2008-04-29 14:59:54 UTC
Can you boot to text mode and run 'showkey -s' then turn the volume up one
click, let showkey terminate and post the output?

Comment 4 Tomasz Sterna 2008-04-29 18:44:54 UTC
VolumeUp is:
0xe0 0xb0 0xe0 0x30 0xe0 0xb0 0xe0 0x30 0xe0 0xb0 0xe0 0x30

VolumeDown is:
0xe0 0xae 0xe0 0x2e 0xe0 0xae 0xe0 0x2e 0xe0 0xae 0xe0 0x2e

Comment 5 Bug Zapper 2008-05-14 10:18:10 UTC
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 6 Tomasz Sterna 2008-06-26 14:47:50 UTC
Fedora 9 is out.

Is anything going around this issue?

Comment 7 Peter Hutterer 2008-07-21 01:10:41 UTC
sounds like http://lists.freedesktop.org/archives/xorg/2008-June/036634.html

can you run evtest [1] on the device file and move the wheel by one? this should
indicate whether a key down event is being sent.

[1] http://people.freedesktop.org/~whot/evtest.c

Comment 8 Bastien Nocera 2008-07-21 08:38:53 UTC
(In reply to comment #7)
> sounds like http://lists.freedesktop.org/archives/xorg/2008-June/036634.html

I don't like that patch because it breaks auto-repeat for a huge number of
perfectly working keyboards, and it adds policy to the X server. This should
probably only be done if a certain hal property was present.

Comment 9 Tomasz Sterna 2008-07-21 14:08:09 UTC
After moving the wheel up by one I got the following output:
Event: time 1216648995.027213, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1216648995.027232, type 1 (Key), code 115 (VolumeUp), value 0
Event: time 1216648995.027235, -------------- Report Sync ------------
Event: time 1216648995.037187, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1216648995.037198, type 1 (Key), code 115 (VolumeUp), value 1
Event: time 1216648995.037200, -------------- Report Sync ------------
Event: time 1216648995.067159, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1216648995.067170, type 1 (Key), code 115 (VolumeUp), value 0
Event: time 1216648995.067172, -------------- Report Sync ------------
Event: time 1216648995.077224, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1216648995.077232, type 1 (Key), code 115 (VolumeUp), value 1
Event: time 1216648995.077234, -------------- Report Sync ------------
Event: time 1216648995.107180, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1216648995.107189, type 1 (Key), code 115 (VolumeUp), value 0
Event: time 1216648995.107191, -------------- Report Sync ------------
Event: time 1216648995.117238, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1216648995.117245, type 1 (Key), code 115 (VolumeUp), value 1
Event: time 1216648995.117247, -------------- Report Sync ------------

Full evtest output attached.


Do we have evidence, that the patch really breaks things?

Comment 10 Tomasz Sterna 2008-07-21 14:08:49 UTC
Created attachment 312257 [details]
evtest run output

Comment 11 Peter Hutterer 2008-07-21 23:53:09 UTC
yep, same problem. we never get a key up event, resulting in endless key repeats
by the server.

(In reply to comment #8)
> (In reply to comment #7)
> > sounds like http://lists.freedesktop.org/archives/xorg/2008-June/036634.html
> 
> I don't like that patch because it breaks auto-repeat for a huge number of
> perfectly working keyboards, and it adds policy to the X server. This should
> probably only be done if a certain hal property was present.

agreed. mjg59 was talking about a kernel quirk for this, this is the "correct"
solution.



Comment 12 Tomasz Sterna 2008-11-01 09:39:30 UTC
Is someone working on the quirk?

Comment 13 Peter Hutterer 2008-11-05 00:51:35 UTC
Reassigning to kernel, sounds like Bug 460237 (for which I have seen a patch on linux-input) has a quirk already, should be able to get one for this one too.

Comment 14 Bug Zapper 2009-06-10 00:29:17 UTC
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 15 Bug Zapper 2009-07-14 18:04:38 UTC
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 16 Bastien Nocera 2009-07-27 15:36:39 UTC
*** Bug 511408 has been marked as a duplicate of this bug. ***

Comment 17 Dan 2009-07-27 15:44:15 UTC
Can this bug be reopened, since it happens on Fedora 11 still?  I don't see how to reopen the bug.

Comment 18 Bug Zapper 2010-04-27 12:01:15 UTC
This message is a reminder that Fedora 11 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 11.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '11'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 11's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 11 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 19 Bug Zapper 2010-06-28 10:35:30 UTC
Fedora 11 changed to end-of-life (EOL) status on 2010-06-25. Fedora 11 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 21 Bastien Nocera 2010-07-23 13:11:39 UTC
Thanks for the notice Martin.

Comment 22 Chuck Ebbert 2010-07-23 15:25:03 UTC
Fedora kernel maintainers already get copies of all mail for kernel-maint@

Comment 23 Fedora Update System 2010-09-21 14:39:57 UTC
udev-145-22.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/udev-145-22.fc12

Comment 24 Fedora Update System 2010-09-22 00:34:28 UTC
udev-145-22.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update udev'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/udev-145-22.fc12

Comment 25 Bug Zapper 2010-11-04 11:56:08 UTC
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 26 Bug Zapper 2010-12-05 07:11:17 UTC
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 27 Pavel Šimerda (pavlix) 2011-01-23 16:25:22 UTC
I am afraid this bug is still present in Fedora 13 and will test with Fedora 14.

Cheers,
Pavel

Comment 28 Karel Volný 2011-04-21 14:21:59 UTC
reopening as per comment #27 - please retest

if this was really fixed by the udev-145-22.fc12 update (and there's no regression in newer Fedora) then please close this bug properly, WONTFIX really isn't appropriate for a bug that has been fixed ...

Comment 29 Bug Zapper 2011-06-02 18:32:50 UTC
This message is a reminder that Fedora 13 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 13.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '13'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 13's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 13 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 30 Bug Zapper 2011-06-27 13:58:02 UTC
Fedora 13 changed to end-of-life (EOL) status on 2011-06-25. Fedora 13 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 31 Pavel Šimerda (pavlix) 2011-06-28 22:02:31 UTC
I have just tested it on Fedora 15 and the bug is still present.

Comment 32 Karel Volný 2011-06-29 09:18:03 UTC
(In reply to comment #31)
> I have just tested it on Fedora 15 and the bug is still present.

reopening then

if the patch mentioned in comment #20 doesn't fix the issue then we have a problem ...

please check that you have the appropriate rule in place -

# grep TOSHIBA /lib/udev/rules.d/95-keyboard-force-release.rules

ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="Satellite U300|Satellite Pro U300|Satellite U305|SATELLITE U500", RUN+="keyboard-force-release.sh $devpath common-volume-keys"


and does your model name match one of the product names listed?

Comment 33 Pavel Šimerda (pavlix) 2011-06-29 18:10:26 UTC
Thanks for your reply...

grep TOSHIBA /lib/udev/rules.d/95-keyboard-force-release.rules
ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="Satellite U300|Satellite Pro U300|Satellite U305|SATELLITE U500", RUN+="keyboard-force-release.sh $devpath common-volume-keys"

I don't know where is keyboard-force-release.sh

My notebook is Toshiba Satellite u300-13u.

Comment 34 Martin Pitt 2011-06-30 08:06:10 UTC
Pavel,

it seems you have a slightly different model than the one that was originally reported here. I now made the name matches more liberal, which sohuld also catch your model:

http://git.kernel.org/?p=linux/hotplug/udev.git;a=commit;h=daa42554ea1f3bc861805a753d2dd07c1c5db743

Comment 35 Karel Volný 2011-06-30 08:57:37 UTC
Pavle, would you mind patching your udev rules with Martin's update to test it?

as for the script, the full path is /lib/udev/keyboard-force-release.sh and it is included in udev package

Comment 36 Pavel Šimerda (pavlix) 2011-06-30 21:52:10 UTC
I hand-applied the patch. Is there any other way to test it than reboot?

Comment 37 Martin Pitt 2011-07-01 06:34:24 UTC
Yes, you can run

  udevadm trigger --subsystem-match=input

as root.

Comment 38 Pavel Šimerda (pavlix) 2011-07-01 09:25:23 UTC
The patch did *not* help.

Comment 39 Pavel Šimerda (pavlix) 2011-07-01 09:27:09 UTC
Created attachment 510827 [details]
/sys/devices/virtual/dmi/id/

This archive contains my /sys/devices/virtual/dmi/id/. I hope it helps.

Comment 40 Martin Pitt 2011-07-01 10:44:21 UTC
Pavel,

something seems to have gone wrong there:

$ cat product_version
��������������������������������

can you please give me the output of

  cat /sys/class/dmi/id/product_name

? Does it say something reasonable like "Satellite u300" or just the broken garbage that your tarball has?

Comment 41 Pavel Šimerda (pavlix) 2011-07-01 19:51:02 UTC
Martin,

it is as broken as you see it in the tarball. Binary garbage full of FF bytes.

Comment 42 Martin Pitt 2011-07-01 20:07:11 UTC
Pavel,

thanks for checking. I'm afraid there's no generic way to fix this in the rules then :/

You can fix it locally by creating a file /etc/udev/rules.d/95-keyboard.rules with

--------------------- 8< ------------------
ACTION=="remove", GOTO="force_release_end"
SUBSYSTEM!="serio", GOTO="force_release_end"
KERNEL!="serio*", GOTO="force_release_end"
DRIVER!="atkbd", GOTO="force_release_end"
ENV{DMI_VENDOR}="$attr{[dmi/id]sys_vendor}"
ENV{DMI_VENDOR}=="TOSHIBA", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
--------------------- 8< ------------------

Comment 43 Martin Pitt 2011-07-01 20:07:41 UTC
Whoops, sorry. You need to append a line 


LABEL="force_release_end"

Comment 44 Pavel Šimerda (pavlix) 2011-07-01 20:26:41 UTC
Trying:

# cat /etc/udev/rules.d/95-keyboard.rules
ACTION=="remove", GOTO="force_release_end"
SUBSYSTEM!="serio", GOTO="force_release_end"
KERNEL!="serio*", GOTO="force_release_end"
DRIVER!="atkbd", GOTO="force_release_end"
ENV{DMI_VENDOR}="$attr{[dmi/id]sys_vendor}"
ENV{DMI_VENDOR}=="TOSHIBA", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
LABEL="force_release_end"

It did not help. Unfortunately I don't understand it enough to debug.

I've been using fedora for a long time and I learned not to touch the wheel. But I'm still very curious about fixing this. To learn a bit more about udev, if not for anything else.

Comment 45 Pavel Šimerda (pavlix) 2011-09-09 00:56:50 UTC
For me, gnome-shell doesn't get confused anymore. Maybe because of the fix above, maybe not, I don't actually know. I'll test on a fresh F16 install when it's out.

Comment 46 Fedora Admin XMLRPC Client 2011-10-20 16:09:27 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 47 Fedora Admin XMLRPC Client 2011-10-20 16:11:41 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 48 Fedora Admin XMLRPC Client 2011-10-20 16:13:28 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 49 Fedora Admin XMLRPC Client 2011-10-20 16:17:54 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 50 Fedora End Of Life 2012-08-07 20:18:27 UTC
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping


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