Bug 2018096 - ShuttleXpress buttons don't work with kernel 5.14
Summary: ShuttleXpress buttons don't work with kernel 5.14
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 34
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-10-28 08:41 UTC by Mark Knoop
Modified: 2022-06-08 06:29 UTC (History)
20 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-06-08 06:29:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
kernel log (102.01 KB, text/plain)
2021-10-28 08:41 UTC, Mark Knoop
no flags Details

Description Mark Knoop 2021-10-28 08:41:40 UTC
Created attachment 1837864 [details]
kernel log

1. Please describe the problem:

With kernels prior to 5.14, the Countour ShuttleXpress usb input device (0b33:0020) was fully functional. With 5.14 kernels, event types 1 (EV_KEY) and 4 (EV_MSC) do not work.

2. What is the Version-Release number of the kernel:

5.14.11-200


3. Did it work previously in Fedora? If so, what kernel version did the issue
   *first* appear?  Old kernels are available for download at
   https://koji.fedoraproject.org/koji/packageinfo?packageID=8 :

Yes. This is new in 5.14 kernels.

4. Can you reproduce this issue? If so, please provide the steps to reproduce
   the issue below:

Running evtest using kernel 5.14.11-200:

$ sudo evtest /dev/input/event3
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xb33 product 0x20 version 0x110
Input device name: "Contour Design ShuttleXpress"
Supported events:
  Event type 0 (EV_SYN)
  Event type 2 (EV_REL)
    Event code 7 (REL_DIAL)
    Event code 8 (REL_WHEEL)
    Event code 11 (REL_WHEEL_HI_RES)
Properties:
Testing ... (interrupt to exit)
Event: time 1635408282.721327, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408282.721327, -------------- SYN_REPORT ------------
Event: time 1635408284.881372, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1635408284.881372, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value 120
Event: time 1635408284.881372, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408284.881372, -------------- SYN_REPORT ------------
Event: time 1635408285.025370, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408285.025370, -------------- SYN_REPORT ------------
Event: time 1635408289.817445, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408289.817445, -------------- SYN_REPORT ------------
Event: time 1635408290.017497, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408290.017497, -------------- SYN_REPORT ------------
Event: time 1635408290.673504, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408290.673504, -------------- SYN_REPORT ------------
Event: time 1635408290.817501, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408290.817501, -------------- SYN_REPORT ------------
Event: time 1635408291.273518, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408291.273518, -------------- SYN_REPORT ------------
Event: time 1635408291.425516, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408291.425516, -------------- SYN_REPORT ------------
Event: time 1635408291.777487, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408291.777487, -------------- SYN_REPORT ------------
Event: time 1635408291.937531, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408291.937531, -------------- SYN_REPORT ------------
Event: time 1635408292.425540, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408292.425540, -------------- SYN_REPORT ------------
Event: time 1635408292.561543, type 2 (EV_REL), code 7 (REL_DIAL), value 6
Event: time 1635408292.561543, -------------- SYN_REPORT ------------

Running evtest using kernel 5.13:

$ sudo evtest /dev/input/event3
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xb33 product 0x20 version 0x110
Input device name: "Contour Design ShuttleXpress"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 256 (BTN_0)
    Event code 257 (BTN_1)
    Event code 258 (BTN_2)
    Event code 259 (BTN_3)
    Event code 260 (BTN_4)
    Event code 261 (BTN_5)
    Event code 262 (BTN_6)
    Event code 263 (BTN_7)
    Event code 264 (BTN_8)
    Event code 265 (BTN_9)
    Event code 266 (?)
    Event code 267 (?)
    Event code 268 (?)
  Event type 2 (EV_REL)
    Event code 7 (REL_DIAL)
    Event code 8 (REL_WHEEL)
    Event code 11 (REL_WHEEL_HI_RES)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1635409049.737160, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409049.737160, -------------- SYN_REPORT ------------
