Comparison of open-source wireless drivers

Last updated

Wireless network cards for computers require control software to make them function (firmware, device drivers). This is a list of the status of some open-source drivers for 802.11 wireless network cards.

Contents

Linux

Marvell's "Libertas" runs an RTOS on an ARM9 and interfaces over a shim with the actual operating system. Marvell Libertas (88W8xxx).svg
Marvell's "Libertas" runs an RTOS on an ARM9 and interfaces over a shim with the actual operating system.

Status

Driver family Driver ChipsetsChipset
PHY Modes
Integration
in mainline
Non-free
firmware
required [note 1]
LicenseDevelopment
adm8211 adm8211 ADMtek ADM8211 (802.11b MAC/BBP)bYesYesGPLv2With support from Infineon / ADMtek
at76c50x‑usb at76c50x-usb Atmel AT76C503 / AT76C505 based USB WLAN adaptersbYesDepends on the modelGPLv2 ?
acx100 acx1xx Texas Instruments ACX100, ACX111, TNETW1450b/gNoYesDual BSD/MPL Reverse-engineered
airo airo
airo
Cisco Systems Aironet 4500/4800 and 340/350bYesNoDual GPLv2 and BSD ?
ath
atheros
ar5523 Atheros AR5523 based USB donglesa/b/gYesYesISCReverse-engineered
ath5k Atheros AR2413, AR2414, AR2417, AR2425, AR5210, AR5211, AR5212, AR5213, AR5413, AR5414, AR5423, AR5424a/b/gYes (since 2.6.25) [3] Dual GPL/BSD Reverse-engineered
ath6kl Atheros AR6003, AR6004 (SDIO), AR6004 (USB)a/b/gYesYesISCWritten by Atheros
ath9k Atheros chips with 802.11n supporta/b/g/nYes (since 2.6.27) [3] proprietary blob only required for Bluetooth (Purism / NovaCustom) ISC Written by Atheros
ath9k_htc Atheros AR9271, AR7010 (USB-PCIe bridge with AR928x chips)b/g/nYes (since 2.6.35) [4] [5] No [6] ISC Written by Qualcomm Atheros
ath10k Qualcomm Atheros chips with 802.11ac supporta/b/g/n
/ac
Yes (since 3.11) [7] Yes [8] ISC Written by Qualcomm Atheros
ath11k Qualcomm Atheros chips with 802.11ax supporta/b/g/n
/ac/ax
Yes (since 5.6) [9] Yes [10] ISC Written by Qualcomm Atheros
ath12k Qualcomm Atheros chips with 802.11be supporta/b/g/n
/ac/ax/be
Yes (since 6.0)Yes ISC Written by Qualcomm Atheros
carl9170 Atheros AR9170 (802.11n USB)a/b/g/nYes (since 3.0)No [11] GPL Qualcomm Atheros-supported
wil6210 Wilocity wil6210, 802.11ad 60GHz adYesYes ISC Written by Qualcomm Atheros
atmel atmel Atmel at76c502 at76c504 and at76c506 wireless cardsbYesYesGPLv2+Reverse-engineered
b43 b43
b43
Broadcom BCM43xx SoC a/b/g/nYes (since 2.6.24)Experimental
OSS firmware [12]
GPL Reverse-engineered
b43legacy b43legacy
bcm43xx
Broadcom BCM4301, BCM4303, and BCM4306 rev 1 and 2a/b/gYes (since 2.6.24)Experimental
OSS firmware [12]
GPL Reverse-engineered
brcm80211 brcmfmac

brcm80211
PCIe devices: Broadcom 4356, 43567, 43570, 4358, 4359, 43602, 4365, 4366
SDIO devices: Broadcom 4329, 4330, 4334, 43340, 43341, 43241, 4335, 4339, 43362, 43430, 43455, 4354, 43143
USB devices: Broadcom 43235, 43236, 43238, 43143, 43242, 43566, 43569
a/b/g/nYes (since 3.2)YesISCWritten by Broadcom
brcmsmac Broadcom BCM4313, BCM43224, BCM43225a/b/g/nYes (since 3.2)YesISCWritten by Broadcom
cw1200 cw1200 ST-Ericsson CW1100 & CW1200 WLAN chipsets ?Yes (since 3.11) [13] Yes [14] GPLv2 ?
hostap hostap
HostAP
Intersil PRISM-II, PRISM-2.5, PRISM 3 ?YesDepends on the model [15] GPLv2
ipw2x00 ipw2100
ipw2200
Intel PRO/Wireless 2100 and 2200 Network Connection (802.11b) ?YesYes [16] GPLWritten by Intel
iwlegacy iwlegacy
iwl3945
iwl4965
Intel Wireless Wi-Fi 3945ABG, 4965AGN ?YesYesGPL
iwlwifi iwlwifi Intel Wireless WiFi Next Gen AGN -
Wireless-N/Advanced-N/Ultimate-N:
6250AGN, 6200AGN, 6300AGN, 1000BGN, 5150AGN, 5100AGN, 5300AGN, 5350AGN, 6005, 6030, 6150BGN, 100BGN, 130BGN and AX200
a/b/g/n
/ac/ax
YesYesDual GPL/BSD Written by Intel
libertas libertas Marvell 88W8686 SDIO Libertas 8388 (USB) 802.11b/g, 8385 (CompactFlash) 802.11b/g, 8385/8686/8688 (SDIO) 802.11b/g, 8686 (SPI) 802.11b/g, 88W8388  ?YesYes [17] GPLMarvell-supported
libertas_tf libertas_tf Marvell 8388 (USB) WLAN Thinfirm Driver (OLPC)b/gYesYesGPLcozybit, Marvell-supported
mt76 mt76 MediaTek MT76xxx, MT79xxxxa/b/g/n
/ac/ax
Yes (since 4.19 [18] )YesISCWith support from MediaTek
mt7601u mt7601u MediaTek MT7601Ub/g/nYes (since 4.2)YesGPLv2
mwifiex mwifiex WiFi-Ex Driver for Marvell SD8786/SD8787/SD8797 (SDIO), 8766/8897 (PCIe) and 88W8797 (USB) ?YesYes [19] GPLv2Written by Marvell
mwl8k mwl8k Marvell TopDog 802.11 Wireless cards:
88W8366, 88W8863, 88W8687, 88W8764
 ?YesYesGPLv2Written by Marvell
