Warning: You should read this Debian article regarding WiFi before delving into the world of USB WiFi devices and Linux. It is almost impossible to know which chipset you will receive when you buy most USB WiFi devices.[1] USB WiFi devices are often sold with multiple chipsets, and you typically cannot know which chipset you will receive before you buy it. WiFi device manufacturers typically do not play well with Linux and free software organizations.[2]

🐧 ThinkPenguin networking devices are an exception to the warnings above. ThinkPenguin devices use predictable chipsets, are designed with Linux in mind, and their drivers are supported by the Linux kernel.[3]

I understand that ThinkPenguin devices may not be ideal for everyone. I am listing other, non-ThinkPenguin devices, that I have tested. However, for the reasons I stated above, non-ThinkPenguin devices are typically not Linux friendly, and I cannot guarantee they will work for you!

You are responsible for your own purchasing decision!

This is not an exhaustive list. I have not purchased hundreds of cards. I have purchased several cards, and am ranking only the cards I own. As an average Linux user, I will do the best I can to relate what I found so that it may help others.

All cards were tested using Ubuntu 16.04.3 LTS Xenial Xerus 4.10.0-37-generic #41~16.04.1-Ubuntu SMP Fri Oct 6 22:42:59 UTC 2017 against a server using iperf 3.0.11. Each test was performed over a period of 4 hours.

Best for Linux

Penguin Wireless N USB Adapter for GNU / Linux (TPE-N150USB)

Info

lsusb:   0cf3:9271 Qualcomm Atheros Communications AR9271 802.11n
chipset: AR9271[4]
driver:  ath9k_htc[5]
module:  /lib/modules/4.10.0-37-generic/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
author:  Atheros Communications

description: Atheros driver 802.11n HTC based wireless devices

The TPE-N150USB performed very reliably in my tests. Download speeds averaged 31.16 Mbps and upload speeds averaged 11.58 Mbps. Not stellar, but on-par with the other wireless 802.11n devices I tested. Unlike other wireless 802.11n devices I tested, this one showed much more reliable and consistent performance. This USB WiFi interface is going to be the most reliable Linux supported mini USB WiFi device you can find.

This card is supported by the Linux Kernel [6], which means that you do not need any special intervention to get this NIC to work. Just plug it in and you are done. It also supports Monitor mode [7], which is great for security analysis. Since ThinkPenguin uses reliable chipsets, you can rest assured you will get the chipset you ordered!

Download Tests

 0.0 -  3.3 Mbps |   0
 3.3 -  6.7 Mbps |   4
 6.7 - 10.0 Mbps |   8
10.0 - 13.3 Mbps |   6
13.3 - 16.7 Mbps |  10
16.7 - 20.0 Mbps |   2
20.0 - 23.3 Mbps |   0
23.3 - 26.7 Mbps |   2
26.7 - 30.0 Mbps |  58 +++++
30.0 - 33.3 Mbps | 325 ++++++++++++++++++++++++++++++
33.3 - 36.7 Mbps | 152 ++++++++++++++
36.7 - 40.0 Mbps |   3
40.0 - 43.3 Mbps |   0
43.3 - 46.7 Mbps |   0
46.7 - 50.0 Mbps |   0
total: 570
max: 37.0923 Mbps
min: 5.70558 Mbps
average: 31.16 Mbps

Upload Tests

 0.0 -  3.3 Mbps |   5
 3.3 -  6.7 Mbps |  28 ++
 6.7 - 10.0 Mbps |  53 ++++
10.0 - 13.3 Mbps | 362 ++++++++++++++++++++++++++++++
13.3 - 16.7 Mbps | 122 ++++++++++
16.7 - 20.0 Mbps |   1
20.0 - 23.3 Mbps |   0
23.3 - 26.7 Mbps |   0
26.7 - 30.0 Mbps |   0
30.0 - 33.3 Mbps |   0
33.3 - 36.7 Mbps |   0
36.7 - 40.0 Mbps |   0
40.0 - 43.3 Mbps |   0
43.3 - 46.7 Mbps |   0
46.7 - 50.0 Mbps |   0
total: 571
max: 17.9236 Mbps
min: 2.44766 Mbps
average: 11.58 Mbps