Event: time 1635409050.857174, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1635409050.857174, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value 120
Event: time 1635409050.857174, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409050.857174, -------------- SYN_REPORT ------------
Event: time 1635409050.969176, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409050.969176, -------------- SYN_REPORT ------------
Event: time 1635409053.153221, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409053.153221, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1635409053.153221, type 1 (EV_KEY), code 260 (BTN_4), value 1
Event: time 1635409053.153221, -------------- SYN_REPORT ------------
Event: time 1635409053.297210, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409053.297210, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1635409053.297210, type 1 (EV_KEY), code 260 (BTN_4), value 0
Event: time 1635409053.297210, -------------- SYN_REPORT ------------
Event: time 1635409057.337261, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409057.337261, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1635409057.337261, type 1 (EV_KEY), code 261 (BTN_5), value 1
Event: time 1635409057.337261, -------------- SYN_REPORT ------------
Event: time 1635409057.497271, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409057.497271, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1635409057.497271, type 1 (EV_KEY), code 261 (BTN_5), value 0
Event: time 1635409057.497271, -------------- SYN_REPORT ------------
Event: time 1635409058.169279, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409058.169279, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1635409058.169279, type 1 (EV_KEY), code 262 (BTN_6), value 1
Event: time 1635409058.169279, -------------- SYN_REPORT ------------
Event: time 1635409058.353241, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409058.353241, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1635409058.353241, type 1 (EV_KEY), code 262 (BTN_6), value 0
Event: time 1635409058.353241, -------------- SYN_REPORT ------------
Event: time 1635409058.793284, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409058.793284, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1635409058.793284, type 1 (EV_KEY), code 263 (BTN_7), value 1
Event: time 1635409058.793284, -------------- SYN_REPORT ------------
Event: time 1635409059.009245, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409059.009245, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1635409059.009245, type 1 (EV_KEY), code 263 (BTN_7), value 0
Event: time 1635409059.009245, -------------- SYN_REPORT ------------
Event: time 1635409059.545295, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409059.545295, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1635409059.545295, type 1 (EV_KEY), code 264 (BTN_8), value 1
Event: time 1635409059.545295, -------------- SYN_REPORT ------------
Event: time 1635409059.737298, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1635409059.737298, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1635409059.737298, type 1 (EV_KEY), code 264 (BTN_8), value 0
Event: time 1635409059.737298, -------------- SYN_REPORT ------------


5. Does this problem occur with the latest Rawhide kernel? To install the
   Rawhide kernel, run ``sudo dnf install fedora-repos-rawhide`` followed by
   ``sudo dnf update --enablerepo=rawhide kernel``:

Not tested yet - will update this bug with a test in rawhide kernel.

6. Are you running any modules that not shipped with directly Fedora's kernel?:

No.

7. Please attach the kernel logs. You can get the complete kernel log
   for a boot with ``journalctl --no-hostname -k > dmesg.txt``. If the
   issue occurred on a previous boot, use the journalctl ``-b`` flag.

Comment 1 Mark Knoop 2021-10-28 08:48:06 UTC
Further to point 5 above, the problem persists using rawhide kernel 5.15.0-0.rc7.53.fc36.

Comment 2 Hans de Goede 2021-10-28 09:19:56 UTC
Thank you for your bug report, can you please run:

sudo dnf install hid-replay

And then:

sudo hid-recorder

and select the hidraw devices belonging to "Contour Design ShuttleXpress", press one of the no longer working buttons and then copy and paste the output (including the "headers") here ?

Comment 3 Hans de Goede 2021-10-28 09:53:50 UTC
I asked Benjamin (a colleague of mine, added to the Cc) for some input on this and he has found the likely cause for this issue. I've prepared a test kernel-build with a fix added:

https://koji.fedoraproject.org/koji/taskinfo?taskID=77958703

Note this is still building atm, it should be finished in a couple of hours.

Here are some generic instructions for installing a kernel directly from koji (our build system):
https://fedorapeople.org/~jwrdegoede/kernel-test-instructions.txt

Please give this a try once it is finished building.

Regardless of the outcome it would be good if you can still provide the hid-recorder output.

Comment 4 Mark Knoop 2021-10-28 15:42:55 UTC
Thanks Hans. The newly build kernel does indeed fix the problem. Here is the output from hid-recorder for all three kernels, pressing each of the 5 buttons and then one action each on the ring and dial.

5.13

Available devices:
/dev/hidraw0:   Contour Design ShuttleXpress
/dev/hidraw1:   ErgoDox EZ ErgoDox EZ
/dev/hidraw2:   ErgoDox EZ ErgoDox EZ
/dev/hidraw3:   ELECOM ELECOM TrackBall Mouse
Select the device event number [0-3]: 0
D: 0
R: 75 05 0c 09 01 a1 01 a1 02 05 01 09 38 15 80 25 7f 66 00 00 75 08 95 01 81 06 09 37 15 00 26 ff 00 66 00 00 75 08 95 01 81 2e 95 01 75 08 81 01 05 09 19 01 29 0d 15 00 25 01 35 00 45 01 75 01 95 0d 81 02 95 01 75 03 81 01 c0 c0
N: Contour Design ShuttleXpress
P: usb-0000:00:14.0-1/input0
I: 3 0b33 0020
D: 0
E: 0.000000 5 00 74 00 10 00
E: 0.175953 5 00 74 00 00 00
E: 5.696116 5 00 74 00 20 00
E: 5.872057 5 00 74 00 00 00
E: 6.824118 5 00 74 00 40 00
E: 7.000141 5 00 74 00 00 00
E: 7.608153 5 00 74 00 80 00
E: 7.808124 5 00 74 00 00 00
E: 8.696153 5 00 74 00 00 01
E: 8.888148 5 00 74 00 00 00
E: 10.688235 5 01 74 00 00 00
E: 10.856236 5 00 74 00 00 00
E: 11.736260 5 00 75 00 00 00
E: 12.440269 5 00 76 00 00 00

