Installing firmware for TP-Link TL-WN823N V3

Hi there,
I have a TP-Link TL-WN823N V3 Wi-Fi adapter and wondered how to get it working in Qubes. In normal Linux distros I would just follow this solution but with Qubes I am unsure. Do I have to do the same process in the NetVM or in Dom0? Would be great if someone could help me.

Cheers

You would install the driver into the Qube that the hardware is attached to. This would normally be your netVM, however please consider how installing additional components into your netvm interacts with your threat model, as well as any risks of USB devices in your netVM.

Ok thanks but I have so many problems. I installed Qubes 4.1 from scratch without the sys-firewall, sys-usb or sys-net being disposable. I checked the box that the sys-net qube should be used for networking and USB devices. I updated everything and then installed the driver in my sys-net Qube. The adapter itself does not show up anywhere except in dom0 when I use lsusb. Qvm-usb in dom0 shows nothing / is blank.

sudo dmsg in dom0 after plugging it in

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 2357:0109 TP-Link TL-WN823N v2/v3 [Realtek RTL8192EU]
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 046d:c084 Logitech, Inc. G203 Gaming Mouse
Bus 001 Device 002: ID 1017:a003 Speedy Industrial Supplies, Pte., Ltd Skiller SGK4
Bus 001 Device 004: ID 0781:5581 SanDisk Corp. Ultra
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb in dom0

