AC1200 Wireless Adapters

Finding an adapter

 * Browse to https://wikidevi.com/wiki/Special:RunQuery/Wireless_adapter_query.
 * Find "Supported 802dot11 protocols:", enter abgn+ac.
 * Find "Table query type:", select linux_support.
 * Click "Run query".
 * Scroll down to find a table of known abgn+ac Wireless Adapters with chipset, pciid, and possible linux driver. The AC1200 adapters in the table will have RTL8812AU or BCM43526 chipsets. The other chipsets listed support other protocols.

Finding a driver

 * Realtek 8723/8812/8821 PCIe drivers are in Linux 3.17.8 and later.
 * Realtek 8812au USB driver is available from https://github.com/gnab/rtl8812au . As of 2015-05-04, this driver does not compile with Linux 4.0.0 and later. A Linux 4.0.0 compatible version of the 8812au driver is available from https://github.com/csssuf/rtl8812au/archive/master.zip.
 * The 6.x drivers are in Portage, but support of BCM4352 and BCM43526 is very unlikely. BCM43526 is not in the supported device list at http://www.broadcom.com/docs/linux_sta/README_6.30.223.248.txt . Using  and 32bit Windows files may work. 64-bit Windows files do not. Since the BCM43526 adapters are USB 2.0 and have a 400 Mbit/s data rate, they should be unable to support the theoretical 867 Mbit/s data rate of 5 GHz channels.

Working devices
The table below lists AC1200 USB 3.0 adapters tested and working with amd64 multilib and kernel-3.18.5.

Scripted installation
If connected to the internet and logged in as root:

cd /root, if needed

emerge unzip, if needed

copy the following script and paste into a text file /root/rtlscript.sh

make /root/rtlscript.sh executable by root, chmod o+x rtlscript.sh

run the script, ./rtlscript.sh

running the script will perform the actions listed in Manual Install below

if [ "$(id -u)" != "0" ]; then echo "Please login as root, then try again" 1>&2 exit 1 fi eselected=$(eselect kernel list | awk '/\*/ {print $2}' | awk 'gsub("linux-", "")') running=$(uname -r) if [ "$running" != "$eselected" ]; then echo "Please ensure the eselected kernel source and running kernel are the same version, then try again." 1>&2;	exit 1 fi WGET="/usr/bin/wget" $WGET -q --tries=1 --timeout=1 http://www.google.com -O /tmp/google.idx &> /dev/null if [ -s /tmp/google.idx ]; then version=${eselected:0:1} required_version="4" if [ "$version" = "$required_version" ]; then wget -N https://github.com/csssuf/rtl8812au/archive/master.zip else wget -N https://github.com/gnab/rtl8812au/archive/master.zip fi if [ -d "rtl8812au-master" ]; then rm -rf rtl8812au-master fi fi if [ -s /root/master.zip ]; then unzip master.zip fi if [ -d "rtl8812au-master" ]; then cd rtl8812au-master sed 's/CONFIG_POWER_SAVING = y/CONFIG_POWER_SAVING = n/g' Makefile > OUT mv OUT Makefile make insmod 8812au.ko if [ ! -d "/lib64/modules/$(uname -r)/kernel/drivers/net/wireless/rtlwifi/rtl8812au" ]; then mkdir /lib64/modules/$(uname -r)/kernel/drivers/net/wireless/rtlwifi/rtl8812au echo "rtl8812au directory created."; 1>&2; else echo "rtl8812au directory existed." 1>&2;		fi cp -f 8812au.ko /lib64/modules/$(uname -r)/kernel/drivers/net/wireless/rtlwifi/rtl8812au depmod -a echo "Connect the wireless usb device and reboot"; else echo "Unable to find or create /root/rtl8812au-master -> no internet connection, no master.zip file, no rtl8812au-master file."; exit 1 fi
 * 1) !/bin/bash

Manual installation
After booting the kernel configured as above: Use eselect kernel list and uname -r and ensure the eselected kernel source and running kernel are the same version. Download https://github.com/gnab/rtl8812au/archive/master.zip# (not kernel 4.0.0 compatible pending pull approval of the change in the branch below) OR https://github.com/csssuf/rtl8812au/archive/master.zip (kernel 4.0.0 compatible pull) to a directory you can find again. cd into the directory containing master.zip. If an "rtl8812au-master" subdirectory exists, remove it. unzip master.zip to create a fresh "rtl8812au-master" subdirectory. cd rtl8812au-master. Edit rtl8812au-master/Makefile to replace CONFIG_POWER_SAVING = y with CONFIG_POWER_SAVING = n. Run make. Run insmod 8812au.ko. Make directory /lib64/modules/$(uname -r)/kernel/drivers/net/wireless/rtlwifi/rtl8812au if not present. Copy 8812au.ko into the directory /lib64/modules/$(uname -r)/kernel/drivers/net/wireless/rtlwifi/rtl8812au. Run depmod -a. Connect the wireless usb device and reboot.

External resources

 * http://gpo.zugaina.org/net-wireless/rtl8812au