Trouble getting USB ethernet adapter working

Hey guys, been banging my head against the wall for 48 hours now trying to get networking set up on my new Qubes 4.1 laptop. The laptop has a broadcom BCM4360 network card which has given me trouble in the past (mainly within kali) so I just use a USB hub that contains an ethernet jack. Normally it’s just plug and play.

But in Qubes it doesn’t show up in the device manager. I tried binding the USB controller to sys-net but all that accomplished was robbing dom0 of I/O devices, leading to multiple clean installs.

Weird thing is, I have a wireless USB mouse connected to the same hub and it works fine whenever I plug the hub into my laptop.

I will provide more of what I have attempted and the resulting logs… After this reinstall finishes hehe
**Sorry for wall of text. The last command is what happens when the hub is unplugged and plugged back into the laptop.

#anon@dom0 Desktop]$ qvm-usb
BACKEND:DEVID DESCRIPTION USED BY
#[anon@dom0 Desktop]$ qvm-pci
BACKEND:DEVID DESCRIPTION USED BY
dom0:00_00.0 Host bridge: Intel Corporation Crystal Well DRAM Controller
dom0:00_01.0 PCI bridge: Intel Corporation Crystal Well PCI Express x16 Controller
dom0:00_01.1 PCI bridge: Intel Corporation Crystal Well PCI Express x8 Controller
dom0:00_14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
dom0:00_16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1
dom0:00_1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller
dom0:00_1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1
dom0:00_1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3
dom0:00_1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4
dom0:00_1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5
dom0:00_1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller
dom0:00_1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller
dom0:01_00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GT 750M Mac Edition]
dom0:01_00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller
dom0:03_00.0 Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter sys-net
dom0:04_00.0 Multimedia controller: Broadcom Inc. and subsidiaries 720p FaceTime HD Camera
dom0:05_00.0 SATA controller: Samsung Electronics Co Ltd Apple PCIe SSD
dom0:06_00.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
dom0:07_00.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
dom0:07_03.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
dom0:07_04.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
dom0:07_05.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
dom0:07_06.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
dom0:08_00.0 System peripheral: Intel Corporation DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013]
#[anon@dom0 Desktop]$ lsusb
Bus 002 Device 003: ID 05ac:8406 Apple, Inc. Internal Memory Card Reader
Bus 002 Device 014: ID 17e9:4318 DisplayLink
Bus 002 Device 013: ID 05e3:0612 Genesys Logic, Inc. Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 05ac:8289 Apple, Inc. Bluetooth Host Controller
Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
Bus 001 Device 005: ID 05ac:0262 Apple, Inc. Apple Internal Keyboard / Trackpad
Bus 001 Device 024: ID 046d:c548 Logitech, Inc.
Bus 001 Device 023: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 022: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
#[anon@dom0 Desktop]$ sudo dmesg | grep USB | tail -n 36
[ 2087.689650] usb 1-1: USB disconnect, device number 19
[ 2087.689652] usb 1-1.4: USB disconnect, device number 20
[ 2087.689654] usb 1-1.4.4: USB disconnect, device number 21
[ 2088.414481] usb 2-1: USB disconnect, device number 11
[ 2088.414483] usb 2-1.3: USB disconnect, device number 12
[ 2091.744379] usb 1-1: new high-speed USB device number 22 using xhci_hcd
[ 2091.896758] usb 1-1: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice=44.01
[ 2091.896760] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2091.896761] usb 1-1: Product: USB2.0 Hub
[ 2091.900942] hub 1-1:1.0: USB hub found
[ 2091.987593] usb 2-1: new SuperSpeed Gen 1 USB device number 13 using xhci_hcd
[ 2092.003951] usb 2-1: New USB device found, idVendor=05e3, idProduct=0612, bcdDevice=44.01
[ 2092.003953] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2092.003954] usb 2-1: Product: USB3.0 Hub
[ 2092.011627] hub 2-1:1.0: USB hub found
[ 2092.262397] usb 1-1.4: new high-speed USB device number 23 using xhci_hcd
[ 2092.345929] usb 1-1.4: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice=32.98
[ 2092.345932] usb 1-1.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 2092.345933] usb 1-1.4: Product: USB2.0 Hub
[ 2092.347783] hub 1-1.4:1.0: USB hub found
[ 2092.410620] usb 2-1.3: new SuperSpeed Gen 1 USB device number 14 using xhci_hcd
[ 2092.423416] usb 2-1.3: New USB device found, idVendor=17e9, idProduct=4318, bcdDevice=31.02
[ 2092.423418] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2092.423419] usb 2-1.3: Product: Dell USB 3.0 Dock
[ 2092.433243] usb 2-1.3: [15] FU [Dell USB Audio Playback Volume] ch = 6, val = -8176/0/16
[ 2092.624268] usb 1-1.4.4: new full-speed USB device number 24 using xhci_hcd
[ 2092.703112] usb 1-1.4.4: New USB device found, idVendor=046d, idProduct=c548, bcdDevice= 5.01
[ 2092.703114] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2092.703115] usb 1-1.4.4: Product: USB Receiver
[ 2092.712453] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4:1.0/0003:046D:C548.0014/input/input39
[ 2092.764496] hid-generic 0003:046D:C548.0014: input,hidraw2: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:14.0-1.4.4/input0
[ 2092.765592] input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4:1.1/0003:046D:C548.0015/input/input40
[ 2092.765700] input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4:1.1/0003:046D:C548.0015/input/input41
[ 2092.817421] input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4:1.1/0003:046D:C548.0015/input/input42
[ 2092.817557] hid-generic 0003:046D:C548.0015: input,hidraw3: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-1.4.4/input1
[ 2092.818442] hid-generic 0003:046D:C548.0016: hiddev96,hidraw4: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-1.4.4/input2
[anon@dom0 Desktop]$

There was an option during Qubes installation “Use sys-net qube for both networking and USB devices”.
I think it should be configured like this, but I’m not sure so you better to make a backup before trying it out.
You can add the USB controller to sys-net and use it as USB VM but first allow dom0 to get to the keyboard and mouse from sys-net:
Edit the qubes.InputKeyboard policy file in dom0, which is located here:

/etc/qubes-rpc/policy/qubes.InputKeyboard

Add a line like this one to the top of the file:

sys-net dom0 allow

Edit the qubes.InputMouse policy file in dom0, located at:

/etc/qubes-rpc/policy/qubes.InputMouse

Add a line like this one to the top of the file:

sys-net dom0 allow

Then you can attach USB controller to sys-net.
But disable autostart for sys-net and every AppVM that require sys-net so it won’t start at system boot in case something goes wrong and your keyboard will stop working in dom0.
More info here:

2 Likes

Thank you for the help.
Had to substitute sys-net in for sys-usb when editing these files but everything is now in working order.

Yes, I forgot to change that part. Fixed my answer just in case someone else stumbles upon it.