orinoco orinoco Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-II, PRISM-2.5; Symbol Spectrum24 802.11b ?YesRequired for WPA support [20]
p54
prism54
p54 Prism54: Intersil/Conexant ISL3877, ISL3880, ISL3886, ISL3887, ISL3890 ?Yes
(~Aug 2007)
Experimental
OSS firmware [21]
prism54  ?Yes (before 2.6.12)Reverse-engineered; obsoleted by p54.
rt2x00 rt2400pci MediaTek (Ralink) RT2460bYes (since 2.6.24)No [22] GPLv2+rt2x00.serialmonkey.com;
From partial documentation and GPL drivers by Ralink
rt2500pci Ralink RT2560b/gYesNoGPLv2+rt2x00.serialmonkey.com
rt61pci Ralink RT2561, RT2561S, RT2661 ?YesYesGPLv2+rt2x00.serialmonkey.com
rt2800pci Ralink RT2760, RT2790, RT2860, RT2880, RT2890, RT3052, RT3090, RT3091, RT3092
RT3390, RT3060, RT3062, RT3290, RT3562, RT3592, RT5390, RT5392
 ?YesYesGPLv2+rt2x00.serialmonkey.com
rt2500usb Ralink RT2571 & RT2572b/gYesNoGPLv2+rt2x00.serialmonkey.com
rt73usb Ralink RT2571W, RT2573 & RT2671 ?YesYesGPLv2+rt2x00.serialmonkey.com
rt2800usb Ralink RT2770, RT2870, RT3070, RT3071, RT3072
RT3370, RT3572, RT5370, RT5572
 ?YesYesGPLv2+rt2x00.serialmonkey.com
rtl818x rtl8180 Realtek RTL8180, RTL8185, RTL8187SEb/gYesNoGPL
rtl8187 Realtek RTL8187, RTL8187Ba/b/gYesNoGPL
rtl8xxxu rtl819x Realtek RTL8723AU, RTL8723BU, RTL8188CUS, RTL8192CU, RTL8191EU, RTL8192EU, RTL8188EU, RTL8188RU, RTL8188FU, RTL8192FUb/g/nYesYesGPLv2fan-made, based on open source drivers released by Realtek
rtlwifi rtl‑wifi rtl8188ee Realtek RTL8188EE ?Yes (since 2.6.38) [23] YesGPLWritten by Realtek et al. Forked from rtl8180-sa2400 project.
rtl8192c Realtek RTL8192C ?YesGPLWritten by Realtek et al.
rtl8192ce Realtek RTL8192CE ?YesYesGPLWritten by Realtek et al.
rtl8192cu Realtek RTL8192CU ?YesYesGPLWritten by Realtek et al.
rtl8192de Realtek RTL8192DE ?YesYesGPLWritten by Realtek et al.
rtl8192se Realtek RTL8192SE ?YesYesGPLWritten by Realtek et al.
rtl8723ae Realtek RTL8723AE ?YesYesGPLWritten by Realtek et al.
rtl8188eu Realtek RTL8188EU (TP-Link TL-WN725N) ?Yes (since 3.12 [24] [25] )YesGPLWritten by Realtek et al.
rtl8821ae Realtek RTL8812AE, RTL8821AEa/b/g/n
/ac
Yes (since 3.16)YesGPL ?
rtw88
rtw89
rtw88_8822ce Realtek RTL8822CEa/b/g/n
/ac
YesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw88_8822be Realtek RTL8822BEa/b/g/n
/ac
YesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw88_8821ce Realtek RTL8821CEa/b/g/n
/ac
YesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw88_8723de Realtek RTL8723DEb/g/nYesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw88_8822cu Realtek RTL8822CUa/b/g/n
/ac
YesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw88_8822bu Realtek RTL8822BUa/b/g/n
/ac
YesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw88_8821cu Realtek RTL8821CUa/b/g/n
/ac
YesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw88_8723du Realtek RTL8723DUb/g/nYesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw89
rtw89
rtw89_8852ae Realtek RTL8852AEa/b/g/n
/ac/ax
YesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw89_8852be Realtek RTL8852BEa/b/g/n
/ac/ax
YesYesDual GPLv2 and BSDWritten by Realtek et al.
rtw89_8852ce Realtek RTL8852CEa/b/g/n
/ac/ax
YesYesDual GPLv2 and BSDWritten by Realtek et al.
rsi9113 rsi9113 Redpine Signals SDIO and USB adaptersYesGPLWritten by Redpine Signals Inc.
ti wl1251 Texas Instruments TI wl1251 (SDIO/SPI) ?YesYes [26] GPLWritten by Nokia
wl12xx Texas Instruments TI wl1271, wl1273, wl1281 and wl1283 ?Yes (Only up to 3.2 [27] )Yes [26] GPLWritten by Nokia and Texas Instruments
wl18xx Texas Instruments TI WiLink 8 ?YesYes [26] GPLWritten by Texas Instruments
zd1211rw zd1211rw ZyDAS ZD1211/ZD1211B (USB) ?YesYes [28] GPLvarious

Driver capabilities

