TL;DR Most manufacterers do not play well with Linux. ThinkPenguin Devices are designed for Linux and should always work out-of-the-box!

Finding a reliable USB Linux WiFi device can be complicated.

I naively bought several devices from Amazon that had mixed reviews for Linux support, and I informally tested them at home on Ubuntu. It was a simplistic effort to find a card that worked out of the box on Ubuntu.

Some of the devices I purchased seemed to be working without issue and so I wrote an article proclaiming, “These devices work on Linux!” in the hope that I could help recommend devices for Linux users like me.

Although I may have had good intentions, that article was actually more harmful than helpful.

A commenter on that article rightly pointed out to me the various problems with lists like mine that recommend specific USB WiFi devices for Linux, and I have since rewritten that article to be more informative and helpful.

I would summarize the issues (from my perspective) as follows.

This Debian article on WiFi sums things up far better than I ever could.

Currently there are only a few modern wifi chipsets readily available that work with free software systems.

USB Wifi cards are becoming less free.

I spent enough time and energy researching this that I figured I may as well share my fumblings and findings in case they are helpful to anyone.

My own conclusion is that ThinkPenguin devices are the only networking hardware I feel confident will always work on Linux, and that they are the only company that will give me the exact chipset they advertise. That alone is extremely helpful whenever I need Atheros chipsets for penetration testing. Though, I must admit, the lack of modern features (5Ghz 802.11ac for instance) are a major downside for ThinkPenguin.

In general, the state of USB WiFi on Linux is less than ideal. PCI cards, ethernet bridges, and USB WiFi tethering may be better options depending on your situation.

I am no expert. Please comment and critique this article if you think I am way off the mark on any points. My opinions and observations are my own. I give no guarantees and you are responsible for your own purchasing decisions.

Marketing and Sales Confusion

I buy almost everything on Amazon, and I rely on Amazon reviews to inform my purchasing. In my quest to find a USB WiFi device for Linux that “just works”, I often found reviews like these.

One review for the Panda PAU05 300Mbps said it has an RT5372 chipset.

Panda PAU05 300Mbps 1.png

Another review says the same product has an RT2870 chipset.

Panda PAU05 300Mbps 2.png

What is happening? How are we seeing the same model of a USB WiFi network device reportedly having multiple supported chipsets?

Here is another example of that same chipset inconsistency.

The manufacturer of the ANEWISH Wifi Adapter 600Mbps USB Wifi Adapter says the chipset is an RTL8111.


ANEWISH 600Mbps.png

Then a reviewer claims their device has the RTL8188AU chipset.

ANEWISH 600Mbps 2.png

The Edimax-EW-7811UTC is another great example of this confusion in how devices can be marketed one way, but the underlying device internals are likely to be inconsistent.

The WikiDev articles for the Edimax-EW-7811UTC clearly state that there are multiple revisions of the same device.

multiple revisions of this device, use caution

This is a case where a device is marketed and sold under one model number, but there are different internals being used across the multiple revisions of that one card. We have almost no guarantee or way of knowing which flavor we will receive.

For that Edimax device, it seems the same chipset is used across multiple revisions, but there is no guarantee there aren’t other varying chipsets in use for that model right now, or in the near future. One revision of that device has a vendor id (VID) and product id (PID) of 7392:a811, and another revision of that same device has a vendor id (VID) and product id (PID) of 7392:a812.

We might, understandably, presume that the device with product id a811 uses the rtl8811au chipset while the device with product id a812 uses the rtl8812au chipset, but it appears they both use the rtl8811au chipset.

This behavior by companies to market devices with different internals, but the same branding and model number, can clearly lead to confusion.

Chipset Inconsistency

What is going on in those reviews? Why is there confusion as to which chipset these USB WiFi devices will have, even when directly asking the manufacturers?

From what I’ve been told, read, and observed firsthand, manufacturers can, and clearly do, sell the same model of a USB WiFi product, but using multiple varying chipsets.

The way this behavior manifests is as we see in the Amazon reviews above.

Two users can buy the same model of a card and end up with different chipsets.

Consumer A
	Buys WiFi Card X
	Card has chipset 123

Consumer B
	Buys WiFi Card X
	Card has chipset 456

This behavior is one of the issues that was pointed out to me by the helpful commenter on my other article.

Because of this behavior, articles like the one I wrote proclaiming, “These devices work on Linux!”, are actually very dubious. How can I, or anyone else, recommend a USB WiFi card if I cannot guarantee which chipset a consumer will receive?

ThinkPenguin solves this problem by using chipsets that are suited for Linux.