[ 1724.897290] usb 3-2: new high-speed USB device number 5 using xhci_hcd
[ 1725.026349] usb 3-2: New USB device found, idVendor=2357, idProduct=0109, bcdDevice= 2.00
[ 1725.026352] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1725.026353] usb 3-2: Product: 802.11n NIC 
[ 1725.026353] usb 3-2: Manufacturer: Realtek 
[ 1725.026354] usb 3-2: SerialNumber: 00e04c000001
[ 1725.548466] usb 3-2: Vendor: Realtek 
[ 1725.548468] usb 3-2: Product: 802.11n NIC 
[ 1725.548468] usb 3-2: Serial not available.
[ 1725.548469] usb 3-2: rtl8192eu_parse_efuse: dumping efuse (0x200 bytes):
[ 1725.548470] usb 3-2: 00: 29 81 00 7c 01 40 03 00
[ 1725.548471] usb 3-2: 08: 40 74 04 50 14 00 00 00
[ 1725.548472] usb 3-2: 10: 25 25 26 28 28 28 28 28
[ 1725.548472] usb 3-2: 18: 29 2a 2a f2 ef ef ff ff
[ 1725.548473] usb 3-2: 20: ff ff ff ff ff ff ff ff
[ 1725.548473] usb 3-2: 28: ff ff ff ff ff ff ff ff
[ 1725.548474] usb 3-2: 30: ff ff ff ff ff ff ff ff
[ 1725.548474] usb 3-2: 38: ff ff 27 27 27 28 28 28
[ 1725.548475] usb 3-2: 40: 29 29 29 29 29 f2 ef ef
[ 1725.548476] usb 3-2: 48: ff ff ff ff ff ff ff ff
[ 1725.548476] usb 3-2: 50: ff ff ff ff ff ff ff ff
[ 1725.548477] usb 3-2: 58: ff ff ff ff ff ff ff ff
[ 1725.548477] usb 3-2: 60: ff ff ff ff ff ff ff ff
[ 1725.548478] usb 3-2: 68: ff ff ff ff ff ff ff ff
[ 1725.548478] usb 3-2: 70: ff ff ff ff ff ff ff ff
[ 1725.548479] usb 3-2: 78: ff ff ff ff ff ff ff ff
[ 1725.548480] usb 3-2: 80: ff ff ff ff ff ff ff ff
[ 1725.548480] usb 3-2: 88: ff ff ff ff ff ff ff ff
[ 1725.548481] usb 3-2: 90: ff ff ff ff ff ff ff ff
[ 1725.548481] usb 3-2: 98: ff ff ff ff ff ff ff ff
[ 1725.548482] usb 3-2: a0: ff ff ff ff ff ff ff ff
[ 1725.548482] usb 3-2: a8: ff ff ff ff ff ff ff ff
[ 1725.548483] usb 3-2: b0: ff ff ff ff ff ff ff ff
[ 1725.548484] usb 3-2: b8: a1 2f 23 00 00 00 ff ff
[ 1725.548484] usb 3-2: c0: ff 01 00 10 00 00 00 ff
[ 1725.548485] usb 3-2: c8: 00 00 ff ff ff ff ff ff
[ 1725.548485] usb 3-2: d0: 57 23 09 01 e7 47 02 50
[ 1725.548486] usb 3-2: d8: 3e aa 20 15 d2 0a 03 52
[ 1725.548486] usb 3-2: e0: 65 61 6c 74 65 6b 20 0e
[ 1725.548487] usb 3-2: e8: 03 38 30 32 2e 31 31 6e
[ 1725.548487] usb 3-2: f0: 20 4e 49 43 20 00 00 ff
[ 1725.548488] usb 3-2: f8: ff ff ff ff ff ff ff ff
[ 1725.548489] usb 3-2: 100: ff ff ff ff ff ff ff ff
[ 1725.548489] usb 3-2: 108: ff ff ff ff ff ff ff ff
[ 1725.548490] usb 3-2: 110: ff ff ff ff ff ff ff 0d
[ 1725.548490] usb 3-2: 118: 03 00 05 00 30 00 00 00
[ 1725.548491] usb 3-2: 120: 00 93 ff ff ff ff ff ff
[ 1725.548491] usb 3-2: 128: ff ff ff ff ff ff ff ff
[ 1725.548492] usb 3-2: 130: f6 a8 98 2d 03 92 98 00
[ 1725.548493] usb 3-2: 138: fc 8c 00 11 9b 44 02 0a
[ 1725.548493] usb 3-2: 140: ff ff ff ff ff ff ff ff
[ 1725.548494] usb 3-2: 148: ff ff ff ff ff ff ff ff
[ 1725.548494] usb 3-2: 150: ff ff ff ff ff ff ff ff
[ 1725.548495] usb 3-2: 158: ff ff ff ff ff ff ff ff
[ 1725.548495] usb 3-2: 160: ff ff ff ff ff ff ff ff
[ 1725.548496] usb 3-2: 168: ff ff ff ff ff ff ff ff
[ 1725.548496] usb 3-2: 170: ff ff ff ff ff ff ff ff
[ 1725.548497] usb 3-2: 178: ff ff ff ff ff ff ff ff
[ 1725.548498] usb 3-2: 180: ff ff ff ff ff ff ff ff
[ 1725.548498] usb 3-2: 188: ff ff ff ff ff ff ff ff
[ 1725.548499] usb 3-2: 190: ff ff ff ff ff ff ff ff
[ 1725.548499] usb 3-2: 198: ff ff ff ff ff ff ff ff
[ 1725.548500] usb 3-2: 1a0: ff ff ff ff ff ff ff ff
[ 1725.548500] usb 3-2: 1a8: ff ff ff ff ff ff ff ff
[ 1725.548501] usb 3-2: 1b0: ff ff ff ff ff ff ff ff
[ 1725.548502] usb 3-2: 1b8: ff ff ff ff ff ff ff ff
[ 1725.548502] usb 3-2: 1c0: ff ff ff ff ff ff ff ff
[ 1725.548503] usb 3-2: 1c8: ff ff ff ff ff ff ff ff
[ 1725.548503] usb 3-2: 1d0: ff ff ff ff ff ff ff ff
[ 1725.548504] usb 3-2: 1d8: ff ff ff ff ff ff ff ff
[ 1725.548504] usb 3-2: 1e0: ff ff ff ff ff ff ff ff
[ 1725.548505] usb 3-2: 1e8: ff ff ff ff ff ff ff ff
[ 1725.548505] usb 3-2: 1f0: ff ff ff ff ff ff ff ff
[ 1725.548506] usb 3-2: 1f8: ff ff ff ff ff ff ff ff
[ 1725.548507] usb 3-2: RTL8192EU rev B (SMIC) 2T2R, TX queues 3, WiFi=1, BT=0, GPS=0, HI PA=0
[ 1725.548508] usb 3-2: RTL8192EU MAC: 50:3e:aa:20:15:d2
[ 1725.548509] usb 3-2: rtl8xxxu: Loading firmware rtlwifi/rtl8192eu_nic.bin
[ 1725.548539] usb 3-2: Firmware revision 19.0 (signature 0x92e1)
[ 1727.200421] audit: type=1130 audit(1644325093.694:370): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 1727.204007] rtl8xxxu 3-2:1.0 wlp40s0f3u2: renamed from wlan0
[ 1732.048118] audit: type=1101 audit(1644325098.542:371): pid=11968 uid=1000 auid=1000 ses=2 msg='op=PAM:accounting grantors=pam_unix acct="observer" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/4 res=success'
[ 1732.048178] audit: type=1123 audit(1644325098.542:372): pid=11968 uid=1000 auid=1000 ses=2 msg='cwd="/home/observer" cmd="dmesg" exe="/usr/bin/sudo" terminal=pts/4 res=success'
[ 1732.048284] audit: type=1110 audit(1644325098.542:373): pid=11968 uid=1000 auid=1000 ses=2 msg='op=PAM:setcred grantors=pam_env,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/4 res=success'
[ 1732.050054] audit: type=1105 audit(1644325098.544:374): pid=11968 uid=1000 auid=1000 ses=2 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits,pam_keyinit,pam_limits,pam_systemd,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/4 res=success'

lsusb in sys-net

Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU USB Tablet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

When I go into “sys-net: Qube settings” → “Devices” the adapter is not visible, too.

qvm-pci in dom0 tells me that I have two USB controllers.

Ok so I’ve done it and here is how:

  • start a fresh Qubes 4.1 install
  • dont make sys-firewall, sys-usb or sys-net disposable
  • check the box that the sys-net qube should be used for networking and USB devices
  • updated all your VMs and dom0
  • install the driver in the sys-net Qube
  • run sudo qubesctl state.sls qvm.usb-keyboard in dom0
  • attach USB 3.0 Host Controller to sys-net
  • wifi works

problem now: only 2 out of my 7 usb ports are working. Is that the tradeoff for working wifi or is there a workaround for that?

Yes.