Driver 802.11 Bus
interface
Wireless Security Monitor
mode
Master
(AP) mode
Ad-Hoc
mode
a
b
g
n
ac
ad
ax
WEP WPA WPA2
acx1xx NoYesYesNoNo ? ? PCI, Mini PCI,
PC card, USB
YesNoNoYesYes ?
adm8211 NoYesNoNoNo ? ? PCI Yes ? ?YesNoYes
carl9170 YesYesYesYesNo ? ? USB YesYesYesYesYesYes
ath5k YesYesYesNoNo ? ? PCI, Mini PCI,
PC card, AHB
YesYesYesYesYes
(2.6.31)
Yes
ath9k YesYesYesYesNo ? ? PCI, Mini PCI,
Mini PCIe, AHB
YesYesYesYesYesYes
ath9k_htc YesYesYesYesNo ? ? USB YesYesYesYesYesYes
ath10k NoNoNoNoYes ? ? PCI, Mini PCI,
AHB, Mini PCIe
YesYesYesYesYesYes
b43 NoYesYesNoNo ? ? PCI, Mini PCI,
SDIO  ?
YesYesYesYesYesYes
bcm43xx NoYesYesNoNo ? ? PCI, Mini PCI,
Cardbus, PC card
YesYesYesYesNo ?
brcmfmac YesYesYesYesNo ? ? USB, SDIO,
PCI Express
YesYesYesExp. [29] Yes [30] No
brcmsmac YesYesYesYesNo ? ? PCI, Mini PCI,
Mini PCIe
YesYesYesYesYes [31] Yes [32]
hostap NoYesNoNoNo ? ? PCI, Mini PCI,
PC card
YesYes [33] Yes [33] YesYesYes
ipw2100 NoYesNoNoNo ? ? Mini PCI YesYesYesYes ? ?
ipw2200 YesYesYesNoNo ? ? Mini PCI YesYesYesYesNoYes
ipw2200-ap NoYesYesNoNo ? ? Mini PCI  ? ? ?YesYes ?
ipw3945 YesYesYesNoNo ? ? Mini PCI,
Mini PCIe
YesYesYesYesNoYes
islsm (p54u)
(archive)
 ? ? ? ? ? ? ? PCI, USB NoNoNo ?No ?
iwlwifi
(archive)
YesYesYesYesYes ? ? Mini PCI,
Mini PCIe,
M.2
YesYesYesYes2.4 GHz only
Exp. [34] [35]
Yes
libertas
(archive)
NoYesYesNoNo ? ? USB, CF, SDIO  ? ? ? ?No ?
madwifi
(archive)
YesYesYesNoNo ? ? PCI, PC card,
Mini PCI
YesYesYesYesYesYes
mt76 YesYesYesYesYes ? ? PCIe, USB YesYesYesYesYesYes
mt7601u NoYesYesYesNo ? ? USB YesYesYesYes ? ?
orinoco NoYesNoNoNo ? ? Mini PCI,
PC card
YesYes [36] NoYesNoYes
p54 NoYesYesNoNo ? ? Mini PCI, USB,
Cardbus
YesYesYesYesYesYes
prism54 NoYesYesNoNo ? ? PCI YesNo ?YesYes ?
rndis_wlan NoYesYesNoNo ? ? USB YesYesYesNoNoYes
rt2x00 NoYesYesNoNo ? ? PCI, USB,
Mini PCI
YesYes [37] Yes [38] YesYes [39] Yes
rtl8180 YesYesYesNoNo ? ? PCI, PC card,
Mini PCI
 ? ? ? ?Yes ?
rtl8187 YesYesYesNoNo ? ? USB YesYesYesYes ? ?
rtl8xxxu NoYesYesYesNoNoNo USB YesYesYes ?Yes [40] No
rtw88 NoYesYesYesYesNoNo M.2, USB YesYesYesYesYesYes
rtw89 NoYesYesYesYesNoYes M.2 YesYesYesYesYesNo
zd1201 NoYesNoNoNo ? ? USB YesNo [41] No [41] YesYes ?
zd1211 YesYesYesNoNo ? ? USB YesYesYesYesYes ?
zd1211rw NoYesYesNoNo ? ? USB YesYesYesYesYes [42] Yes

DragonFly BSD

Driver nameChipsetIntegrationNon-free
firmware
required
LicenseOriginal/Primary
developer
Development
acx Texas Instruments
ACX100/ACX111
Integrated
since 1.5
Yes BSD Reverse
engineering
an Aironet
4500/4800
IntegratedOn Device BSD Bill Paul
(FreeBSD)
ath Atheros AR5210/
AR5211/AR5212/AR5416
IntegratedOn Device BSD
bwi Broadcom
BCM430x/4318
IntegratedYes BSD Sepherosa
Ziehau
Reverse
engineering
iwi Intel PRO/Wireless
2200BG/2915ABG
IntegratedYes BSD Damien Bergamini
(OpenBSD)
Reverse
engineering
iwl Intel PRO/Wireless
2100
IntegratedYes BSD Damien Bergamini
(OpenBSD)
Reverse
engineering
iwm Intel Dual Band Wireless AC

3160/7260/8260/9260/9270/9560

IntegratedYes BSD OpenBSD
iwn Intel 4965/1000/5000/
5150/5300/6000/6050
IntegratedYes BSD Damien Bergamini
(OpenBSD)
Reverse
engineering
ral Ralink RT2500/
RT2501/RT2600
IntegratedOn Device BSD Damien
Bergamini
Ported from
FreeBSD
rtw Realtek
RTL8180L
IntegratedOn Device BSD Ported from
NetBSD
rum Ralink
RT2501USB/RT2601USB
IntegratedOn Device BSD Damien
Bergamini
Ported from
FreeBSD
wi Lucent Hermes
(WaveLAN / ORiNOCO);
Intersil PRISM-II, -2.5;
Symbol Spectrum24 802.11b
IntegratedOn Device BSD Bill Paul
(FreeBSD)
Documentation
based
wpi Intel
3945ABG
IntegratedOn Device BSD Damien
Bergamini
Ported from
OpenBSD

