Public bug reported:

I've got a generic HID device Joystick with 2 buttons. On the latest
18.04 4.15 kernel both buttons were detected separately and work
correctly. After upgrading to HWE 5.0.0-31 the second button
disappeared. When I press it, the first button gets activated instead.

I've used Wireshark to make sure the Joystick continues to send the
correct Interface descriptor, and it reports the 2 buttons separately in
its payload, according to how the buttons are pressed.

Here is the Interface descriptor the Joystick is submitting:

  0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
  0x09, 0x04,                    // USAGE (Joystick)
  0xa1, 0x01,                    // COLLECTION (Application)
  0x09, 0x01,                    //   USAGE (Pointer)
  0xA1, 0x00,                    //   COLLECTION (Physical)
  0x09, 0x30,                    //     USAGE (X)
  0x09, 0x31,                    //     USAGE (Y)
  0x15, 0x81,                    //     LOGICAL_MINIMUM (-127)
  0x25, 0x7F,                    //     LOGICAL_MAXIMUM (127)
  0x75, 0x08,                    //     REPORT_SIZE (8)
  0x95, 0x02,                    //     REPORT_COUNT (2)
  0x81, 0x02,                    //     INPUT (Data,Var,Abs)
  0x05, 0x09,                    //     USAGE_PAGE (Button)
  0x19, 0x01,                    //     USAGE_MINIMUM
  0x29, 0x01,                    //     USAGE_MAXIMUM
  0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
  0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)
  0x95, 0x02,                    //     REPORT_COUNT (2)
  0x75, 0x01,                    //     REPORT_SIZE (1)
  0x81, 0x02,                    //     INPUT (Data,Var,Abs)
  0x95, 0x01,                    //     REPORT_COUNT (1)
  0x75, 0x06,                    //     REPORT_SIZE (6)
  0x81, 0x03,                    //     INPUT (Const,Var,Abs)
  0xC0,                          //   END_COLLECTION
  0xC0,                          // END COLLECTION

Here is the resulting report structure of 3 bytes, describing the
current state of the Joystick:

     X7 X6 X5 X4 X3 X2 X1 X0 .... 8 bit signed relative coordinate x
     Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 .... 8 bit signed relative coordinate y
      .  .  .  .  .  . B1 B0 .... two bits for Fire buttons

I can confirm from Wireshark that the last byte will be 01 for button1
pressed, 02 for button2 pressed, and 03 for both buttons pressed.
Nevertheless only one button is detected. I've tested that both with
jstest-gtk, and with freedroid. I've tested on a 2nd machine, on which I
did nothing but an upgrade from 4.15 to 5.0 HWE, on 4.15 it worked, on
5.0 it ceased working.

Please advise if you need further info.

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: linux-image-5.0.0-31-generic 5.0.0-31.33~18.04.1
ProcVersionSignature: Ubuntu 5.0.0-31.33~18.04.1-generic 5.0.21
Uname: Linux 5.0.0-31-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.7
Architecture: amd64
Date: Sat Oct 12 02:03:06 2019
InstallationDate: Installed on 2019-10-08 (3 days ago)
InstallationMedia: Ubuntu 18.04.3 LTS "Bionic Beaver" - Release amd64 (20190805)
ProcEnviron:
 LANGUAGE=en_GB:en
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
SourcePackage: linux-signed-hwe
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: linux-signed-hwe (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug bionic

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1847830

Title:
  HWE kernel 5.0 breaks Joystick 2nd button

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-signed-hwe/+bug/1847830/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to