I cannot use my (good) Logitech 922 USB Webcam

Oops, sorry that happened, that’s why I indicated not to reboot, but I suppose you have a separate issue that qubesctl doesn’t handle - sys-usb not booting.

  1. Do you see any errors at boot indicating an issue with sys-usb starting? You may have to hit escape after typing your disk password.

  2. What template do you have for your “default template”? Is it a minimal template, not Fedora, or not Debian?

I suspect your sys-usb qube isn’t starting, doesn’t have qubes-input-proxy-sender installed, or has some other unknown issue.

If that is the case, reboot and append the following to the kernel command line:

qubes.skip_autostart

If you’re booting with UEFI, you’ll have to use a LiveCD to boot, then edit your EFI System Partition’s /EFI/qubes/xen.cfg file. (example)

This should let dom0 keep ownership of the controller and allow login using the USB keyboard. If you’re able to login, then disable auto start of sys-usb using the sys-usb settings, and you can re-edit (as root) /boot/efi/EFI/qubes/xen.cfg and remove qubes.skip_autostart.

1 Like

Many thanks.
Will apply the mentioned steps some hours later.

So. Now I have my Qubes up and running again, thanks.

What can I do to get the LOGITECH 922 Webcam working, are there any ideas left?

Hello @noti2p, is there anything you can recommend to me to try to get the webcam working with Qubes?

Hello dear all, is there now anything left, I mean, is there any further proposal how to overcome the problem of not being able to use my USB Logitech Webcam with Qubes on my Intel NUC computer?

@Wikinaut did you ever get around to trying a HWM with one of your USB controllers assigned to it (not the one with keyboard/mouse!)? That’s the closest you could get to a native Linux install and it usually works.

The other option would be to try the R4.1 Alpha of Qubes (dom0 is based on a much newer version of Fedora)

Is there a way to upgrade to that R4.1 Alpha version?

Is there a way to upgrade to that R4.1 Alpha version?

Nope. Needs to be a fresh install. But you could backup/restore your qubes.

I installed that version. Same. I do not see the USB Webcam. I now also tried a simple USB Headphone (Sennheiser PC25) with integrated USB soundcard → this is also not detected as USB.

Only USB memory sticks are detected as usual.

@Wikinaut

My original comments from I cannot use my (good) Logitech 922 USB Webcam still stand.

You run into an issue where sys-usb did not get created properly or did not have the input proxy configured. We have to figure this out first.

dom0 will not be able to utilize your web cam - you must have a working sys-usb, which is compounded since you have one USB controller and are using a USB Keyboard.

I installed Qubes 4.0.3 on a different computer (FUJITSU), also again with my USB-mouse and USB-keyboard and again, there is no USB-WEBCAM available. I am giving up now.

I’m facing exactly the same problem as @Wikinaut. I don’t think it is trivial to fix without Linux kernel and usbip expertise. What is going on is something like this:

[ 1864.391648] usb 1-1: new high-speed USB device number 12 using vhci_hcd
[ 1864.506715] usb 1-1: SetAddress Request (12) to port 0
[ 1866.791710] usb 1-1: New USB device found, idVendor=046d, idProduct=085c, bcdDevice= 0.16
[ 1866.791790] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=1
[ 1866.791857] usb 1-1: Product: C922 Pro Stream Webcam
[ 1866.791904] usb 1-1: SerialNumber: 956A3F4F
[ 1866.801643] uvcvideo: Found UVC 1.00 device C922 Pro Stream Webcam (046d:085c)
[ 1866.810417] input: C922 Pro Stream Webcam as /devices/platform/vhci_hcd.0/usb1/1-1/1-1:1.0/input/input4
[ 1866.921344] vhci_hcd: unlink->seqnum 95053
[ 1866.921356] vhci_hcd: urb->status -104
[ 1867.025550] vhci_get_frame_number: 2314 callbacks suppressed
[ 1867.025553] usb usb1: Not yet implemented
[ 1867.026556] usb usb1: Not yet implemented
[ 1867.027565] usb usb1: Not yet implemented
[ 1867.028554] usb usb1: Not yet implemented
[ 1867.029568] usb usb1: Not yet implemented
[ 1867.030558] usb usb1: Not yet implemented
[ 1867.031558] usb usb1: Not yet implemented
[ 1867.032600] usb usb1: Not yet implemented
[ 1867.033559] usb usb1: Not yet implemented
[ 1867.034555] usb usb1: Not yet implemented
[ 1872.025865] vhci_get_frame_number: 4990 callbacks suppressed
[ 1872.025874] usb usb1: Not yet implemented
[ 1872.028190] usb usb1: Not yet implemented
[ 1872.028276] usb usb1: Not yet implemented
[ 1872.030515] usb usb1: Not yet implemented
[ 1872.030697] usb usb1: Not yet implemented
[ 1872.030763] usb usb1: Not yet implemented
[ 1872.035100] vhci_hcd: unlink->seqnum 100084
[ 1872.035153] vhci_hcd: urb->status -104
[ 1872.035189] vhci_hcd: unlink->seqnum 100085
[ 1872.035248] vhci_hcd: urb->status -104
[ 1872.035284] vhci_hcd: unlink->seqnum 100086
[ 1872.035319] vhci_hcd: the urb (seqnum 100086) was already given back
[ 1872.035374] vhci_hcd: unlink->seqnum 100087
[ 1872.035409] vhci_hcd: the urb (seqnum 100087) was already given back
[ 1872.035464] vhci_hcd: unlink->seqnum 100088
[ 1872.035499] vhci_hcd: urb->status -104
[ 1872.035621] vhci_hcd: unlink->seqnum 100089
[ 1872.035656] vhci_hcd: urb->status -104
[ 1872.035733] vhci_hcd: unlink->seqnum 100090
[ 1872.035770] vhci_hcd: urb->status -104
[ 1872.035806] vhci_hcd: unlink->seqnum 100091
[ 1872.035840] vhci_hcd: urb->status -104
[ 1872.035875] vhci_hcd: unlink->seqnum 100092
[ 1872.035909] vhci_hcd: urb->status -104
[ 1872.035945] vhci_hcd: unlink->seqnum 100093
[ 1872.035979] vhci_hcd: urb->status -104
[ 1872.036016] vhci_hcd: unlink->seqnum 100094
[ 1872.036051] vhci_hcd: urb->status -104
[ 1872.036088] vhci_hcd: unlink->seqnum 100095
[ 1872.036129] vhci_hcd: urb->status -104
[ 1877.616756] usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
[ 1878.504752] usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
[ 1879.392760] usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
[ 1880.280727] usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
[ 1880.280872] usb 1-1: USB disconnect, device number 12
[ 1881.200735] usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
[ 1882.088738] usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
[ 1882.088827] usb usb1-port1: attempt power cycle
[ 1883.288699] usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
[ 1884.176709] usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
[ 1884.176798] usb usb1-port1: unable to enumerate USB device