FreeBSD

Status

DriverChipsetIntegrationNon-free firmware
required [note 1]
LicenseOriginal/ Primary
developer
Development
acx Texas Instruments
ACX100/ACX111
Separate projectYes BSD Reverse
engineering
an Aironet 4500/4800,
Cisco Aironet 340/350,
Xircom Wireless Ethernet
IntegratedOn Device BSD Bill Paul (FreeBSD)
arl Aironet Arlan 655Integrated /
Removed in 8.0
On Device BSD
ath Atheros AR5210/ AR5211/ AR5212/
AR5416 /AR9130 /AR9160 /AR9280
/AR9285 /AR9287 /AR9565 (and derivatives)
IntegratedNo BSD Originally by Atheros via
Sam Leffler (FreeBSD);
supported by
the community
Documentation
based
awi AMD PCnetMobileIntegrated /
Removed in 8.0
On Device BSD Bill Sommerfeld (NetBSD),
Atsushi Onoe (NetBSD)
bwi Broadcom BCM43xx/4318Integrated since 8.0Yes BSD Sepherosa Ziehau
(DragonFly BSD),
Andrew Thompson (FreeBSD),
Sam Leffler (FreeBSD)
Ported from
DragonFly BSD
bwn Broadcom
BCM43xx/4318 v4 firmware
Integrated since 8.1Yes BSD Weongyo Jeong ?
cnw Netwave AirSurferIntegrated /
Removed in 8.0
On Device BSD Imported from NetBSD
ipw Intel PRO/Wireless 2100IntegratedYes BSD Damien Bergamini
(OpenBSD/ FreeBSD)
Reverse
engineering
iwi Intel PRO/Wireless
2200BG/ 2225BG/ 2915ABG
IntegratedYes BSD Damien Bergamini
(OpenBSD/ FreeBSD)
Reverse
engineering
iwm Intel Dual Band Wireless-AC
3160 / 3165 / 7260 / 7265 / 8260
????
iwn Intel PRO/Wireless 4965 ABGN/
5100/ 5300/ 5350/ 1000

Intel Centrino 6000/ 6150/
6200/ 6205/ 6230/ 6250/ 6300

Integrated since 8.0 /
Available for 7.1 and
above as separate patch
Yes BSD Damien Bergamini,
Benjamin Close,
Sam Leffler
(OpenBSD/ FreeBSD)
Reverse engineering
malo Marvell 88W8335IntegratedYes BSD Weongyo Jeong (FreeBSD),
Sam Leffler (FreeBSD)
mwl Marvell 88W8363Integrated since 8.0Yes [43] BSD Sam Leffler (FreeBSD) ?
ral Ralink RT2500/ RT2501/
RT2600/ RT3090/ RT3592
IntegratedOn Device BSD Damien Bergamini
(OpenBSD/ FreeBSD)
Based on partial
documentation
ray Raytheon Raylink/
Webgear Aviator
Integrated /
Removed in 8.0
On Device BSD Imported from NetBSD
rsu Realtek
RTL8188SU/ RTL8192SU
Integrated since 10.0Yes BSD Damien Bergamini
(OpenBSD),
Imported from OpenBSD
by Rui Paulo
 ?
rum Ralink
RT2501USB/ RT2601USB
IntegratedNo [44] BSD Niall O'Higgins,
Damien Bergamini
Based on partial
documentation
run Ralink RT2700U/
RT2800U/ RT3000U
Integrated since 8.1No [44] BSD Damien Bergamini
(OpenBSD),
Imported from
OpenBSD by
Akinori Furukoshi
Based on partial
documentation
uath Atheros
AR5005UG/ AR5005UX
Integrated since 8.0Yes [45] BSD Weongyo Jeong (FreeBSD),
Sam Leffler (FreeBSD)
 ?
upgt GW3887 (Conexant/
Intersil PrismGT series)
Integrated since 8.0Yes BSD Imported from OpenBSDReverse
engineering
ural Ralink RT2500USBIntegratedOn Device BSD Damien Bergamini
(OpenBSD/ FreeBSD)
Based on partial
documentation
urtw Realtek
RTL8187L/ RTL8187B
Integrated since 8.0 [46] BSD Weongyo Jeong
(FreeBSD)
 ?
urtwn Realtek RTL8188CU/
RTL8188EU/ RTL8192CU
Integrated since 10.0Yes BSD Damien Bergamini
(OpenBSD / FreeBSD)
Reverse
engineering
wi Lucent Hermes (WaveLAN/ ORiNOCO);
Intersil PRISM-2, PRISM-2.5, PRISM-3;
Symbol Spectrum24 802.11b
(Symbol support removed in 8.0)
IntegratedOn Device BSD Bill Paul (FreeBSD)Documentation
based
wpi Intel PRO/ Wireless 3945ABGIntegratedYes BSD Damien Bergamini,
Benjamin Close
Reverse
engineering
zyd ZyDAS ZD1211/ ZD1211BIntegratedNo BSD Florian Stoehr,
Damien Bergamini,
Jonathan Gray
(OpenBSD)
Documentation
based

Driver capabilities

