Ubuntu 9.10 comes with a buggy usbutils-0.82 for HID device

Bug #587523 reported by Xiaofan Chen
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
usbutils (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Binary package hint: usbutils

Reference:
http://kerneltrap.org/mailarchive/linux-usb/2010/5/30/6261714

Subject: Re: "lsusb -vvv" returns "unrecognized" - why?

usbutils-0.82 has problem with its HID parser so it does not recognize HID Class Descriptor and it will report something like the following.
      ** UNRECOGNIZED: 09 21 11 01 00 01 22 43 00
This only affect Ubuntu 9.10 as it comes with usbutils-0.82. Ubuntu 9.04 and Ubuntu 10.04 are not affected.

mcuee@ubuntu64-laptop:~$ lsusb -V
lsusb (usbutils) 0.82
mcuee@ubuntu64-laptop:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 9.10
Release: 9.10
Codename: karmic

mcuee@ubuntu64-laptop:~$ libhid-detach-device 046d:c058
Trying to detach HID with IDs 046d:c058... done.
mcuee@ubuntu64-laptop:~$ lsusb -vvv -d 046d:c058

Bus 003 Device 002: ID 046d:c058 Logitech, Inc.
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x046d Logitech, Inc.
  idProduct 0xc058
  bcdDevice 54.00
  iManufacturer 1 Logitech
  iProduct 2 USB Optical Mouse
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 34
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower 98mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 1
      bInterfaceClass 3 Human Interface Device
      bInterfaceSubClass 1 Boot Interface Subclass
      bInterfaceProtocol 2 Mouse
      iInterface 0
      ** UNRECOGNIZED: 09 21 11 01 00 01 22 43 00
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0006 1x 6 bytes
        bInterval 10

Device Status: 0x0000
  (Bus Powered)

usbutils 0.86 works. Actually usbutils 0.73 and usbutils-0.83 and later
works. Latest version works as well.

Ubuntu 10.04 comes with usbutils-0.86 so it works.

mcuee@ubuntu64-laptop:~$ lsusb -V
lsusb (usbutils) 0.86

mcuee@ubuntu64-laptop:~$ libhid-detach-device 046d:c058
Trying to detach HID with IDs 046d:c058... done.

mcuee@ubuntu64-laptop:~$ lsusb -vvv -d 046d:c058

Bus 003 Device 003: ID 046d:c058 Logitech, Inc.
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x046d Logitech, Inc.
  idProduct 0xc058
  bcdDevice 54.00
  iManufacturer 1 Logitech
  iProduct 2 USB Optical Mouse
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 34
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower 98mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 1
      bInterfaceClass 3 Human Interface Device
      bInterfaceSubClass 1 Boot Interface Subclass
      bInterfaceProtocol 2 Mouse
      iInterface 0
        HID Device Descriptor:
          bLength 9
          bDescriptorType 33
          bcdHID 1.11
          bCountryCode 0 Not supported
          bNumDescriptors 1
          bDescriptorType 34 Report
          wDescriptorLength 67
          Report Descriptor: (length is 67)
            Item(Global): Usage Page, data= [ 0x01 ] 1
                            Generic Desktop Controls
            Item(Local ): Usage, data= [ 0x02 ] 2
                            Mouse
            Item(Main ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Local ): Usage, data= [ 0x01 ] 1
                            Pointer
            Item(Main ): Collection, data= [ 0x00 ] 0
                            Physical
            Item(Global): Usage Page, data= [ 0x09 ] 9
                            Buttons
            Item(Local ): Usage Minimum, data= [ 0x01 ] 1
                            Button 1 (Primary)
            Item(Local ): Usage Maximum, data= [ 0x08 ] 8
                            (null)
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Global): Report Size, data= [ 0x01 ] 1
            Item(Global): Report Count, data= [ 0x08 ] 8
            Item(Main ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position
Non_Volatile Bitfield
            Item(Global): Usage Page, data= [ 0x01 ] 1
                            Generic Desktop Controls
            Item(Global): Logical Minimum, data= [ 0x01 0xf8 ] 63489
            Item(Global): Logical Maximum, data= [ 0xff 0x07 ] 2047
            Item(Global): Report Size, data= [ 0x0c ] 12
            Item(Global): Report Count, data= [ 0x02 ] 2
            Item(Local ): Usage, data= [ 0x30 ] 48
                            Direction-X
            Item(Local ): Usage, data= [ 0x31 ] 49
                            Direction-Y
            Item(Main ): Input, data= [ 0x06 ] 6
                            Data Variable Relative No_Wrap Linear
                            Preferred_State No_Null_Position
Non_Volatile Bitfield
            Item(Global): Logical Minimum, data= [ 0x81 ] 129
            Item(Global): Logical Maximum, data= [ 0x7f ] 127
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Local ): Usage, data= [ 0x38 ] 56
                            Wheel
            Item(Main ): Input, data= [ 0x06 ] 6
                            Data Variable Relative No_Wrap Linear
                            Preferred_State No_Null_Position
