• Houston Yaroschoff's avatar
    usb: cdc_acm: Add quirk for Uniden UBC125 scanner · 6db90655
    Houston Yaroschoff authored
    BugLink: https://bugs.launchpad.net/bugs/1784409
    
    commit 4a762569 upstream.
    
    Uniden UBC125 radio scanner has USB interface which fails to work
    with cdc_acm driver:
      usb 1-1.5: new full-speed USB device number 4 using xhci_hcd
      cdc_acm 1-1.5:1.0: Zero length descriptor references
      cdc_acm: probe of 1-1.5:1.0 failed with error -22
    
    Adding the NO_UNION_NORMAL quirk for the device fixes the issue:
      usb 1-4: new full-speed USB device number 15 using xhci_hcd
      usb 1-4: New USB device found, idVendor=1965, idProduct=0018
      usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      usb 1-4: Product: UBC125XLT
      usb 1-4: Manufacturer: Uniden Corp.
      usb 1-4: SerialNumber: 0001
      cdc_acm 1-4:1.0: ttyACM0: USB ACM device
    
    `lsusb -v` of the device:
    
      Bus 001 Device 015: ID 1965:0018 Uniden Corporation
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               2.00
        bDeviceClass            2 Communications
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0        64
        idVendor           0x1965 Uniden Corporation
        idProduct          0x0018
        bcdDevice            0.01
        iManufacturer           1 Uniden Corp.
        iProduct                2 UBC125XLT
        iSerial                 3 0001
        bNumConfigurations      1
        Configuration Descriptor:
          bLength                 9
          bDescriptorType         2
          wTotalLength           48
          bNumInterfaces          2
          bConfigurationValue     1
          iConfiguration          0
          bmAttributes         0x80
            (Bus Powered)
          MaxPower              500mA
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      0 None
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x87  EP 7 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0008  1x 8 bytes
              bInterval              10
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0 Unused
            bInterfaceProtocol      0
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x81  EP 1 IN
              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     0x02  EP 2 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               0
      Device Status:     0x0000
        (Bus Powered)
    Signed-off-by: default avatarHouston Yaroschoff <hstn@4ever3.net>
    Cc: stable <stable@vger.kernel.org>
    Acked-by: default avatarOliver Neukum <oneukum@suse.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
    Signed-off-by: default avatarKhalid Elmously <khalid.elmously@canonical.com>
    6db90655
cdc-acm.c 53.4 KB