Driver 802.11 Bus interface WEP WPA WPA2 Monitor mode Master modeAd-Hoc mode
acx 802.11a?, 802.11b, 802.11g Cardbus, PCI Yes ? ? ? ?Yes
an 802.11b Cardbus, PCI, ISA Yes ? ? ? ?Yes
arl N/A ISA  ? ? ? ? ? ?
ath 802.11a, 802.11b, 802.11g, 802.11n Cardbus, PCI, Mini PCI YesYesYesYesYesYes
awi N/A PC Card  ? ? ? ?YesYes
bwi 802.11b, 802.11g Cardbus, PCI YesYesYesYesNoNo
cnw N/A Cardbus  ? ? ? ? ? ?
ipw 802.11b Mini PCI YesYesYesYesNoYes
iwi 802.11a, 802.11b, 802.11g Mini PCI YesYesYesYesNoYes
iwn 802.11a, 802.11b, 802.11g, 802.11n Mini PCI YesYesYesYesNoNo
malo 802.11b, 802.11g PCI YesYesYesYesNoNo
mwl 802.11a, 802.11b, 802.11g, 802.11n PCI YesYesYesYesYesNo
ral 802.11a, 802.11b, 802.11g Cardbus, PCI, Mini PCI YesYesYesYesYesYes
ray N/A PC Card  ? ? ?NoNoYes
rum 802.11a, 802.11b, 802.11g USB YesYesYesYesYesYes
run 802.11a, 802.11b, 802.11g USB YesYesYesYesYesYes
uath 802.11b, 802.11g USB YesYesYesYesNoNo
upgt 802.11b, 802.11g USB YesYesYesYesNoNo
ural 802.11b, 802.11g USB YesYesYesYesYesYes
urtw 802.11b, 802.11g USB YesYesYesYesNoNo
wi 802.11b PC Card, Cardbus, PCI YesYes (since 8.0)Yes (since 8.0)Yes (since 8.0?)YesYes
wpi 802.11a, 802.11b, 802.11g Mini PCI YesYesYesYesNoYes
zyd 802.11b, 802.11g USB YesYesYesYesNoNo

NetBSD

DriverChipsetIntegrationFree firmware [note 2] LicenseOriginal/Primary developerDevelopment methodologies Free software [note 3]
an Aironet 4500/4800, Cisco Aironet 340/350Integrated BSD Bill Paul (FreeBSD)Ported from FreeBSDYes
ath Atheros AR521*/ AR2413/ AR2417/ AR5413/ AR5416/ AR5424/ AR9160Integrated BSD Sam Leffler (FreeBSD) Binary blobs ported from FreeBSDYes
athn Atheros AR5008 up to the AR9287Integrated BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes
atu Atmel at76c503/ at76c503a/ at76c505/ at76c505aIntegrated BSD Dan Vreeken (FreeBSD)Ported from OpenBSDYes
atw ADMtek ADM8211Integrated BSD David Young (NetBSD)Yes
awi AMD PCnetMobileIntegrated BSD Yes
bwi Broadcom BCM430x/4318Integrated BSD Sepherosa Ziehau (DragonflyBSD)Ported from Dragonfly BSDYes
cnw Netwave AirSurferIntegrated BSD Yes
ipw Intel PRO/Wireless 2100IntegratedNo BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes
iwi Intel PRO/Wireless 2200BG/2915ABGIntegratedNo BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes
iwm Intel Wireless WiFi 7260, 7265, 3160IntegratedNo BSD Antti Kantee (NetBSD)Yes
iwn Intel Wireless WiFi Link 4965/ 5000/ 1000/ 6000IntegratedNo BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes
malo Marvell 88W8335/88W8310IntegratedNo BSD Claudio Jeker (OpenBSD)Ported from OpenBSDYes
otus Atheros AR9001UIntegratedNo BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes
ral Ralink RT2500/ RT2501/ RT2600/ RT2500USB/RT3592Integrated BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes
ray Raytheon Raylink / WebGear AviatorIntegrated BSD Christian E. Hopps (NetBSD)Yes
rtw Realtek RTL8180LIntegrated BSD David Young (NetBSD)Yes
rtwn Realtek RTL8188CE and RTL8192CEIntegrated BSD Stefan Sperling (OpenBSD)Ported from OpenBSDYes
run Ralink RT2700U, RT2800U and RT3000UIntegrated BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes
upgt Conexant/Intersil PrismGT SoftMAC USB IEEE 802.11b/gIntegrated BSD Marcus Glocker (OpenBSD)Ported from OpenBSDYes
urtw Realtek RTL8187B/LIntegratedNo BSD Weongyo Jeong (FreeBSD)Ported from FreeBSDYes
urtwn Realtek RTL8188CUS, RTL8188CE-VAU, RTL8188EUS, RTL8188RU, and RTL8192CUIntegratedNo BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes
wi Lucent Technologies WaveLAN/IEEE and PRISM-II 802.11IntegratedNo BSD Bill PaulYes
wpi Intel PRO/Wireless 3945ABGIntegratedNo BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes
zyd ZyDAS ZD1211/ ZD1211BIntegratedNo BSD Damien Bergamini (OpenBSD)Ported from OpenBSDYes

OpenBSD

The following is an incomplete list of supported wireless devices:

Status

