Rd.qubes.dom0_usb not working for multi controller USB setup

I am currently using qubes 4.2 and unable to enable a USB keyboard on a separate USB controller as instructed on the USB qubes page.

lsusb returns the following

Bus 008 Device 003: ID 046d:c52b [mouse]
Bus 008 Device 002: ID 3297:1969 [keyboard]
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

lsusb -v returns the following

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Couldn’t open device, some information will be missing

iSerial 1 0000:00:12.0

I understand the above information to indicate that the BDF corresponding to my USB keyboard and mouse is 00:12.0.

Therefore, I added the following to /etc/default/grub

GRUB_CMDLINE_LINUX=“$GRUB_CMDLINE_LINUX usbcore.authorized_default=0 rd.qubes.dom0_usb=00:12.0”

and I have tried both grub2-mkconfig -o /boot/grub2/grub.cfg (legacy boot) or grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg (EFI) in dom0.

Upon reboot, I am unable to use my keyboard for HD decryption and have to replace usbcore.authorized_default=0 rd.qubes.dom0_usb=00:12.0 with qubes.skip_autostart to decrypt and login.

I would greatly appreciate any guidance. Thanks!

Do you have sys-usb or all your USB controllers are in dom0?
Are you running lsusb in dom0 or in sys-usb?

dom0 at the time and lsusb in dom0. Another data point was that I didn’t see the keyboard and mouse in qube devices.

I re-installed qubes and asked the installer to create the exception for the keyboard and install sys-usb. The keyboard worked for decryption, I granted permission for the mouse once I logged in, and I was able to view the keyboard and mouse in qube devices. Unfortunately, my ethernet was disconnecting. When I restarted my machine for the ethernet issue, the usb keyboard was disabled again for decryption and I had to use autoskip again. My ethernet works with autoskip.

Not sure if the installer uses a different method but I do not see rd.qubes.dom0_usb=00:12.0 in
my grub file.

Thanks!

If you start sys-usb after you boot with qubes.skip_autostart will USB keyboard/mouse work?

The installer is not enabling USB keyboard/mouse on separate USB controller, it’s creating USB qube for use with a USB keyboard:
USB qubes | Qubes OS

This looks correct on the first sight.
Can you try booting with plymouth disabled to see more boot messages? Try removing rhgb quiet options from the kernel cmdline, and if that isn’t enough, add also plymouth.enable=0. And then, when asked for LUKS passphrase (and the keyboard doesn’t work), try re-plugging the keyboard and see what messages you get.

Thanks!

I followed your instructions (reconnecting a few times) and the following information was displayed:

For the mouse - there is identification of the mouse and logging of the correct BDF (i.e., 0000:00:12.0/usb8/8-1). Initially, there is a log that states device not authorized for usage and then another log that states device authorized for connection. There is also an audit log that states changed authorization state.

For the keyboard - there identification of the keyboard and logging of the correct BDF (i.e., 0000:00:12.0/usb8/8-2). Initially, there is a log that states device not authorized for usage BUT THERE IS NOT A SECOND LOG like above for the mouse that states the device is authorized for connection. However, there is the audit log that states changed authorization state.

I did try switching the usb ports but the keyboard still did not get an authorized for connection log message.

Thanks!

Thanks!!!

Initially, the keyboard and mouse are unresponsive while the sys-usb qube starts. Next, a dialog comes up requesting permission to use keyboard. Once approved, I am able to use the keyboard and mouse in Dom0 and the keyboard/mouse are both visible in input devices. Further, the keyboard works in the terminal of sys-usb. However, the ethernet disconnects. Once I shutdown the sys-usb qube, I am unable to use the keyboard and mouse.

Thanks!

If you have only keyboard/mouse on this USB controller, try removing usbcore.authorized_default option and use rd.qubes.hide_all_usb instead (if it isn’t there already). And keep rd.qubes.dom0_usb as you set it already.

Keyboard Works! I’m able to decrypt/login and the USB devices are viewable within Qubes Devices. Thanks!!!

But for some reason my Ethernet connection only works when I boot with skip_autostart. If i boot without skip_autostart, the network manager continuously attempts to connect to my wired connection but fails. I have been unable to recreate the context but in one instance the network manager returned that connection activation failed because the device ens did not have a carrier.

I tried the detaching, reattaching with ‘qvm-pci attach sys-net --persistent --option no-strict-reset=true dom0:05_00.0’, and rebooting but that did not solve the issue.

Network Manager is not displayed in the taskbar when I boot with skip_autostart but I will try to find the settings using the terminal and compare them to the configuration of the normal boot.

I don’t think it is a driver issue since I can connect when I boot with skip_autostart.

Thanks!!

Will network work for you if you disable “Start qube automatically on boot” in Settings for sys-net, sys-firewall, sys-whonix and all other qubes that could cause sys-net to start, reboot Qubes OS without skip_autostart and start sys-net manually?

That did not work. Same repeated attempts to connect to no avail.

That did not work. Same repeated attempts to connect to no avail.

I was able to confirm the settings are identical in NetworkConnections in both contexts.

Hi, I am still having the same issue. Would you happen to have any recommendations for logs I can review or services I can check that might reveal why I have internet access with skip_autostart but not when I do not autostart sys-net qube?

Thanks!

You can check the logs in sys-net:

sudo journalctl > journalctl.log

Compare them when sys-net started automatically with when sys-net started manually.

Also if your sys-net started automatically and your network is working then will it still work if you shutdown sys-net and start it again?