Logitech Streamcam Webcam not working on Fedora 36

Hi All,

My Logitech C920 “Streamcam” webcam isn’t working in my new installation of Fedora 36.

It’s supposed to be fully supported in Linux, and if I boot into KDE Neon 20.04 it works perfectly, so I don’t think it’s a hardware issue.

The webcam is detected by the system, but using it in various apps (e.g. Cheese) causes them to instantly freeze/crash.

It also appears to be crashing my USB hub, causing my network connection to either slow down to almost nothing, or to drop out completely.

I’ve tried everything I can think of, and I’m stumped! So appealing for help here :grinning: So with apologies for the long post, firstly here’s the output from the commands I’ve tried so far…

lsusb gives:

[ian@coolermaster-fedora ~]$ lsusb
Bus 004 Device 002: ID 046d:0893 Logitech, Inc. StreamCam
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0424:2504 Microchip Technology, Inc. (formerly SMSC) Hub
Bus 001 Device 002: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 001 Device 006: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 001 Device 005: ID 1462:7c79 Micro Star International MYSTIC LIGHT
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[ian@coolermaster-fedora ~]$

v4l2-ctl --list-devices gives:

[ian@coolermaster-fedora ~]$ v4l2-ctl --list-devices
Logitech StreamCam (usb-0000:02:00.0-1):
/dev/video0
/dev/video1
/dev/media0
[ian@coolermaster-fedora ~]$

But once things have locked up, the command sebsequently gives:

[ian@coolermaster-fedora ~]$ v4l2-ctl --list-devices
Cannot open device /dev/video0, exiting.
[ian@coolermaster-fedora ~]$

Guvcview shows video for a single frame, then locks up (segfaults if I leave it long enough).

Running dmesg gives:

[ 2249.753065] usb 4-1: new SuperSpeed USB device number 2 using xhci_hcd
[ 2249.768635] usb 4-1: New USB device found, idVendor=046d, idProduct=0893, bcdDevice= 3.17
[ 2249.768638] usb 4-1: New USB device strings: Mfr=0, Product=2, SerialNumber=3
[ 2249.768639] usb 4-1: Product: Logitech StreamCam
[ 2249.768640] usb 4-1: SerialNumber: E0B37315
[ 2249.781189] hid-generic 0003:046D:0893.0003: hiddev97,hidraw2: USB HID v1.11 Device [Logitech StreamCam] on usb-0000:02:00.0-1/input5
[ 2249.790903] mc: Linux media interface: v0.10
[ 2249.802938] videodev: Linux video capture interface: v2.00
[ 2249.821374] usb 4-1: current rate 16000 is different from the runtime rate 24000
[ 2249.830347] usb 4-1: current rate 16000 is different from the runtime rate 32000
[ 2249.839341] usb 4-1: current rate 16000 is different from the runtime rate 48000
[ 2249.880727] usbcore: registered new interface driver snd-usb-audio
[ 2249.880796] usb 4-1: Found UVC 1.00 device Logitech StreamCam (046d:0893)
[ 2249.886236] input: Logitech StreamCam as /devices/pci0000:00/0000:00:1c.0/0000:02:00.0/usb4/4-1/4-1:1.0/input/input20
[ 2249.886321] usbcore: registered new interface driver uvcvideo
[ 2249.934282] usb 4-1: current rate 16000 is different from the runtime rate 48000
[ 2249.947418] usb 4-1: current rate 16000 is different from the runtime rate 48000
[ 2249.959281] usb 4-1: current rate 16000 is different from the runtime rate 48000
[ 2435.508554] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ 2441.378964] uvcvideo 4-1:1.1: Failed to query (130) UVC probe control : -110 (exp. 26).
[ 2442.339744] usb 4-1: Failed to query (SET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2446.435597] uvcvideo 4-1:1.1: Failed to set UVC commit control : -110 (exp. 26).
[ 2447.459527] usb 4-1: Failed to query (SET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2452.580392] usb 4-1: Failed to query (SET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2457.699322] usb 4-1: Failed to query (SET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2462.820269] usb 4-1: Failed to query (SET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2467.940175] usb 4-1: Failed to query (GET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2473.059154] usb 4-1: Failed to query (GET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2478.179013] usb 4-1: Failed to query (GET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2483.299003] usb 4-1: Failed to query (GET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2488.418905] usb 4-1: Failed to query (GET_CUR) UVC control 10 on unit 3: -110 (exp. 2).
[ 2488.428510] show_signal_msg: 154 callbacks suppressed
[ 2488.428513] guvcview[6859]: segfault at 7f3c45ededa0 ip 00007f3c45ededa0 sp 00007f3c44b6f658 error 14 in 18f520a508f13854f77176faf7889ae9-le64.cache-8[7f3c45eed000+3000]
[ 2488.428521] Code: Unable to access opcode bytes at RIP 0x7f3c45eded76.
[ 2576.085440] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ 2581.602018] usb 4-1: device descriptor read/8, error -110
[ 2581.705383] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ 2586.721963] usb 4-1: device descriptor read/8, error -110
[ 2587.011510] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ 2592.353805] usb 4-1: device descriptor read/8, error -110
[ 2592.457325] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ 2597.473517] usb 4-1: device descriptor read/8, error -110
[ 2597.762765] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ 2603.105617] usb 4-1: device descriptor read/8, error -110
[ 2603.209073] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ 2608.225448] usb 4-1: device descriptor read/8, error -110
[ 2608.514592] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ 2613.857342] usb 4-1: device descriptor read/8, error -110
[ 2613.961005] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ 2618.977417] usb 4-1: device descriptor read/8, error -110
[ 2619.106260] usb 4-1: USB disconnect, device number 2
[ 2619.299751] usb 4-1: new SuperSpeed USB device number 3 using xhci_hcd
[ 2624.609108] usb 4-1: device descriptor read/8, error -110
[ 2624.712758] usb 4-1: new SuperSpeed USB device number 3 using xhci_hcd
[ 2629.729021] usb 4-1: device descriptor read/8, error -110
[ 2630.019422] usb 4-1: new SuperSpeed USB device number 4 using xhci_hcd
[ 2635.360979] usb 4-1: device descriptor read/8, error -110
[ 2635.464573] usb 4-1: new SuperSpeed USB device number 4 using xhci_hcd
[ 2640.481771] usb 4-1: device descriptor read/8, error -110
[ 2640.593622] usb usb4-port1: attempt power cycle
[ 2641.701445] usb 4-1: new SuperSpeed USB device number 5 using xhci_hcd
[ 2647.136795] usb 4-1: device descriptor read/8, error -110
[ 2647.240528] usb 4-1: new SuperSpeed USB device number 5 using xhci_hcd
[ 2652.256676] usb 4-1: device descriptor read/8, error -110
[ 2652.546269] usb 4-1: new SuperSpeed USB device number 6 using xhci_hcd
[ 2657.888744] usb 4-1: device descriptor read/8, error -110
[ 2657.992244] usb 4-1: new SuperSpeed USB device number 6 using xhci_hcd
[ 2663.008629] usb 4-1: device descriptor read/8, error -110
[ 2663.121688] usb usb4-port1: unable to enumerate USB device
[ian@coolermaster-fedora ~]$

I tried inxi -Faz which gives the following drivers in use for graphics and audio:

Graphics:
Device-1: NVIDIA GK106 [GeForce GTX 660] vendor: Micro-Star MSI
driver: nvidia v: 470.129.06 alternate: nouveau,nvidia_drm
non-free: 470.xx+ status: legacy-active (EOL ~2023/24) arch: Kepler pcie:
gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s ports:
active: none off: HDMI-A-1 empty: DP-1,DVI-D-1,DVI-I-1 bus-ID: 01:00.0
chip-ID: 10de:11c0 class-ID: 0300
Device-2: Logitech StreamCam type: USB
> driver: hid-generic,snd-usb-audio,usbhid,uvcvideo bus-ID: 4-1:2
chip-ID: 046d:0893 class-ID: 0300 serial:
Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 22.1.2
compositor: gnome-shell driver: X: loaded: nvidia
unloaded: fbdev,modesetting,nouveau,vesa alternate: nv
gpu: nvidia,nvidia-nvswitch display-ID: 0
Monitor-1: HDMI-A-1 model: Samsung SyncMaster serial:
built: 2006 res: 1920x1200 dpi: 94 gamma: 1.6
size: 518x324mm (20.39x12.76") diag: 611mm (24.1") ratio: 16:10 modes:
max: 1920x1200 min: 640x480
OpenGL: renderer: NVIDIA GeForce GTX 660/PCIe/SSE2
v: 4.6.0 NVIDIA 470.129.06 direct render: Yes
Audio:
Device-1: Intel Comet Lake PCH cAVS vendor: Micro-Star MSI
driver: snd_hda_intel v: kernel
alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
chip-ID: 8086:06c8 class-ID: 0403
Device-2: NVIDIA GK106 HDMI Audio vendor: Micro-Star MSI
driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
bus-ID: 01:00.1 chip-ID: 10de:0e0b class-ID: 0403
Device-3: Logitech StreamCam type: USB
> driver: hid-generic,snd-usb-audio,usbhid,uvcvideo bus-ID: 4-1:2
chip-ID: 046d:0893 class-ID: 0300 serial:
Sound Server-1: ALSA v: k5.18.5-200.fc36.x86_64 running: yes
Sound Server-2: PulseAudio v: 15.0 running: no
Sound Server-3: PipeWire v: 0.3.52 running: yes

So, does anybody have any idea what’s going wrong? Anybody having similar experiences? I’ve just returned to Fedora after 10 years of using Ubuntu-based distros, and this is the only thing that’s stopping me completely switching over to what is otherwise proving to be a fantastic release! :grin:

Well, kinda making some progress, but not…

I installed

xawtv

Running:

xawtv -c /dev/video0

…displays video correctly. So the video at least appears to be working.

Next, I tried:

ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -c:v libx264 -preset ultrafast webcam.mp4

… which saves a video fine, although this is without audio.

Finally, I tried reverting to Pulseaudio. From reading on the forums, it seems this is something that has fixed a lot of problems for a lot of people, at least up to Fedora 35. However, it comprehensively FUBAR-ed sound for pretty much everything else on my system, so I reverted back to Pipewire.

In reverting to Pipewire, I decided to install everything to do with Pipewire - this pulled in the pipewire-alsa package.

Now when I run:

ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -f alsa -i default -c:v libx264 -preset ultrafast -c:a aac webcam.mp4

… this saves a video fine, with audio! YAYYYYY!!! :partying_face:

Except… BOOO… :disappointed:

Video via Cheese, Skype, MS Teams etc. still isn’t working (although if I go into “Settings” in Teams and check the "“Devices”, the webcam is recognised, and video is displayed, but when I try a test call, it tells me that no device is recognised - aaarrgh!!!)

I have now exhausted the Interwebz.

I’m guessing this is an issue with either Pipewire, or the Kernel, and I’ve reached the outer limits of my understanding of the Byzantine maze that is Alsa/Pulseaudio/Pipewire…

First step is to try without the hub, then.

Hi all,

The C920 and the Streamcam are two different devices. However I am having the same symptoms as OP with my brand new Logitech Streamcam on both Fedora 35 and 36 directly attached to my Lenovo laptops.

Hi Elliott, unfortunately I can’t do that. It’s an internal USB hub integrated onto the motherboard (the wifi is integral to the motherboard, and is detected internally as a USB device).

Hi #eraser215. Yes, apologies, you are correct and my mistake - device is a Logitech Streamcam (I think it was detected as a C920 somewhere in my investigations, which is obviously wrong). I’ve tried to amend the original post but I can no longer do so. But yes - Logitech Streamcam. :slight_smile:

Ah, you mean the internal hub. Can you try a different port then to see if you can get a different hub?

Hi Elliott. I unplugged the webcam from the USB 3.1 port at the back of my PC (which goes straight in to the motherboard). I have a second USB 3.1 port on a front-mounted panel on the PC - I plugged the webcam into that, and it worked!

So - why is this not a problem when I boot into KDE Neon 20.04 (on 5.13 kernel), but is a problem on Fedora 36 (5.18.6-200.fc36.x86_64 kernel)?