DriverChipsetIntegrationFree firmware [note 2] LicenseOriginal/Primary developerDevelopment Free software [note 3]
acx Texas Instruments ACX100/ACX111IntegratedNo [47] BSD Ported from DragonFlyBSDReverse engineeringYes
an Aironet 4500/4800, Cisco Aironet 340/350Integrated BSD Yes
ath Atheros AR5210/ AR5211/ AR5212Integrated [3] BSD Reverse engineeringYes
athn Atheros AR5416/AR9160/AR928XIntegrated (since 4.7)Yes [48] BSD Damien BergaminiPartly based on the ath9k driver for Linux Yes
atu Atmel AT76C503/ AT76C503A/ AT76C505/ AT76C505AIntegratedYes [49] BSD Reverse engineeringYes
atw ADMtek ADM8211Integrated BSD Documentation basedYes
awi BayStack 6502.7 to 4.3 BSD Yes
bwfm Broadcom and Cypress IEEE 802.11a/ac/ax/b/g/n wireless network device6.3+BSDPatrick WildtYes
bwi Broadcom BCM430x/4318IntegratedNo BSD Sepherosa ZiehauPorted from DragonFly BSDYes
cnw NetWave AirSurfer2.6 to 6.0 BSD Yes
ipw Intel PRO/Wireless 2100IntegratedNo [50] BSD Damien BergaminiReverse engineeringYes
iwi Intel PRO/Wireless 2200BG/ 2225BG/ 2915ABGIntegratedNo [51] BSD Damien BergaminiReverse engineeringYes
iwn Intel Wireless WiFi Link 4965/ 5000/ 1000/ 6000IntegratedNo [52] BSD Damien BergaminiReverse engineeringYes
iwm Intel Wireless WiFi Link 3160ac/ 7260ac/ 7265acIntegrated (since 5.8)No [53] BSD Antti Kantee, [54] Stefan SperlingBased on iwn, and iwlwifi driver released by Intel for Linux under dual GPLv2/BSD license [55] Yes
malo Marvell 88W8335/ 88W8310IntegratedNo [56] BSD Marcus Glocker and Claudio JekerReverse engineering [57] Yes
otus Atheros AR9170Integrated (since 4.6)No [58] BSD Damien BergaminiBased on source code released by Atheros for Linux under the ISCYes
pgt Conexant/Intersil Prism GT Full-MAC ISL3877, ISL3880, and ISL3890 chipsIntegratedNo [59] BSD Ported from FreeBSDReverse engineering [60] Yes
ral/ural Ralink RT2500, RT2501, RT2600, RT2700, RT2800, RT3090, RT3292, RT3592 and RT5390 (ral), RT2500USB (ural)IntegratedYes [61] BSD Damien BergaminiDocumentation basedYes
ray Raytheon Raylink/WebGear Aviator IEEE 802.11FH2.7 to 5.4 BSD Yes
rsu Realtek RTL8188SU/RTL8191SU/RTL8192SUIntegrated (since 4.9)No BSD Damien BergaminiReverse engineeringYes
rtw Realtek RTL8180LIntegrated BSD Ported from NetBSDDocumentation basedYes
rtwn Realtek RTL8188CE/RTL8192CEIntegratedNo [62] BSD Stefan SperlingBased on urtwn driver.Yes
rum Ralink RT2501USB/ RT2601USBIntegratedYes [44] BSD Niall O'Higgins and Damien BergaminiDocumentation basedYes
run Ralink RT2700U/ RT2800U/ RT3000UIntegratedYes [44] BSD Damien BergaminiDocumentation basedYes
uath Atheros AR5005UG/ AR5005UXIntegratedNo [63] BSD Damien BergaminiReverse Engineering [60] Yes
upgt GW3887 (Conexant/Intersil PrismGT series)IntegratedNo [64] BSD Marcus GlockerReverse engineeringYes
urtw Realtek RTL8187LIntegrated BSD Weongyo Jeong (FreeBSD) ?Yes
urtwn Realtek RTL8188CU/RTL8192CUIntegrated (since 4.9)No BSD Damien BergaminiReverse engineeringYes
wi Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-2, PRISM-2.5, PRISM-3; Symbol Spectrum24IntegratedYes for Spectrum24 [65] and N/A for others BSD Bill PaulDocumentation basedYes
wpi [66] Intel PRO/Wireless 3945ABGIntegratedNo [67] BSD Damien BergaminiReverse engineeringYes
zyd ZyDAS ZD1211/ZD1211BIntegratedYes [68] BSD Florian Stoehr, Damien Bergamini, and Jonathan GrayDocumentation basedYes

Driver capabilities

Driver 802.11 Bus interface WEP WPA WPA2 Monitor mode Master modeAd-Hoc mode
acx 802.11a, 802.11b, 802.11g Cardbus, PCI YesNoNoYesYesYes
an 802.11b PC Card, PCI, ISA YesNoNoYesNoYes
ath 802.11a, 802.11b, 802.11g Cardbus, PCI YesYesYesYesYesYes
athn 802.11a, 802.11b, 802.11g, 802.11n Cardbus, PCI-E, Mini PCIE YesYesYesYesYesNo
atu 802.11b USB YesNoNoNoNoYes
atw 802.11b Cardbus, PCI NoNoNoNoNoYes
bwfm 802.11a/ac/ax/b/g/nPCI, USBYesYesYesYesYesNo
bwi 802.11b, 802.11g Cardbus, PCI YesYesYesYesNoNo
cnw N/A PC Card NoNoNoNoNoNo
ipw 802.11b PCI YesYesYesYesNoYes
iwi 802.11a, 802.11b, 802.11g PCI YesYesYesYesNoYes
iwn 802.11a, 802.11b, 802.11g, 802.11n PCI-E, Mini PCIE YesYesYesYesNoNo
iwm 802.11a, 802.11b, 802.11g, 802.11n PCI-E, Mini PCIE YesYesYesYesNoNo
malo 802.11b, 802.11g Cardbus, PC Card, PCI YesYesYesYesNoNo
otus 802.11a, 802.11b, 802.11g USB YesYesYesYesNoNo
pgt 802.11a, 802.11b, 802.11g Cardbus, PCI YesNoNoYesYesYes
ral 802.11a, 802.11b, 802.11g Cardbus, PCI, Mini PCI YesYesYesYesYesYes
ray N/A PC Card NoNoNoNoNoYes
rtw 802.11b Cardbus, PCI YesNoNoYesYesYes
rtwn 802.11b, 802.11g Mini PCIE YesYesYesYesNoNo
rum 802.11a, 802.11b, 802.11g USB YesYesYesYesYesYes
run 802.11a, 802.11b, 802.11g USB YesYesYesYesNoNo
uath 802.11a, 802.11b, 802.11g USB YesNoNoYesNoNo
upgt 802.11b, 802.11g USB YesYesYesYesNoNo
ural 802.11b, 802.11g USB YesYesYesYesYesYes
urtw 802.11b, 802.11g USB YesYesYesYesNoNo
urtwn 802.11b, 802.11g USB YesYesYesYesNoNo
wi 802.11b PC Card, PCI, USB YesNoNoNoYesYes
wpi 802.11a, 802.11b, 802.11g PCI YesYesYesYesNoNo
zyd 802.11b, 802.11g USB YesYesYesYesNoNo

