Wireless AC has turned out to be a real pain. First off, in doing my research, the only adapter that does AC and natively loads in Linux are devices with the MT7612UN MediaTek chipset. These do not seem to be terribly common, and the only seller I found was not particularly honest.
This leaves the RTL8812AU as the leading contender. They are ubiquitous. The big problem with them is the driver isn’t baked into the kernel, and so you must install additional drivers. Unfortunately these drivers appear to be somewhat flaky, especially when you get large numbers of devices added on your system.
The people at Kismet don’t have much good to say about the RTL8812AU:
- rtl8812 and 8814 USB 802.11AC cards are known to have many strange problems. While extremely common hardware, these cards use out-of-kernel drivers which do not support standard monitor mode vif configuration. There are many flavors of these drivers, many of which cannot enter monitor mode, or silently fail to enable monitor mode. Currently (2019-08) the 8812au drivers have had significant trouble with modern (5.2 and newer) kernels, and channel controls. The last commit of the 8812au drivers known to work is d8d9399a5bfa3657d94505602a863d7f49d40393, however this will not build on modern drivers. If possible, I suggest avoiding the rtl8812au chipset for now, despite its cheap cost and prevalence.
If you do end up with the BU chipset, and your build is more modest (say under 10 devices) go with them. They work up to about that level, and then go nuts.
The final nail in the proverbial coffin for me in regards to the BU chipset, is that it will not allow me to set a single device to a single channel. The ability to control the channels seems to be much of what is out of whack with the drivers, and sometime they drop vast swaths of the available channels, only to then pick them back up, and then have the whole device go offline. It just wasn’t worth the headache. This seemed to be a bigger issue than with the AU chipset.
Further complicating matters, many of the devices sold as RTL8812AU chipset devices actually have the RTL8812BU chipset. The BU chipset is FAR less supported. There are sites that have drivers that will work. [You can find the best one as of today 11-2019, here] I was able to get 20 of them running, but they were in a constant state of dropping off the system and reattaching. At times I only had 4 of the 20 actually functioning. This was unfortunate as I had a full order of the 100 that I need for this project, and I am going to have to return them.
DO NOT MIX AU & BU ADAPTERS!! I have had nothing but trouble trying to work these two types side by side. The drivers that work for one, do not necessarily work with the other. I’m not saying it isn’t possible, but it just isn’t worth the headache. If you start out one direction, stick with with that path.
The current best drivers are found here: https://github.com/AstroDrabb/rtl8812au
These are the only drivers I have found to work on the most recent Linux variants including Kali 2019.3 release, and Ubuntu 19.4 and 19.10.
When working with drivers, one thing that will drive you nuts is fully remove any previous versions of a driver you have before you start trying to install another driver. So if you are trying various AU drivers, make sure to remove all the other variants in DKMS. I will again recommend you not mix the BU and AU drivers, and only have one installed at a time. They seem to conflict, and cause you all kinds of headache.
Anyway, I’m now trying to reassess my options, though I think I will probably be back to the RTL8812AU despite the issues Kismet state. Hopefully I can work around them. I do have some of the MediaTek adapters on order for testing, but unless they rock, the difference in price kind of leaves me cold.