ProxmoxVE installing drivers for RTL8811AU USB wifi, no linux headers

I am trying to get wifi to work as my uplink for proxmoxVE.

My USB wifi card is:

root@pve:/etc/network# lsusb
Bus 012 Device 004: ID 0bda:a811 Realtek Semiconductor Corp. RTL8811AU 802.11a/b/g/n/ac WLAN Adapter

And i think i found the correct driver for it https:// github com/morrownr/8821au-20210708 by following forum level1techs com/t/install-realtek-wifi-driver-on-popos/200201/2

I gett a error message saying that I don’t have the correct kernel header files to build the driver.

root@pve:~/src/8821au-20210708# ./install-driver.sh
Your kernel header files aren't properly installed.
Please consult your distro documentation or user support forums.
Once the header files are properly installed, please run "sudo ./install-driver.sh"

I installed the proxmoxVE kernel headers as acording to forum proxmox com /threads/help-installing-linux-headers-linux-headers-generic.84384/

root@pve:/lib/modules# ls
6.1.0-17-amd64  6.2.16-20-pve  6.2.16-3-pve  6.5.11-7-pve

The install script check for kernel headers with:

# check to see if the correct header files are installed
if [ ! -d "/lib/modules/$(uname -r)/build" ]; then
        echo "Your kernel header files aren't properly installed."
        echo "Please consult your distro documentation or user support forums."
        echo "Once the header files are properly installed, please run \"sudo ./${SCRIPT_NAME}\""
        exit 1

I have a module folder that matches the path in:

root@pve:/lib/modules# uname -r
6.2.16-3-pve
root@pve:/lib/modules# cd /lib/modules/$(uname -r)/
root@pve:/lib/modules/6.2.16-3-pve# ls
kernel         modules.alias.bin  modules.builtin.alias.bin  modules.builtin.modinfo  modules.dep.bin  modules.order    modules.symbols      zfs
modules.alias  modules.builtin    modules.builtin.bin        modules.dep              modules.devname  modules.softdep  modules.symbols.bin

But there is no build folder in the module that I got fror proxmox.

Q: Why wifi?
A: My rental contract only provides wifi networking.
Q: Wount that be slow?
A: I have a direct wiered conection between my steamdeck and my proxmoxVE old gaming pc.
Q: How do you currently reach the internet?
A: Using ip forwarding on my steamdeck.

What do i need to do to get wifi to work so I don’t need to use forwarding on my steamdeck?

Edit removed all links.

not to be the wet blanket here, but even if you successfully get the driver to install, and can get the proxmox host to talk to the wireless network, building a linux bridge and getting VMs to talk across that wireless bridged interface is only a small step away from alchemy and or black magic.

that said, did the kernel headers install complete successfully? if not, what happened after the

apt update
apt install proxmox-default-headers

commands were issued?

For a test, you could try running a VM of 'buntu or Debian, passing the USB device through, and running the VM as a virtual access point?

I used a driver package like that, and was able to run an access point on a single channel.

Worked okay though, IIRC.

Then forward the traffic from the VM to wherever

Even if it’s not great in a VM, can still give a go

Not sure what my devices chip was though. Just recognize the morrow name in the repo

Had a few packages that had avalibel updates:

root@pve:/lib/modules# apt list --upgradable 
Listing... Done
libc-bin/stable-security 2.36-9+deb12u4 amd64 [upgradable from: 2.36-9+deb12u3]
libc-dev-bin/stable-security 2.36-9+deb12u4 amd64 [upgradable from: 2.36-9+deb12u3]
libc-devtools/stable-security 2.36-9+deb12u4 amd64 [upgradable from: 2.36-9+deb12u3]
libc-l10n/stable-security 2.36-9+deb12u4 all [upgradable from: 2.36-9+deb12u3]
libc6-dev/stable-security 2.36-9+deb12u4 amd64 [upgradable from: 2.36-9+deb12u3]
libc6/stable-security 2.36-9+deb12u4 amd64 [upgradable from: 2.36-9+deb12u3]
locales/stable-security 2.36-9+deb12u4 all [upgradable from: 2.36-9+deb12u3]

apt install proxmox-default-headers installed sucesfully without errors. Re ran it and got:

root@pve:/lib/modules# apt install proxmox-default-headers
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
proxmox-default-headers is already the newest version (1.0.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

The install script is lookig for a non-existent build folder in the proxmox header module.

I will try running a debian guest and passing thrugh the USB wifi card however i would preffer to fix it in proxmox.

Edit: I am only 85% shure that i am mising a driver and that my network is corectly configured.

network config on proxmox

root@pve:/lib/modules# cat /etc/network/interfaces
auto lo
iface lo inet loopback

iface enp3s0 inet manual

# direct connection
auto vmbr0
iface vmbr0 inet static
        address 192.168.2.2/24
        gateway 192.168.2.0
        bridge-ports enp3s0
        bridge-stp off
        bridge-fd 0

# wifi device
#allow-hotplug enp3s0
# auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-ssid WIFIHUB_ABC123
        wpa-psk Pa55word


root@pve:/lib/modules# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
    link/ether f0:79:59:61:11:d4 brd ff:ff:ff:ff:ff:ff
3: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f0:79:59:61:11:d4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.2/24 scope global vmbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::f279:59ff:fe61:11d4/64 scope link 
       valid_lft forever preferred_lft forever


root@pve:/lib/modules# ip neighbor
192.168.2.0 dev vmbr0 lladdr a4:53:ee:d1:6b:c8 REACHABLE 
192.168.2.1 dev vmbr0 FAILED 

network config on steamdeck

(deck@steamdeck NetworkManager)$ ip address 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 14:13:33:c1:14:db brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.39/24 brd 192.168.0.255 scope global dynamic noprefixroute wlan0
       valid_lft 2249sec preferred_lft 2249sec
    inet6 fe80::1613:33ff:fec1:14db/64 scope link 
       valid_lft forever preferred_lft forever
8: enp4s0f3u1u4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether a4:53:ee:d1:6b:c8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.0/24 brd 192.168.2.255 scope global noprefixroute enp4s0f3u1u4
       valid_lft forever preferred_lft forever
    inet6 fe80::d583:eb43:6071:924b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
(deck@steamdeck NetworkManager)$ ip neighbor
192.168.0.31 dev wlan0 lladdr 54:60:09:93:df:fa REACHABLE 
192.168.0.1 dev wlan0 lladdr 68:02:b8:69:d9:cd REACHABLE 
192.168.2.2 dev enp4s0f3u1u4 lladdr f0:79:59:61:11:d4 REACHABLE 

The 192.198.2.x is for the direct conection between the devices.

Solution: give up and buy hardware.

Solved my problem with a powerline adapter and a switch.

Thank you all for your help.

1 Like