Solaris and OpenSolaris

DriverChipsetIntegrationFree firmware [note 2] LicenseDevelopment Free software [note 3]
ath [69] [70] Atheros AR5211/ AR5212/ AR5213/ AR5214Integrated with Solaris Nevada build 29No firmware required [3] Dual GPL/BSD with proprietary HALPort of MadwifiNo
ipw Intel PRO/Wireless 2100Community projectNo BSD Ported from OpenBSD Yes
iwi Intel PRO/Wireless 2200BG/2225BG/2915ABGCommunity projectNo BSD Ported from OpenBSD Yes
pcan Cisco Aironet 340/350Community project BSD Ported from FreeBSD Yes
pcwl Lucent/Agere Systems Hermes (WaveLAN/ORiNOCO), Intersil PRISM-2 802.11bCommunity project BSD Ported from FreeBSD Yes
ral Ralink RT2500Community project BSD Ported from OpenBSD Yes
rtw Realtek RTL8180LCommunity project BSD Ported from NetBSD Yes
malo Marvell 88W8335/ 88W8310Community project BSD Ported from OpenBSD Yes
wpi Intel PRO/Wireless 3945ABGCommunity projectNo BSD Ported from OpenBSD Yes
iwk Intel Wireless WiFi Link 4965AGNCommunity projectNo BSD Ported from OpenBSD Yes
arn Atheros 9000Community projectNo BSD based on ath9kYes
rwd Ralink RT2561/RT2561S/RT2661Community projectNo BSD Yes
rwn Ralink RT2700/2800Community projectNo BSD Yes
urtw Realtek RTL8187L/B USBCommunity projectNo BSD Yes
atu Atmel AT76C50xCommunity projectNo BSD Yes
mwl Marvell 88W8363Community projectNo BSD Yes
ural Ralink RT2500USBCommunity projectNo BSD Yes
zyd ZyDAS ZD1211 chipsetsCommunity projectYes BSD Ported from OpenBSD Yes

Darwin, OpenDarwin and macOS

DriverChipsetFree firmware [note 2] LicenseDevelopment
IWIDarwin Intel PRO/Wireless 2100/2200BG/2225BG/2915ABG/3945ABG/4965AGNNo GPL Port from Linux
WirelessDriver [71] Lucent/Agere Systems Hermes (WaveLAN/ORiNOCO), Intersil PRISM-2 802.11b BSD
"GTdriver". Archived from the original on 2021-06-14. PRISM-GT 802.11b/g GPL

Notes

  1. 1 2 'On Device' means firmware is stored in device at all times
  2. 1 2 3 4 'N/A' means firmware is stored in device at all times, 'yes' means firmware is available for totally free redistribution, 'no' means you have to get into non-free-software contract with the manufacturer to get access to the firmware
  3. 1 2 3 in terms of no binary-only requirements that are posed by the driver, i.e. you can modify all code that is run on your CPU

