I got a “Sandberg USB Webcam 1080P HD” from work for home-working. The camera part works. The microphone does not. (I have another webcam with microphone that does work, but it is an old Logitech QuickCam Pro 9000.) In the logs, when connecting the device, I see: kernel: usb 6-2: new high-speed USB device number 15 using xhci_hcd kernel: usb 6-2: New USB device found, idVendor=0c46, idProduct=636b, bcdDevice= 1.00 kernel: usb 6-2: New USB device strings: Mfr=2, Product=1, SerialNumber=3 kernel: usb 6-2: Product: USB 2.0 Camera kernel: usb 6-2: Manufacturer: Sonix Technology Co., Ltd. kernel: usb 6-2: SerialNumber: SN0001 kernel: uvcvideo: Found UVC 1.00 device USB 2.0 Camera (0c46:636b) kernel: input: USB 2.0 Camera: USB Camera as /devices/pci0000:00/0000:00:08.1/0000:07 kernel: usb 6-2: 3:1: cannot get freq at ep 0x84 kernel: usb 6-2: 3:1: cannot get freq at ep 0x84 kernel: usb 6-2: 3:1: cannot get freq at ep 0x84 The last three lines are at the error level. They are my best guess of being related to the microphone issue. (Perhaps related: https://lkml.org/lkml/2017/9/19/824, https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1708499.)
Try to pass quirk_alias=0c46636b:047f1111. This will make the driver applying the same quirk as Plantronics device, and the error should be gone. If this actually makes your device working, we can cook up the proper quirk patch.
(In reply to Takashi Iwai from comment #1) > Try to pass quirk_alias=0c46636b:047f1111. This will make the driver > applying the same quirk as Plantronics device, and the error should be gone. $ cat /proc/cmdline root=PARTLABEL=Linux_Root rootflags=subvol=@/live quirk_alias=0c46636b:047f1111 However, the same error persists and the microphone still does not work.
Err, it's the module option for snd-usb-audio. So, on the boot options, you'll have to pass like snd_usb_audio.quirk_alias=0c46636b:047f1111
(In reply to Takashi Iwai from comment #3) > snd_usb_audio.quirk_alias=0c46636b:047f1111 Ah. That removes the error message, but the microphone still doesn't work. It does work when tested on a Windows laptop. Might I be missing some kernel module? (I am using a self-configured kernel.)
Then the error message was irrelevant from the bug itself. Please give alsa-info.sh output (run with --no-upload option and attach it to Bugzilla), as well as the output of lsusb -v for the device.
Also, as a blind shot, try quirk_alias=0c46636b:046d1111 instead.
(In reply to Takashi Iwai from comment #6) > Also, as a blind shot, try quirk_alias=0c46636b:046d1111 instead. With that, the error returns.
Created attachment 296613 [details] alsa-infor.sh output
Created attachment 296615 [details] lsusb -v output for device
Hm, then try quirk_alias=0c46636b:046d084c. This is the alias to Logitech ConferenceCam Connect that has quirk for the sample rate ep and the delay for each setup.
(In reply to Takashi Iwai from comment #10) > Hm, then try quirk_alias=0c46636b:046d084c. […] Does not help: kernel: usb 4-1.3.2: USB disconnect, device number 4 kernel: usb 4-1.3.2: new high-speed USB device number 11 using xhci_hcd kernel: usb 4-1.3.2: New USB device found, idVendor=0c46, idProduct=636b, bcdDevice= 1.00 kernel: usb 4-1.3.2: New USB device strings: Mfr=2, Product=1, SerialNumber=3 kernel: usb 4-1.3.2: Product: USB 2.0 Camera kernel: usb 4-1.3.2: Manufacturer: Sonix Technology Co., Ltd. kernel: usb 4-1.3.2: SerialNumber: SN0001 kernel: uvcvideo: Found UVC 1.00 device USB 2.0 Camera (0c46:636b) kernel: input: USB 2.0 Camera: USB Camera as /devices/pci0000:00/0000:00:08.1/0000:07:00.3/usb4/4-1/4-1.3/4-1.3.2/4-1.3.2:1.0/input/input31 kernel: usb 4-1.3.2: device (0c46:636b): applying quirk alias 046d:084c kernel: usb 4-1.3.2: 3:1: cannot get freq at ep 0x84 mtp-probe[23019]: checking bus 4, device 11: "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.3/usb4/4-1/4-1.3/4-1.3.2" mtp-probe[23019]: bus: 4, device: 11 was not an MTP device systemd-udevd[23038]: controlC5: Process '/usr/sbin/alsactl restore 5' failed with exit code 99. systemd[1523]: Reached target Sound Card. mtp-probe[23051]: checking bus 4, device 11: "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.3/usb4/4-1/4-1.3/4-1.3.2" mtp-probe[23051]: bus: 4, device: 11 was not an MTP device kernel: usb 4-1.3.2: 3:1: cannot get freq at ep 0x84 kernel: usb 4-1.3.2: 3:1: cannot get freq at ep 0x84
You're testing with a too old kernel, that's why get freq error is shown with this quirk value. But, the delay quirk was already applied in 5.10 kernel, so essentially this doesn't seem helping the primary problem. I have no further clue ATM. You can try to apply the similar workarounds found in quirks.c for your device.
(In reply to Takashi Iwai from comment #12) > I have no further clue ATM. You can try to apply the similar workarounds > found in quirks.c for your device. Thanks for your suggestions. I'll likely just wait and hope this gets fixed at some point.
Oh, BTW, when you test recording, you'd better use arecord with -Dplughw:xxx option directly without PA (where xxx corresponds to your card index).
(In reply to Takashi Iwai from comment #14) > Oh, BTW, when you test recording, you'd better use arecord with -Dplughw:xxx > option directly without PA (where xxx corresponds to your card index). Where can I find the card index?
/proc/asound/cards
(In reply to Takashi Iwai from comment #16) > /proc/asound/cards Thanks. (I should've read man arecord and done arecord -l.) (In reply to Takashi Iwai from comment #14) > Oh, BTW, when you test recording, you'd better use arecord with -Dplughw:xxx > option directly without PA (where xxx corresponds to your card index). I did. No sound for the Sonix, but sound for the Quick Cam 9000, as via Pulse.
Were you able to get the microphone working?
(In reply to Paul Menzel from comment #18) > Were you able to get the microphone working? No. I just tried again with 6.6.13 and the same issue is still there. Because of the audio issue, I've never really used it. Now, while testing, it is clear the video is just bad as well. It's just not good hardware my organization gave me. I was just using old stuff of my own. I'm going to return it and ask if they have something else, which does work with Linux.