Skip to content

Instantly share code, notes, and snippets.

@lbussy
Created December 9, 2024 20:40
Show Gist options
  • Save lbussy/8cd3157a01baeeaca8b4f91949a8fabe to your computer and use it in GitHub Desktop.
Save lbussy/8cd3157a01baeeaca8b4f91949a8fabe to your computer and use it in GitHub Desktop.
Sharing: TP-Link AC600 Nano on Raspbian Bookworm 32-Bit

I figured this out, and I wanted to share how to do it.

  1. Kernel headers are not (yet?) available on 32-bit v8. To get past this:
echo "arm_64bit=0" | sudo tee -a /boot/firmware/config.txt > /dev/null
  1. Reboot
  2. Either:
sudo apt --fix-broken install -y
sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove --purge -y
sudo apt clean

or

curl -fsSL https://gist.githubusercontent.com/lbussy/23c05d8dc8c24d8d8edddf1d381f1c8b/raw/install_aliases.sh | bash

(this will pull down a .bash_aliases, run the above updates, and add some handy aliases. More in this Gist.)

  1. Reboot (if indicated)
  2. Install required packages:
sudo apt-get install dkms raspberrypi-kernel-headers
  1. Clone repo:
git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.git
cd rtlrtl8812au
  1. Change line in dkms.conf:
MAKE="ARCH=arm 'make' -j$PROCS_NUM KVER=${kernelver} KSRC=/lib/modules/${kernelver}/build"
or
sed -i 's/^MAKE="/MAKE="ARCH=arm\ /' dkms.conf
  1. Update Makefile:
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ANDROID_ARM64 = n
CONFIG_PLATFORM_ARM_RPI = y
CONFIG_PLATFORM_ARM64_RPI = n
CONFIG_PLATFORM_ARM_NV_NANO = n
or
sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
sed -i 's/CONFIG_PLATFORM_ARM_RPI = n/CONFIG_PLATFORM_ARM_RPI = y/g' Makefile
  1. Export environment:
export ARCH=arm
  1. Make and install drivers:
sudo make dkms_install
  1. Reboot
  2. Bask in the glory of the wlan0 being available with ip link show:
$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether dc:a6:32:23:77:b4 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DORMANT group default qlen 1000
    link/ether dc:a6:32:23:77:b6 brd ff:ff:ff:ff:ff:ff
4: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2312 qdisc mq state DORMANT mode DORMANT group default qlen 1000
    link/ether b0:19:21:1c:79:ab brd ff:ff:ff:ff:ff:ff
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment