As of upstream version 5.6.1, I'm moving away from individual repositories for each upstream version in favor of a single repository with version-based branches. Hopefully, this will help with clutter and URL consistency moving forward. The archived repositories are available here:
- rtl88x2BU_WiFi_linux_v5.3.1_27678.20180430_COEX20180427-5959
- rtl88x2BU_WiFi_linux_v5.2.4.4_26334.20180126_COEX20171012-5044
- rtl88x2BU_WiFi_linux_v5.2.4.4_25643.20171212_COEX20171012-5044
- rtl88x2BU_WiFi_linux_v5.2.4.1_22719_COEX20170518-4444.20170613
Updated driver for rtl88x2bu wifi adaptors based on Realtek's source distributed with myriad adapters.
Realtek's 5.6.1 source was found bundled with the Cudy WU1200 AC1200 High Gain USB Wi-Fi Adapter and can be downloaded from Cudy's website.
Build confirmed on:
Linux version 5.3.0-050300-generic (kernel@sita) (gcc version 9.2.1 20190909 (Ubuntu 9.2.1-8ubuntu1)) #201909152230 SMP Sun Sep 15 22:32:54 UTC 2019
Linux version 5.2.0-2-amd64 ([email protected]) (gcc version 8.3.0 (Debian 8.3.0-21)) #1 SMP Debian 5.2.9-2 (2019-08-21)
cd rtl88x2bu
VER=$(sed -n 's/\PACKAGE_VERSION="\(.*\)"/\1/p' dkms.conf)
sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}
sudo dkms add -m rtl88x2bu -v ${VER}
sudo dkms build -m rtl88x2bu -v ${VER}
sudo dkms install -m rtl88x2bu -v ${VER}
sudo modprobe 88x2bu
# Update all packages per normal
sudo apt update
sudo apt upgrade
# Install prereqs
sudo apt install git dnsmasq hostapd bc build-essential dkms raspberrypi-kernel-headers
# Reboot just in case there were any kernel updates
sudo reboot
# Pull down the driver source
git clone https://github.com/cilynx/rtl88x2bu
cd rtl88x2bu/
# Configure for RasPi
sed -i 's/I386_PC = y/I386_PC = n/' Makefile
sed -i 's/ARM_RPI = n/ARM_RPI = y/' Makefile
# DKMS as above
VER=$(sed -n 's/\PACKAGE_VERSION="\(.*\)"/\1/p' dkms.conf)
sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}
sudo dkms add -m rtl88x2bu -v ${VER}
sudo dkms build -m rtl88x2bu -v ${VER} # Takes ~3-minutes on a 3B+
sudo dkms install -m rtl88x2bu -v ${VER}
# Plug in your adapter then confirm your new interface name
ip addr
# Set a static IP for the new interface (adjust if you have a different interface name or preferred IP)
sudo tee -a /etc/dhcpcd.conf <<EOF
interface wlan1
static ip_address=192.168.4.1/24
nohook wpa_supplicant
EOF
# Clobber the default dnsmasq config
sudo tee /etc/dnsmasq.conf <<EOF
interface=wlan1
dhcp-range=192.168.4.100,192.168.4.199,255.255.255.0,24h
EOF
# Configure hostapd
sudo tee /etc/hostapd/hostapd.conf <<EOF
interface=wlan1
driver=nl80211
ssid=pinet
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=CorrectHorseBatteryStaple
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
EOF
sudo sed -i 's|#DAEMON_CONF=""|DAEMON_CONF="/etc/hostapd/hostapd.conf"|' /etc/default/hostapd
# Enable hostapd
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
# Reboot to pick up the config changes
sudo reboot
If you want to setup masquerading or bridging, check out the official Raspberry Pi docs.