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
Drivers for pcie connected Realtek 8723/8812/8821 adapters are in kernel-3.17.8 and later.

Driver 8812au for Realtek usb chipsets is available from https://github.com/gnab/rtl8812au. This driver does not compile with kernel-4.0 and later (as of 4 may 2015).

A kernel-4.0.0 compatible version of driver 8812au is available from https://github.com/csssuf/rtl8812au/archive/master.zip (as of 5 may 2015). wl 6 is in portage as broadcomm-sta, but support of bcm4352 and bcm43526 is very unlikely. The BCM43526 is not in the supported device list at http://www.broadcom.com/docs/linux_sta/README_6.30.223.248.txt. Using ndiswrapper and 32 bit windows files may work. 64 bit windows files do not. As the BCM43526 adapters are usb2.0, 480 mbps, they should be unable to support the theoretical 867 mbps of the 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.

Install RTL8812AU chipset driver
Configure, compile, and boot a kernel enabling the following:

Script Install
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, chmod +x rtlscript.sh

run the script, ./rtlscript.sh

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

eselected=$(eselect kernel list awk '/\*/ {print $2}'  awk 'gsub("linux-", "")') running=$(uname -r) if [ "$running" = "$eselected" ]; then wget -N https://github.com/gnab/rtl8812au/archive/master.zip# if [ -d "rtl8812au-master" ]; then rm -rf rtl8812au-master fi unzip master.zip 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" else echo "rtl8812au directory existed." fi cp 8812au.ko /lib64/modules/$(uname -r)/kernel/drivers/net/wireless/rtlwifi/rtl8812au depmod -a echo "Connect the wireless usb device and reboot"; else echo "Please ensure the eselected kernel source and running kernel are the same version, then try again." 1>&2; exit; fi
 * 1) !/bin/bash

Manual Install
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# 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.