References

  1. "Marvel Libertas".
  2. "Ticket #46". Archived from the original on 2021-02-24. Retrieved 2007-01-07.
  3. 1 2 3 4 The card doesn't have a host CPU and so it doesn't require a firmware source Archived June 20, 2006, at the Wayback Machine
  4. "ath9k_htc". debian.org. Retrieved 1 May 2015.
  5. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fb9987d0f748c983bb795a86f47522313f701a08 commit of ath10k to kernel 2.6.35
  6. "qca/open-ath9k-htc-firmware". GitHub. Retrieved 1 May 2015.
  7. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5e3dd157d7e70f0e3cea3f2573ed69fb156a19d5 commit of ath10k to Kernel 3.11
  8. The chipsets do require a non-free firmware, as of 12/8/2013, volunteer developers should contact Luis R. Rodriguez, mcgrof at frijolero.org to help with changing this, code clean ups, and release)
  9. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d5c65159f2895379e11ca13f62feabe93278985d ath11k: driver for Qualcomm 802.11ax devices
  10. The chipsets do require a non-free firmware
  11. "en:users:drivers:carl9170 [Linux Wireless]". kernel.org. Retrieved 1 May 2024.
  12. 1 2 See openfwwf project for open-source firmware. This firmware lacks support for QoS and hardware cryptography.
  13. http://kernelnewbies.org/Linux_3.11-DriversArch#head-55b108ef9d4cab96ff8a30e9906a6079628c49d3 Kernel Newbies 3.11 network driver documentation.
  14. https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/LICENCE.cw1200 CW1200 Licence file at linux-firmware.
  15. "Why does my D-Link DWL-650 rev. P1 or D-Link DWL-520 rev. E1 (or any other card with small flash) card fail?" – Host AP driver – Frequently Asked Questions".
  16. "Intel PRO/Wireless 2100 Driver Firmware". sourceforge.net. Retrieved 1 May 2015.
  17. "#46 (Eliminate dependency on licensed code in Marvell firmware) – One Laptop Per Child". Dev.laptop.org. 2006-12-14. Archived from the original on 2021-02-24. Retrieved 2013-07-12.
  18. Phoronix, Intel IWLWIFI Adding 802.11ax Support In Linux 4.19, 5 August 2018
  19. "README\mwifiex\marvell\wireless\net\drivers - kernel/git/stable/linux-stable.git - Linux kernel stable tree". kernel.org. Retrieved 15 September 2018.
  20. "orinoco - Linux Wireless". Wireless.kernel.org. Retrieved 2012-12-09.
  21. There is a Free software firmware called FreeMAC
  22. see the license of the firmware Archived 2017-01-05 at the Wayback Machine to see which chipsets need a firmware
  23. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/wireless/rtlwifi?id=0c8173385e549f95cd80c3fff5aab87b4f881d8d 2010-12-15: add rtl-wifi and support for RTL8192CE
  24. "rtl8188eu".
  25. "rtl8188eu header files".
  26. 1 2 3 "ti-connectivity - kernel/git/firmware/linux-firmware.git - Repository of firmware blobs for use with the Linux kernel". git.kernel.org. Retrieved 23 March 2018.
  27. "Configuring WL1271 for a 3.13 kernel (devicetree) - WiLink WiFi + Bluetooth Forum - Wireless Connectivity - TI E2E Community". ti.com. Retrieved 1 May 2015.
  28. http://sourceforge.net/projects/zd1211/files/zd1211-firmware/ ZD1211 USB WLAN Linux Driver Firmware
  29. "seemoo-lab/nexmon". GitHub. Retrieved 23 March 2018.
  30. "Supports SoftAP". kernel.org. Retrieved 19 Sep 2017.
  31. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=492b71e8d468102372969705b65845f5e57038c5 2013-03-27 brcmsmac: activate AP support
  32. "kernel/git/next/linux-next.git - The linux-next integration testing tree". kernel.org. Retrieved 1 May 2015.
  33. 1 2 Requires station firmware 1.7.4 or later.
  34. "en:users:drivers:iwlwifi [Linux Wireless]". kernel.org. Retrieved 1 May 2015.
  35. "en:users:drivers:iwlwifi [Linux Wireless]". wireless.wiki.kernel.org. Retrieved 23 March 2018.
  36. WPA+TKIP with Hermes (Lucent/Agere Systems) chipsets only. Requires 2.6.28-rc1 or later kernel and v9.42 or later firmware from userspace.
  37. except for the rt2400 chipset; only the rt2500 chipset and the rt2570 chipset are supported
  38. "one user reported that WPA2 works with rt61pci". My.opera.com. Retrieved 2012-12-09.
  39. http://linuxwireless.org/en/users/Drivers Archived 2007-10-26 at the Wayback Machine and also at least two users reported success with master mode Archived 2014-12-05 at the Wayback Machine
  40. "[PATCH v4 17/18] wifi: rtl8xxxu: Declare AP mode support for 8188f". lore.kernel.org. Retrieved 2024-01-08.
  41. 1 2 "Bug 5631 – zd1201 and wpa support". Bugzilla.kernel.org. Retrieved 2012-12-09.
  42. "Master mode supported in zd1211rw since 2.6.39". Git.kernel.org. Retrieved 2018-09-15.
  43. "[base] Contents of /head/sys/contrib/dev/mwl/LICENSE". Svn.freebsd.org. Retrieved 2012-12-09.
  44. 1 2 3 4 "rum-license (covers rum-rt2573 for rum(4), as well as run-rt2870 and run-rt3071 for run(4))". BSD Cross Reference, OpenBSD.
  45. "[base] Contents of /head/sys/contrib/dev/uath/ar5523.bin.uu". Svn.freebsd.org. Retrieved 2012-12-09.
  46. "[base] Contents of /head/sys/dev/usb/wlan/if_urtw.c". Svn.freebsd.org. Retrieved 2012-12-09.
  47. "Manual Pages: acx". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  48. ""Move athn(4) USB devices to the open source atk9k HTC firmware."". Openbsd.org. 2018-02-05. Retrieved 2018-02-05.
  49. "atu-license". BSD Cross Reference, OpenBSD.
  50. "Manual Pages: ipw". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  51. "Manual Pages: iwi". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  52. "Manual Pages: iwn". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  53. "Manual Pages: iwm". Openbsd.org.
  54. "I was contracted to write a driver for the Intel 3160/726x wireless chips, a driver which became iwm(4)". beastie.pl. 2015-10-14. Archived from the original on 2016-02-22. Retrieved 2016-02-21.
  55. "Add iwm(4), a new driver for Intel 7260 wifi cards". Openbsd.org. 2015-02-06. Retrieved 2016-02-21.
  56. "Manual Pages: malo". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  57. "Developer Blog – mglocker@: New WLAN drivers on the upswing". Undeadly.org. Retrieved 2012-12-09.
  58. "Manual Pages: otus(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  59. "Manual Pages: pgt(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  60. 1 2 "OpenBSD reverse engineers more wireless drivers". Undeadly.org. 2004-04-02. Retrieved 2012-12-09.
  61. "ral-license". BSD Cross Reference, OpenBSD.
  62. "Manual Pages: rtwn". Openbsd.org.
  63. "Manual Pages: uath". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  64. "Manual Pages: upgt(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  65. "symbol-license". BSD Cross Reference, OpenBSD.
  66. There is more details about the port at kerneltrap Archived 2012-07-13 at archive.today
  67. "Manual Pages: wpi". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  68. "zd1211-licence". BSD Cross Reference, OpenBSD.
  69. it's not the same driver that the OpenBSD ath driver it's a port from Madwifi to OpenSolaris
  70. source Archived 2006-05-16 at archive.today , I don't know if the HAL can be replaced with OpenHAL
  71. "Seattle Wireless WirelessDriver Support Wiki". Seattlewireless.net. 2010-08-15. Archived from the original on 2012-02-05. Retrieved 2012-12-09.