5.14.11-200

Available devices:
/dev/hidraw0:   Contour Design ShuttleXpress
/dev/hidraw1:   ErgoDox EZ ErgoDox EZ
/dev/hidraw2:   ErgoDox EZ ErgoDox EZ
/dev/hidraw3:   ELECOM ELECOM TrackBall Mouse
Select the device event number [0-3]: 0
D: 0
R: 75 05 0c 09 01 a1 01 a1 02 05 01 09 38 15 80 25 7f 66 00 00 75 08 95 01 81 06 09 37 15 00 26 ff 00 66 00 00 75 08 95 01 81 2e 95 01 75 08 81 01 05 09 19 01 29 0d 15 00 25 01 35 00 45 01 75 01 95 0d 81 02 95 01 75 03 81 01 c0 c0
N: Contour Design ShuttleXpress
P: usb-0000:00:14.0-1/input0
I: 3 0b33 0020
D: 0
E: 0.000000 5 00 00 00 10 00
E: 0.191924 5 00 00 00 00 00
E: 1.047934 5 00 00 00 20 00
E: 1.224008 5 00 00 00 00 00
E: 1.967994 5 00 00 00 40 00
E: 2.143989 5 00 00 00 00 00
E: 2.639995 5 00 00 00 80 00
E: 2.816002 5 00 00 00 00 00
E: 3.256000 5 00 00 00 00 01
E: 3.423994 5 00 00 00 00 00
E: 4.239989 5 01 00 00 00 00
E: 4.423986 5 00 00 00 00 00
E: 5.064006 5 00 01 00 00 00
E: 5.536004 5 00 02 00 00 00

5.14.15-200.bx2018096

Available devices:
/dev/hidraw0:   Contour Design ShuttleXpress
/dev/hidraw1:   ErgoDox EZ ErgoDox EZ
/dev/hidraw2:   ErgoDox EZ ErgoDox EZ
/dev/hidraw3:   ELECOM ELECOM TrackBall Mouse
Select the device event number [0-3]: 0
D: 0
R: 75 05 0c 09 01 a1 01 a1 02 05 01 09 38 15 80 25 7f 66 00 00 75 08 95 01 81 06 09 37 15 00 26 ff 00 66 00 00 75 08 95 01 81 2e 95 01 75 08 81 01 05 09 19 01 29 0d 15 00 25 01 35 00 45 01 75 01 95 0d 81 02 95 01 75 03 81 01 c0 c0
N: Contour Design ShuttleXpress
P: usb-0000:00:14.0-1/input0
I: 3 0b33 0020
D: 0
E: 0.000001 5 00 02 00 10 00
E: 0.199966 5 00 02 00 00 00
E: 0.920061 5 00 02 00 20 00
E: 1.096093 5 00 02 00 00 00
E: 1.760174 5 00 02 00 40 00
E: 1.960208 5 00 02 00 00 00
E: 2.504276 5 00 02 00 80 00
E: 2.688298 5 00 02 00 00 00
E: 3.104356 5 00 02 00 00 01
E: 3.288376 5 00 02 00 00 00
E: 4.808586 5 01 02 00 00 00
E: 5.128622 5 00 02 00 00 00
E: 8.577090 5 00 03 00 00 00
E: 9.009144 5 00 04 00 00 00

Comment 5 Hans de Goede 2021-10-28 16:38:15 UTC
Thanks for the logs and for reporting that the test kernel fixes this.

I've submitted the kernel-patch fixing this upstream now:
https://lore.kernel.org/linux-input/20211028163330.503146-1-hdegoede@redhat.com/T/#u

It has a "Fixes" tag so it should get back-ported to the stable series, but unless Jiri is really quick and pulls this in in time for 5.16 final, we need to wait for 5.17-rc1 before this will be merged by Linus (after which it should get backported to the stable series).

Comment 6 Ben Cotton 2022-05-12 16:56:41 UTC
This message is a reminder that Fedora Linux 34 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 34 on 2022-06-07.
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 EOL if it remains open with a
'version' of '34'.

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

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 34 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 Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 7 Ben Cotton 2022-06-08 06:29:34 UTC
Fedora Linux 34 entered end-of-life (EOL) status on 2022-06-07.

Fedora Linux 34 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. If you
are unable to reopen this bug, please file a new report against the
current release.

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


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