Qubes running off of USB -- how to add USB wifi adapter?

I installed and am running Qubes off of a USB stick. During the initial setup, I didn’t have to option to create a sys-usb or sys-net qube; those checkboxes were disabled, I assume because I was already running Qubes off of a USB stick?

When I log in, there is no networking available. I’ve tried plugging in a USB wifi adapter (in a separate USB port), as well as a direct ethernet connection (via a USB dongle).

What do I have to do to connect to the internet?

Thanks for any help!

Do you have more than one USB controller? The output of qvm-pci should
list them.

If you have more than one, you should be able to create a
sys-net/sys-usb VM (all in one) and pass the second controller to it.
That will let you use USB Ethernet or USB WiFi.

If you only have one, because Dom0 needs the USB controller for it’s
boot disk you cannot use USB based networking. Dom0 will not work with
it due to it’s security model and USB passthrough doesn’t work without a
USB VM. Does your device have a built in WiFi or ethernet adpator? Those
should be easier to deal with by passing them to a sys-net.

Thanks @Jarrah!

I ran qvm-pci and it turns out I do only have 1 USB controller. At least, I only see one in the list.

In which case, I understand I won’t be able to use USB Ethernet or USB WiFi. However, my laptop (2015 MacBook Air) does have built-in WiFi. How do I go about passing that to sys-net?

In the same qvm-pci output, I see that sys-net is using the “Broadcom Wireless Network Adapter”. But, in Qubes when I look at the network settings, under “Ethernet Network” there is nothing there; it just says “device not managed”.

Is there something else that I need to configure in sys-net to use my built-in Apple MacBook WiFi?

Thanks so much for your help!

Yes, you need drivers for the Broadcom device. If you look in the logs
you’ll almost certainly see a reference to firmware not being loaded.
Like many Qubes problems you can solve this by looking for solutions
to the same problem in the distro you are using for sys-net.

Look to see how you would solve this problem in Fedora (or Debian, or
whatever template your sys-net is based on), and apply that in the
template.

If you search for a solution in Qubes, you’ll see there’s an old post
reporting success and a newer issue. Those may help you too.