Non_Volatile Bitfield
            Item(Global): Usage Page, data= [ 0x0c ] 12
                            Consumer
            Item(Local ): Usage, data= [ 0x38 0x02 ] 568
                            AC Pan
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Main ): Input, data= [ 0x06 ] 6
                            Data Variable Relative No_Wrap Linear
                            Preferred_State No_Null_Position
Non_Volatile Bitfield
            Item(Main ): End Collection, data=none
            Item(Main ): End Collection, data=none
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0006 1x 6 bytes
        bInterval 10
Device Status: 0x0000
  (Bus Powered)

Revision history for this message
Xiaofan Chen (xiaofanc) wrote :

Just look at the lsusb -vvv output for the HID device in the following pages and you will find quite similar "lsusb -vvv" output which contains "** UNRECOGNIZED: 09 21 xx xx xx xx xx xx xx xx". 09 21 is for HID Class Descriptor.

Ubuntu (9.10)
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/368268
      bInterfaceClass 3 Human Interface Device
      bInterfaceSubClass 1 Boot Interface Subclass
      bInterfaceProtocol 2 Mouse
      iInterface 0
      ** UNRECOGNIZED: 09 21 10 01 00 01 22 52 00

http://forum.eeeuser.com/viewtopic.php?id=79783
      bInterfaceClass 3 Human Interface Device
      bInterfaceSubClass 0 No Subclass
      bInterfaceProtocol 0 None
      iInterface 0
      ** UNRECOGNIZED: 09 21 00 01 00 01 22 2f 01

https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/476510
      bInterfaceClass 3 Human Interface Device
      bInterfaceSubClass 1 Boot Interface Subclass
      bInterfaceProtocol 2 Mouse
      iInterface 0
      ** UNRECOGNIZED: 09 21 11 01 00 01 22 71 00

Revision history for this message
Xiaofan Chen (xiaofanc) wrote :

Confirmed by the current upstream maintainer Greg KH.

---------- Forwarded message ----------
From: Greg KH
Date: Sun, May 30, 2010 at 9:54 PM
Subject: Re: "lsusb -vvv" returns "unrecognized" - why?
To: Xiaofan Chen
Cc: Alan Stern, David Brownell, linux-usb AT vger.kernel.org, Danny Milosavljevic

On Sun, May 30, 2010 at 09:27:05PM +0800, Xiaofan Chen wrote:
> I just tried latest git and 0.87 (latest release but not in Sourceforge) and both
> work. Actually 0.83 also works. 0.82 does not work. 0.81 works. For
> sure I know the old 0.73 works.

Great, thanks for letting me know. 0.83 fixed the HID descriptor
parsing bugs in 0.82, so this all makes sense.

And yes, sf.net doesn't have the latest versions, the last time I tried,
I couldn't add a new release there. I should just go take down the
downloads from there entirely soon.

thanks,

greg k-h

Revision history for this message
David Tomaschik (matir) wrote :

Marked confirmed, per upstream.

Changed in usbutils (Ubuntu):
status: New → Confirmed
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.