Community list of wireless devices with FOSS firmware

This is a constantly evolving post and discussion dedicated to guiding Linux/BSD users to the best FOSS solutions for their wireless hardware needs.

This is not intended to be an exhaustive list of every option but a good summary of the highest quality options that are best supported, easily available and preferably from FOSS orientated companies. Also these devices won’t necessarily work right out of the box (thank you Popey) as firmware may need to be installed, more often than not from your distro’s repo with one command.

Options are divided into chipsets as they share the same capabilities and firmware:

What are my options?

Interface

Chipset maker & model ← FOSS firmware ← chipset features

  • Retail option - additional features

USB

Atheros AR7010+AR9287 ← ath9k_htc ← 802.11b/g/n, 2.4GHz

Atheros AR7010+AR9280 ← ath9k_htc ← 802.11a/b/g/n, 2.4GHz

  • Sony UWA-BR100 - wireless+LAN

Atheros AR9271 ← ath9k_htc ← 802.11b/g/n, 2.4Ghz


PCIe

Atheros AR9280 ← ath9k_htc ← a/b/g/n, 2.4 & 5Ghz, Wireless N Dual-Band


NGFF M.2

Atheros AR9462 ← ath9k_htc ← 802.11a/b/g/n, 2.4 & 5Ghz, Wireless N Dual Band + Bluetooth 4.0

Atheros QCA9565 ← ath9k_htc ← 802.11b/g/n, 2.4Ghz


Mini PCIe x1

Atheros AR9382 ← ath9k_htc ← a/b/g/n, Dual-band 2.4 & 5Ghz

Atheros AR9380 ← ath9k_htc ← 802.11a/b/g/n, 2.4 & 5Ghz

Atheros AR9281 ← ath9k_htc ← b/g/n-draft, 2.4Ghz

Atheros AR9280 ← ath9k_htc ← a/b/g/n, Dual-band 2.4 & 5Ghz


Mini PCI

Atheros AR9223 ← ath9k_htc ← 802.11N

Atheros AR2413 ← ath9k_htc ← 802.11G, 2.4Ghz


Scratch notes on finding hardware:

There’s a lot of open source wireless drivers and chipsets known to be compatible but the tricky part is finding the best mix of performance, support, availability and discoverability (which devices are using it).

Using wikipedia’s page to cross-reference the best of the known chipsets against the best known driver capabilities and requiring the driver exist on both tables, the best FOSS chipsets within that comparison appear to be using the:

ath9k

  • Protocol(s): a,b,g,n
  • Interface(s): PCI, Mini PCI, Mini PCIe, AHB
  • Chipset(s): Qualcomm Atheros chips with IEEE 802.11n support

ath9k_htc

  • Protocol(s): a,b,g,n
  • Interface(s): USB
  • Chipset(s): Qualcomm Atheros AR9271, AR7010 (USB-PCIe bridge with AR928x chips)

ath10k

  • Protocol(s): ac
  • Interface(s): PCI, Mini PCI, AHB, Mini PCIe
  • Chipset(s): Qualcomm Atheros chips with IEEE 802.11ac support

This seems to ring true as the list of products above all using ath9k and ath9k_htc chipsets except one which uses the AR2413 chipset.

Realtek RTL8812AU

The status of Realtek’s driver for this product is unclear, but it seems likely that it is not actively maintained. The Aircrack-ng project has created a working driver based on Realtek’s driver for this product. As of spring 2021 this project appears to be actively maintained. On Guix, the Aircrack-ng driver is available as the package rtl8812au-aircrack-ng-linux-module. The source code may be found here: GitHub - aircrack-ng/rtl8812au: RTL8812AU/21AU and RTL8814AU driver with monitor mode and frame injection

TP-Link 802.11ac WLAN Adapter - h-node.org

Resources

Community list of FOSS hardware sites: Community list of FOSS friendly hardware store pages and references

Mini-list of some FOSS wifi devices: wifi - h-node.org

Wikipedia wireless compatibility by chipset: Comparison of open-source wireless drivers - Wikipedia

Ubuntu wireless hardware support list: WifiDocs/WirelessCardsSupported - Community Help Wiki

Wireless driver support lists:
kernel.org: en:users:drivers [Linux Wireless]
Wikidevi: Category:Linux driver/802dot11 - DeviWiki (ex WikiDevi)

kernel.org ath9k_htc devices: https://wireless.wiki.kernel.org/en/users/drivers/ath9k_htc/devices
kernel.org ath9k devices: en:users:drivers:ath9k:devices [Linux Wireless]

Wikidevi ath9k devices: ath9k - WikiDevi
Wikidevi ath9k_htc devices: ath9k htc - WikiDevi
Wikidevi ath10k devices: ath10k - WikiDevi

WikiDevi matching firmware to chipsets: Wireless adapters/Chipset table - DeviWiki (ex WikiDevi)

ALFA Network, Linux support by chipset & ALFA model: Linux support for MT7610U based products - ALFA Network Docs

linux-hardware telemetry list of wireless hardware in use: Net/wireless devices

Linux Wireless LAN Howto (deep dive into chipsets and history): https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/

1 Like

Some of those devices aren’t fully free, but they rely on non-free firmware. The ath9k_htc range of devices for example, require a binary blob to function. So “out of the box” they work on distributions with provide non-free blobs in their linux-firmware packages, like Debian and Ubuntu.

On “Fully Free” installations, “out of the box” those devices flat out won’t work.

Is that something that matters, or do you overlook the blobs? Just wondered.

2 Likes

Big thank you Popey, i’m really trying to get this right and I obviously needed to look into this more. I definitely don’t consider hardware requiring non-free blobs eligible for the list.

Regarding ath9k_htc here’s how far i’ve gotten…

The FSF certified ThinkPenguin’s TPE-N150USB running the Atheros AR9271 chipset here.

“Software certification focused primarily on the firmware for the Atheros AR9271 chip used on the adapter.”

"FSF’s executive director, John Sullivan, said, “The FSF is grateful to the QCA team for publishing the firmware for this device as free software.”

… and on the kernel .org’s wiki, they attribute the ath9k_htc firmware to both the Atheros AR9271 and ThinkPenguin’s TPE-N150USB which is FSF certified.

This implies the ath9k_htc firmware must meet FSF requirements but looking at the Debian wiki on the ath9k_htc there appears to be two firmware packages, firmware-atheros (non-free) and firmware-ath9k-htc (also on Ubuntu) described as “Open firmware” and “open” isn’t synonymous with Free.

So I keep digging and find the kernel .org’s Atheros page which says,

“To help other FOSS Operating Systems, when possible, Atheros licenses their device drivers source code under a permissive license. Atheros picked the ISC License”

Which wikipeda describes as

“functionally equivalent to the simplified BSD and MIT licenses”

So I think you’re 1/2 correct in that ath9k_htc firmware has both Free and non-Free variants.

As to whether or not ath9k_htc will run out of the box… that’s a bit beyond me though someone smarter may be able to tell from linux .org’s description. That Debian/Ubuntu have it in a package makes me think this is going to be a distro specific thing.

Great list, thanks! I’ve been thinking about getting a PCIe wireless card for my desktop, as my current old USB thing that I’ve had for years is quite slow by modern standards. Some of these definitely seem worth considering.

1 Like

A post was split to a new topic: Community list of wireless devices with proprietary firmware