This project enables WiFi 6E (6 GHz) on the Steam Deck OLED by backporting the QCA2066 (ath11k) driver from Linux 6.16 to the Steam Deck's 6.11-based kernel.
Latest Release: ath11k-6.16v2
Asset: steamdeck-qca2066-backport-v1.0.1.tar.gz
sudo steamos-readonly disable
sudo pacman-key --init
sudo pacman-key --populate archlinux holo
sudo pacman -S --needed --noconfirm base-devel linux-headersGo to the latest release page and download steamdeck-qca2066-backport-v1.0.1.tar.gz.
Or via terminal:
cd ~/Downloads
wget https://github.com/WanderingxLotus/steamdeck-oled-ath11k-dkms/releases/download/ath11k-6.16v2/steamdeck-qca2066-backport-v1.0.1.tar.gz
tar xzvf steamdeck-qca2066-backport-v1.0.1.tar.gz
cd steamdeck-oled-ath11k-dkmssudo ./install.shThis will:
- Build the driver from source (requires kernel headers)
- Install the
.komodules to/lib/modules/$(uname -r)/extra/ath11k-backport/ - Run
depmod -a - Reload the ath11k kernel modules
sudo dmesg | tail -40 | grep -i ath11k
ip link show | grep wlan
iw dev
lsmod | grep ath11k
ping -c 3 8.8.8.8You should see a new wlan interface and ath11k modules loaded.
sudo ./uninstall.shIf needed, manually remove with:
sudo rm -f /lib/modules/"$(uname -r)"/extra/ath11k-backport/*.ko
sudo depmod -a
sudo modprobe -r ath11k_pci ath11k
sudo modprobe ath11k_pci-
Missing
/lib/modules/$(uname -r)/builderror:
Install the matching kernel headers for your running kernel. -
Unknown symbol / unresolved symbol errors:
Ensure you have the correct headers and rebuild the modules. -
Pacman key/auth errors:
See the preparation step above. -
Wi-Fi not working after install:
Try rebooting, or reload modules:sudo modprobe -r ath11k_pci ath11k && sudo modprobe ath11k && sudo modprobe ath11k_pci
If you experience suspend/resume issues (broken sleep, WiFi not reconnecting, or kernel errors) with a custom ath11k DKMS driver, use the following workaround to unload/reload the driver automatically when the Deck suspends and resumes.
Create a Systemd Sleep Hook
Create the file /lib/systemd/system-sleep/ath11k-fix.sh with the following contents:
#!/bin/bash
case $1/$2 in
pre/*)
modprobe -r ath11k_pci ath11k
;;
post/*)
modprobe ath11k_pci ath11k
;;
esacMake it executable:
sudo chmod +x /lib/systemd/system-sleep/ath11k-fix.sh- Before suspend, the script unloads the ath11k drivers.
- After resume, it reloads the drivers.
- This avoids firmware, PCIe, or WiFi lockups that can occur on suspend/wake.
- After resume, WiFi may take a few seconds to reconnect.
- NetworkManager or your wifi manager should reconnect automatically.
- If WiFi does not reconnect, you can manually reload the driver:
sudo modprobe -r ath11k_pci ath11k sudo modprobe ath11k_pci ath11k
- For troubleshooting, check logs:
dmesg | tail -100
- This workaround is recommended for Steam Deck OLED and other devices using ath11k where suspend/resume is broken by the custom driver.
- If you need to tweak the script for other modules or want more advanced sleep handling, see the systemd documentation.
Still having trouble? Open an issue and include uname -r, lsmod | grep ath11k, and any relevant dmesg lines.
Derived from the Linux kernel (GPL-2.0).
Backport by: WanderingxLotus
Original ath11k: Qualcomm & Linux kernel community