lsusb shows wrong/duplicate product name

Bug #1971750 reported by Ian! D. Allen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
usbutils (Ubuntu)
New
Undecided
Unassigned

Bug Description

lsusb incorrectly labels a device using the product name from a previous device.

In the listing below, the incorrect product name on the second 04d8:fee9
device ("Microsoft® LifeCam HD-5000") is a copy of the product name
of the first device in the list:

    $ lsusub -s 3:

    Bus 003 Device 002: ID 045e:076d Microsoft Corp. LifeCam HD-5000
    Bus 003 Device 009: ID 090c:6300 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Kingston Reader
    Bus 003 Device 007: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
    Bus 003 Device 019: ID 04d8:fee9 Microchip Technology, Inc.
    Bus 003 Device 011: ID 04d8:fee9 Microchip Technology, Inc. Microsoft® LifeCam HD-5000
    Bus 003 Device 006: ID 03eb:0902 Atmel Corp. 4-Port Hub
    Bus 003 Device 013: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Device 04d8:fee9 is not a Microsoft device.

Below is a verbose listing of the device that displays the wrong product
name. You can see that "Microsoft" doesn't appear anywhere in the
verbose listing, except incorrectly on the title line. Perhaps lsusb is
forgetting to clear the product title string before listing each device,
so a device that is busy or doesn't report a string gets a previous
device's string?

    $ lsusb -v -s 3:11

    Bus 003 Device 011: ID 04d8:fee9 Microchip Technology, Inc. Microsoft® LifeCam HD-5000
    Device Descriptor:
      bLength 18
      bDescriptorType 1
      bcdUSB 2.00
      bDeviceClass 255 Vendor Specific Class
      bDeviceSubClass 0
      bDeviceProtocol 255
      bMaxPacketSize0 8
      idVendor 0x04d8 Microchip Technology, Inc.
      idProduct 0xfee9
      bcdDevice 1.00
      iManufacturer 1 Clearly Open
      iProduct 2 PengAlert module
      iSerial 3 1
      bNumConfigurations 2
      Configuration Descriptor:
        bLength 9
        bDescriptorType 2
        wTotalLength 0x0012
        bNumInterfaces 1
        bConfigurationValue 1
        iConfiguration 4 Default
        bmAttributes 0xc0
          Self Powered
        MaxPower 0mA
        Interface Descriptor:
          bLength 9
          bDescriptorType 4
          bInterfaceNumber 0
          bAlternateSetting 0
          bNumEndpoints 0
          bInterfaceClass 255 Vendor Specific Class
          bInterfaceSubClass 255 Vendor Specific Subclass
          bInterfaceProtocol 255 Vendor Specific Protocol
          iInterface 4 (error)
      Configuration Descriptor:
        bLength 9
        bDescriptorType 2
        wTotalLength 0x0020
        bNumInterfaces 1
        bConfigurationValue 2
        iConfiguration 5 (error)
        bmAttributes 0xc0
          Self Powered
        MaxPower 0mA
        Interface Descriptor:
          bLength 9
          bDescriptorType 4
          bInterfaceNumber 0
          bAlternateSetting 0
          bNumEndpoints 0
          bInterfaceClass 255 Vendor Specific Class
          bInterfaceSubClass 255 Vendor Specific Subclass
          bInterfaceProtocol 255 Vendor Specific Protocol
          iInterface 4 (error)
      Configuration Descriptor:
        bLength 9
        bDescriptorType 2
        wTotalLength 0x0020
        bNumInterfaces 1
        bConfigurationValue 2
        iConfiguration 5 (error)
        bmAttributes 0xc0
          Self Powered
        MaxPower 0mA
        Interface Descriptor:
          bLength 9
          bDescriptorType 4
          bInterfaceNumber 0
          bAlternateSetting 0
          bNumEndpoints 2
          bInterfaceClass 255 Vendor Specific Class
          bInterfaceSubClass 255 Vendor Specific Subclass
          bInterfaceProtocol 255 Vendor Specific Protocol
          iInterface 5 (error)
          Endpoint Descriptor:
            bLength 7
            bDescriptorType 5
            bEndpointAddress 0x01 EP 1 OUT
            bmAttributes 2
              Transfer Type Bulk
              Synch Type None
              Usage Type Data
            wMaxPacketSize 0x0040 1x 64 bytes
            bInterval 0
          Endpoint Descriptor:
            bLength 7
            bDescriptorType 5
            bEndpointAddress 0x82 EP 2 IN
            bmAttributes 2
              Transfer Type Bulk
              Synch Type None
              Usage Type Data
            wMaxPacketSize 0x0040 1x 64 bytes
            bInterval 0
    Device Status: 0x1000
      (Bus Powered)

The 04d8:fee9 device is in active use, which appears to interfere with
lsusb getting all the details. Also, using lsusb interferes with the
use of the device, causing "Protocol error" problems when trying to do
usb_set_configuration(), and also this error:

kernel: [680110.235892] xhci_hcd 0000:00:14.0: Trying to add endpoint 0x1 without dropping it.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: usbutils 1:012-2
ProcVersionSignature: Ubuntu 5.13.0-40.45~20.04.1-generic 5.13.19
Uname: Linux 5.13.0-40-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.23
Architecture: amd64
CasperMD5CheckResult: skip
Date: Thu May 5 12:05:50 2022
EcryptfsInUse: Yes
InstallationDate: Installed on 2020-10-07 (574 days ago)
InstallationMedia: Lubuntu 20.04.1 LTS "Focal Fossa" - Release amd64 (20200731)
SourcePackage: usbutils
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Ian! D. Allen (idallen) wrote :
Revision history for this message
Ian! D. Allen (idallen) wrote :

This bug is fixed in the GIT repository at https://github.com/gregkh/usbutils

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.