Comment 143 for bug 843431

Revision history for this message
hlarsen (hlarsen) wrote :

i'm having this issue on 18.10 as well, 4.18.0-13-generic with a Logitech C310 (046d:081b). it's been an issue since 18.04 and older for me; i can't remember when it worked without issue, but it did at some point.

it appears this commit [0] is the cause as after restoring the specific USB_QUIRK_RESET_RESUME line for my model and recompiling the kernel i cannot reproduce the squeaky-voice issue. with the standard kernel i can reliably reproduce it with Audacity by recording, stopping the recording, then starting another recording - after ~3 "correct" recordings the pitch changes.

with the recompiled kernel it appears the device is being "reset" for each recording:

usb 2-1.6: reset high-speed USB device number 4 using ehci-pci

i do not see this when using the standard 4.18.0-13-generic kernel, so i'm guessing this is what the quirk does and usb_interface_quirk_list in quirks.c isn't catching my webcam. i believe there should be a match based on the code; lsusb output includes the following Interface which looks like it matches the call (USB_VENDOR_AND_INTERFACE_INFO(0x046d, USB_CLASS_VIDEO, 1, 0)) since USB_CLASS_VIDEO is 0x0e which matches the bInterfaceClass, and subclass/protocol also match. note that this is not the first interface in the lsusb output, not sure if that matters.

Bus 002 Device 004: ID 046d:081b Logitech, Inc. Webcam C310
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 239 Miscellaneous Device
  bDeviceSubClass 2 ?
  bDeviceProtocol 1 Interface Association
...
Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 1
    bInterfaceClass 14 Video
    bInterfaceSubClass 1 Video Control
    bInterfaceProtocol 0
    iInterface 0
...

please let me know if there is anything else i can provide to help debug this issue.

[0] https://github.com/torvalds/linux/commit/e387ef5c47ddeaeaa3cbdc54424cdb7a28dae2c0