Skip to content

Qubes 4.2 compatibility

Problem

In Qubes, attaching a Signet device will show up in the list of USB devices which can be attached to a qube and can be attached as expected. The device will show up in /dev in the qube it is attached to and everything seems fine. When the qube tries to communicate with /dev/signet, the USB packets never make it to the device, which causes the client to either hang or crash (the crash being due to insufficient error handling in the client).

Workaround

To work around this problem, the Signet device needs to be attached to a VM, detached, and then (re)attached to the VM you want to connect it to in order to work.

After the first detachment, it will continue to be able to be connected to any qube without any issues. The first attachment can be to any qube, it does not have to be the same qube twice.

Physically removing the USB device and re-inserting it will get you back into the original state, where it will not behave as expected until it is detached from a qube.

Details

This is some kind of bug in either the Linux kernel or the Qubes' code to pass USB devices through from the usb-qube to another qube. In either case, Qubes should be able to work around this bug, if not fix it comepletely. I posted about this in the Qubes forum, but still need to open a bug report.

The bottom line here is that the TCP connection (USB pass through uses USB-over-IP under the hood) between the USB qube and the target qube is getting dropped, but I haven't been able to trace through the code to determine what code that needs to be added. Clearly it's something in the "detach" code block is able to fix, that should be called before the device is attached, since that works around this problem.

Edited by Adam
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information