Behavior is as follows, when camera is initially connected to VM it is visible:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 011: ID b58e:9e84 Blue Microphones Yeti Stereo Microphone
Bus 001 Device 017: ID 046d:085c Logitech, Inc. C922 Pro Stream Webcam
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

But if anything “touches it” it disappears despite being visible sys-usb menu as connected to VM.
What is needed is debugging of vhci_hcd driver it other parts of usbip subsystem. The error may come from here.

Did you find a fix?

I’m having the same trouble with Logitech C920. If I run “cheese” on VM that has the USB controller, it works flawlessly. But if I attach the camera to another appvm, cheese and other applications become very unstable. Sometimes it works, sometimes not, but definitely not many times. I need to detach/attach, possibly multiple times, and then it might work.

Same error messages, “Not yet implemented” etc.

Here’s a long github issue about it: Cannot use a USB camera · Issue #4035 · QubesOS/qubes-issues · GitHub

But I cannot read from the issue if it’s fixed or is the problem even known, or is anyone interested in it.

No, it is not solved. I gave up using Qubes.

Sad to hear :cry:

If one day you could take the time to write a post about what failed for you (apart from this issue), I think could be great feedback to make the project better. So hopefully one day you can try it again and those issues will be gone. But only if want to, of course.

I bought another USB controller that I’ll dedicate to my conferencing appvm.

I don’t know why video stream is so much harder problem than for example block devices, but I that’s just how it is now.

Also, I’m not really purist when it comes to my computing environment. Another example: I’m not satisfied with Qubes video performance. Solution is not to throw Qubes away. I’m using old spare laptop dedicated to my Netflix needs, I do nothing else with it. I don’t think everything has to be done on one single machine.

Everything has been written, reported and said in this thread.

1 Like

Unfortunately, personally I don’t have time to do training explaining challenges related to video camera sharing in light of Qubes OS security model. Key point is to understand difference between USB endpoints: USB - Wikipedia this make huge difference between storage and audio/video - not saying about complexity of modern devices.

The most promising approach is GitHub - elliotkillick/qubes-video-companion: Securely stream webcams and share screens across virtual machines *THIS PROJECT IS CURRENTLY STILL IN DEVELOPMENT & TESTING* - still requires quite a lot of testing and not yet stable for production use.

I hope to have a talk about this project on Qubes OS mini-summit, if it will happen the it would be great to get feedback from community. I will keep you informed. This is conference CFP announcement: https://twitter.com/3mdeb_com/status/1412759830062899210

2 Likes

As some of you know tomorrow is second day of Qubes OS mini-summit 2021. During one of the talks I will discuss this issue and demo Qubes Video Companion from @elliotkillick. Feel free to tune in: Qubes virtual mini-summit 2021! | Qubes OS

2 Likes

Looks like a useful project. I notice Qubes Video Companion requires a sys-usb VM, though, which is no good for me as I run QubesOS on a USB stick and creating sys-usb just locks everything up. No way around this yet I suppose?