Test Data - sha512sum - d2d40368e38636f7a55f33388f5f018f0da4199a2fe9652bb34dbbab33e235d4046d3c6eecac2037358b5a5af99f87c4013b34a3ae276a96199e5be956a93258

Best for 802.11ac

Edimax EW-7811UTC AC600 Dual-Band

Info

lsusb:      7392:a812 Edimax Technology Co., Ltd
chipset(s): RTL8811AU[8]
driver:     rtl8812au[9]

If you purchase this card, there is no guarantee you will receive the same chipset I received. Performance and support for your card will vary based on which chipset you receive.

This card seemed blazing fast (relative to other Linux WiFi adapters) for me on Ubuntu 16.04.3. The performance boost came from 802.11ac. The same card on my 802.11n network did not perform nearly as well. With 802.11ac I saw download speeds average 64.16 Mbps and upload speeds average 59.42 Mbps.

The WikiDevi article for this card lists a different product id (PID) and driver than my card even though they're marketed and sold using the same name! I do not actually know if my chipset is the RTL8811AU or not.

Getting this device to work on Linux was complicated. There are multiple drivers by multiple authors for this chipset.[10][11][12][13][14] None of those drivers worked for me.

I tried multiple variations of the official Edimax driver code, but none of the Edimax drivers built successfully for me.

I found that the Ubuntu package for this driver would not build on my (vanilla) Ubuntu install either.

This article finally helped me find a working driver. For me, the working driver was the rtl8812AU_8821AU_linux driver by scrivy.

Please note this is clearly not a well supported device on Linux, there are risks in downloading software from random repos, I only tested on Ubuntu, you may well receive a different chipset that I did, and there is no guarantee this card will work for you.

Download Tests

 0.0 -  6.0 Mbps |   0
 6.0 - 12.0 Mbps |   0
12.0 - 18.0 Mbps |   1
18.0 - 24.0 Mbps |   0
24.0 - 30.0 Mbps |   0
30.0 - 36.0 Mbps |   0
36.0 - 42.0 Mbps |   0
42.0 - 48.0 Mbps |   0
48.0 - 54.0 Mbps |   2
54.0 - 60.0 Mbps | 125 +++++++++++++++++++
60.0 - 66.0 Mbps | 190 ++++++++++++++++++++++++++++++
66.0 - 72.0 Mbps | 171 +++++++++++++++++++++++++++
72.0 - 78.0 Mbps |  35 +++++
78.0 - 84.0 Mbps |   0
84.0 - 90.0 Mbps |   0
total: 524
max: 75.8806 Mbps
min: 15.0154 Mbps
average: 64.16 Mbps

Upload Tests

 0.0 -  6.0 Mbps |   0
 6.0 - 12.0 Mbps |   0
12.0 - 18.0 Mbps |   0
18.0 - 24.0 Mbps |   0
24.0 - 30.0 Mbps |   0
30.0 - 36.0 Mbps |   0
36.0 - 42.0 Mbps |   0
42.0 - 48.0 Mbps |   0
48.0 - 54.0 Mbps |   4
54.0 - 60.0 Mbps | 259 +++++++++++++++++++++++++++++
60.0 - 66.0 Mbps | 261 ++++++++++++++++++++++++++++++
66.0 - 72.0 Mbps |   0
72.0 - 78.0 Mbps |   0
78.0 - 84.0 Mbps |   0
84.0 - 90.0 Mbps |   0
total: 524
max: 63.3158 Mbps
min: 50.9182 Mbps
average: 59.42 Mbps

Test Data - sha512sum - 31a76d0db76f81dcbe5971438aecdbf63583f9ff74433c70e5f08ae27bfd4eda8fa2ef987b3a698dbd18a5f3195f9cc74ddc85f021e4f902ec3210e515e86bc0