Qubes OS 4.3 - sys-usb - Error: Got empty response from qubesd - After Firmware Update of BitBox

Hello Team,

I have a problem with USB device detection in the VM.
In the VM, I installed the BitBoxApp, and it worked when connecting the BitBox Stick via USB‑C. After upgrading the BitBox firmware, however, the BitBox App can no longer detect the connected device.

Is this a known issue?

What I tried:

a) qvm-device usb list --assignments (I can see the BitBox listed)
b) qvm-device usb attach --ro apps sys-usb:4-5
I get this error: Error: Got empty response from qubesd. See journalctl in dom0 for details
c) I also restarted sys-usb - no success.

It seems like this might be related to a qubesd issue. I noticed that after the firmware update, the USB IDs changed, and Qubes may not be able to apply the previous device assignment / mapping.

Any experience with that issue? What could I try?

Thanks in advance for your support.

What I did try:

a) I can see BitBox there

qvm-usb list ---assignments

b) qvm-usb detach apps sys-usb:4-6.1

type or paste code here

c) Increase Memory to 400 MB for sys-usb

d) Restart sys-usb

e) Or with command:

qvm-shutdown sys-usb --wait
qvm-start sys-usb

f) Attach BitBox to apps (AppVM)

Still that error: Error: Got empty response from qubesd. See journalctl in dom0 for details.

g) Even with that via Terminal:

qvm-usb attach apps sys-usb:4-6.1

This also did not help:

Via Terminal (dom0):

sudo qubes-dom0-update kernel-latest

I also did:

Shutdown sys-usb.

sudo qvm-remove -f sys-usb

sudo qubesctl state.sls qvm.sys-usb

Still no success. Still same protocol error. I think that the bug is still there on Qubes OS 4.3.

Probably the same issue: Can't passthrough CUL868 DFU usb · Issue #10861 · QubesOS/qubes-issues · GitHub

This probably causes: Since we know the error occurs because Qubes OS 4.3 cannot process the modified hardware ID after the firmware update of Bitbox (with USB-C), I also could not completely reset the Qubes USB subssystem once successfully. So the old, blocking entries are still not cleared.

Any idea how to solve this issue?

On dom0:

sudo journalctl -fu qubesd

And run the command that is failing.

I got that:


WARNING: protocol error for call b'admin.vm.device.usb.Attach'+b'sys-usb-4-5+03eb+2403+v9.26.3-pre+cbb40634cc+u030000' (b'dom0' - b'apps') with payload of 143 bytes

I can see via:

qvm-device usb list that input:

sys-usb:4-5 Input: bitboxswiss v9.xx.x-pre+xxx

@ben-grande

Can you try this: Can't passthrough CUL868 DFU usb · Issue #10861 · QubesOS/qubes-issues · GitHub

If the results are the same as from the thread you linked above, I can link this forum thread to the github issue. If they are different results, I’m going to ask you to create a new issue on github.

Thanks for your response. The results are the same, so feel free to link this forum thread to the GitHub issue. Would you be able to do that?

Thanks a lot @ben-grande

Done.

Can you share more information? Can't passthrough CUL868 DFU usb · Issue #10861 · QubesOS/qubes-issues · GitHub

Yes, I will add there some more information related that issue. Thanks for this hint.

I want to confirm I am having the exact same issue with a BitBox device, which was working until I upgraded the firmware to the recent version. That firmware upgrade changed the bus ID I believe, though I am not sure if this is part of the problem or not.

I have no experience with the device, but have with issues with attaching devices to specific qubes where BUS ID has changed or became unknown.

The only thing that helped was going to Global Config and reassigning the device there via “Edit rule”. No terminal actions could help with this.

I apologize if it’s completely unrelated to the issue and I didn’t understand it properly.

@corporateblush This was extremely helpful, thank you for pointing me in the right direction.

In the Global Config under Device Assignments, I have added a new Device Assignment. Instead of configuring it for a specific device (by leaving Device Identity unselected), I assigned it to a specific USB port. This way, any device connected to that port is automatically attached to the Qube I selected.

This is now working perfectly! When I connect the device and start my Qube the device does now get attached!

I am glad it helped. Since I am just recently switched to r4.3x, I noticed this regression in device assignments. BUS IDs of a specific devices attached are very often changed with weird IDs, and I haven’t found a way to fix it, so I am using this as a workaround actually. So, each time it happens, I am reassigning it in Global Config and that is the only place that works, since it is not possible to type exact new weird ID in the terminal.

Someone with a Github account should raise the issue there.

Hi,

if i add the Device within ‘Global Configs" as a rule, i get the same error there "empty response’.

It is not working.

Are there any other workarounds?

In this Thread it is the same problem descriped.