Our products are freedom-compatible: Meaning they will work with just about any free software operating system.

The chipsets we use encourage community development and user participation.

ThinkPenguin clearly indicates which (free software friendly) chipsets they use in each device, their chipsets are supported with open source drivers, and ThinkPenguin does not change their chipsets at random.

The TP-Link N150 Wireless Nano USB Adapter (TL-WN725N) is a perfect and unfortunate example of the chipset inconsistency problem.

TP-Link N150 multiple chipsets.png.

It is a total gamble for Linux when we buy devices like these. We have almost zero guarantee which chipset will be in our device when it arrives even when we buy the exact same model of a device as someone else.

ThinkPenguin, on the other hand, uses predictable and reliable chipsets.

Driver Support

Even if we decide to gamble and purchase an oddball USB WiFi device, I have found that the vendor-supplied Linux drivers for the USB WiFi devices I bought on Amazon were pretty awful.

The drivers were designed for 2.6 kernels, were poorly documented, and never installed properly.

This may not always be the case, but considering I saw the vendor Linux drivers were consistenly terrible, I imagine it is a common occurance.

Because most consumer USB WiFi device manufacturers do not work with the community, Linux support is problematic.

Non-free drivers and firmware are produced by companies refusing or unable to cooperate with the free software community. With non-free drivers and firmware support is often unavailable or severely strained. For instance features are often left out, bugs go unfixed, and what support does exist from the manufacture is fleeting.

It seems to me that manufacturer behaviors make it exceedingly difficult to develop reliable Linux drivers. Again, this is a case where ThinkPenguin is an appealing choice for Linux since they have mainline kernel support. However, the USB WiFi space is challenging for ThinkPenguin.

With 802.11N there is only one chipset on the market from Atheros which is completely free.

ThinkPenguin.com, has indicated the availability of free software supported 802.11N USB wifi cards is disappearing. Solving this problem will require more demand than currently exists. Next time you purchase a piece of hardware ask yourself if it is free software compatible.

I should point out that there certainly are a plethora of other (non-free) Linux USB WiFi drivers out in the wild. It is not as though only ThinkPenguin devices will work on Linux, but rather, they seem to have the best support due to the nature of their relationship with the Linux community.

Unpredictable Chipsets -> Unpredictable Features

Some users may purchase WiFi devices because they want a particular chipset with a particular feature.

Since manufacturers often change chipsets at random, we cannot ensure that buying a card off of Amazon or some other electronics site will have the chipset we desire with the feature(s) we desire.

See examples of this issue here for the TP-Link N150. Some users received cards with an Atheros chipset that supports monitor mode, which is ideal for security penetration testing. However, not all the cards have that chipset, and some users were left in the lurch.

Ath9k.png.

Other users purchasing the same card ended up with devices that had a different chipset that does not support monitor mode.

Not Atheros chipset.png.

This user had the same issue.

Bad info.png.

Since ThinkPenguin cards offer consistent chipsets, we can confidently purchase a card with an Atheros chipset supporting monitor mode from ThinkPenguin and know that we will receive a card with those features.

ThinkPenguin WiFi Devices For Linux

A far better solution than playing this guessing game with manufacturers would seem to be purchasing the networking devices sold by ThinkPenguin.

These devices clearly list which chipset is used, and the open source drivers for these devices are included with pretty much every modern Linux kernel.

ThinkPenguin makes a concerted effort to sell hardware that is designed for Linux.

The chipsets we use encourage community development and user participation. Users can not be locked into a vendor or product, be forced into an expensive upgrade, or have other digital restrictions placed on them.

As that helpful commenter pointed out to me in my other article, ThinkPenguin devices are ideal for Linux.

They’re the only adapters you can be reasonably confident are going to be properly supported now and into the future because the community is able to fix bugs, add features, etc. They also don’t change chipsets randomly so you know what your getting.

I understand ThinkPenguin devices may not suit everyone’s needs. Their cards lack modern features, the prices may be a little more expensive, and shopping with ThinkPenguin may not be as convenient as with Amazon.

If we must buy a non-free USB WiFi card, all we can do is cross our fingers and hope for the best. Hope that the manufacturer from whom we purchase do their best to conform to best practices and act as faithful allies to the Linux community.

As someone who cares about free and open software and hardware, I plan to buy ThinkPenguin devices when they fit my needs. I will buy non-free devices as well, but I hope that supporting companies like ThinkPenguin will help the Linux community overall.

As long as ThinkPenguin maintains their current stance, we know which chipset our USB networking cards will have that they will be well-supported on Linux.