Engineering:Comparison of open-source wireless drivers

From HandWiki
Short description: none

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.

Location of the network device drivers in a simplified structure of the Linux kernel.

Linux

Marvell's "Libertas" runs an RTOS on an ARM9 and interfaces over a shim with the actual operating system.[1][2]

Status

Driver family Driver Chipsets Chipset PHY Modes Integration in mainline Non-free firmware required[note 1] License Development
adm8211 adm8211 ADMtek ADM8211 (IEEE 802.11b MAC/BBP b Yes Yes GPLv2 With support from Infineon/ADMtek
at76c50x‑usb at76c50x‑usb at76c50x-USB Atmel AT76C503/AT76C505 based USB WLAN adapters b Yes Depends on the model GPLv2 ?
acx100 Texas Instruments ACX100, ACX111, TNETW1450 b/g No Yes Dual BSD/MPL Reverse-engineered
airo airo Cisco Systems Aironet 4500/4800 and 340/350 b Yes No Dual GPLv2 and BSD ?
ath ar5523 Qualcomm Atheros AR5523 based USB dongles a/b/g Yes Yes ISC Reverse-engineered
ath5k Qualcomm Atheros AR2413, AR2414, AR2417, AR2425, AR5210, AR5211, AR5212, AR5213, AR5413, AR5414, AR5423, AR5424 a/b/g Yes (since 2.6.25) N/A[3] Dual GPL/BSD Reverse-engineered
ath6kl Qualcomm Atheros AR6003, AR6004 (SDIO), AR6004 (USB) a/b/g Yes Yes ISC Written by Qualcomm Atheros
ath9k Qualcomm Atheros chips with IEEE 802.11n support a/b/g/n Yes (since 2.6.27) N/A[3] proprietary blob only required for Bluetooth (Purism / NovaCustom) ISC Written by Qualcomm Atheros
ath9k_htc Qualcomm Atheros AR9271, AR7010 (USB-PCIe bridge with AR928x chips) b/g/n Yes (since 2.6.35)[4][5] No[6] ISC Written by Qualcomm Atheros
ath10k Qualcomm Atheros chips with IEEE 802.11ac support ac Yes (since 3.11)[7] Yes[8] ISC Written by Qualcomm Atheros
ath11k Qualcomm Atheros chips with IEEE 802.11ax support ax Yes (since 5.6)[9] Yes[10] ISC Written by Qualcomm Atheros
carl9170 Qualcomm Atheros AR9170 (802.11n USB) a/b/g/n Yes (since 3.0) No[11] GPL Qualcomm Atheros-supported
wil6210 Wilocity wil6210, 802.11ad 60GHz ad Yes Yes ISC Written by Qualcomm Atheros
atmel atmel Atmel at76c502 at76c504 and at76c506 wireless cards b Yes Yes GPLv2+ Reverse-engineered
b43 b43 Some Broadcom 43xx a/b/g/n Yes (since 2.6.24) Experimental OSS firmware[12] GPL Reverse-engineered
b43legacy b43legacy Broadcom 4301, 4303, and 4306 revisions 1 and 2 a/b/g Yes (since 2.6.24) Experimental OSS firmware[12] GPL Reverse-engineered
brcm80211 brcmfmac 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/n Yes (since 3.2) Yes ISC Written by Broadcom
brcmsmac Broadcom 4313, 43224, 43225 a/b/g/n Yes (since 3.2) Yes ISC Written by Broadcom
cw1200 cw1200 ST-Ericsson CW1100 & CW1200 WLAN chipsets ? Yes (since 3.11)[13] Yes[14] GPLv2 ?
hostap HostAP Intersil PRISM-II, PRISM-2.5, PRISM 3 ? Yes Depends on the model[15] GPLv2
ipw2x00 ipw2x00 Intel PRO/Wireless 2100 and 2200 Network Connection 802.11b ? Yes Yes[16] GPL Written by Intel
iwlegacy iwlegacy Intel Wireless WiFi 3945ABG, 4965AGN ? Yes Yes GPL
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 and 130BGN, 2000 a/b/g/n/ac/ax Yes Yes Dual 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 ? Yes Yes[17] GPL Marvell-supported
libertas_tf libertastf Marvell 8388 (USB) WLAN Thinfirm Driver (OLPC) b/g Yes Yes GPL cozybit, Marvell-supported
mt76 mt76 MediaTek MT76x0U, MT76x2U a/b/g/n/ac/ax Yes (since 4.19[18]) Yes ISC With support from MediaTek
mt7601u mt7601u MediaTek MT7601U b/g/n Yes (since 4.2) Yes GPLv2
mwifiex mwifiex WiFi-Ex Driver for Marvell SD8786/SD8787/SD8797 (SDIO), 8766/8897 (PCIe) and 88W8797 (USB) ? Yes Yes[19] GPLv2 Written by Marvell
mwl8k mwl8k Marvell TOPDOG 802.11 Wireless cards: 88W8366, 88W8863, 88W8687, 88W8764 ? Yes Yes GPLv2 Written by Marvell
orinoco orinoco Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-II, PRISM-2.5; Symbol Spectrum24 802.11B ? Yes Required for WPA support[20]
prism54[yes|permanent dead link|dead link}}]-p54 p54 Prism54: Intersil/Conexant ISL3877, ISL3880, ISL3886, ISL3887, ISL3890 ? Yes (~Aug 2007) Experimental OSS firmware[21]
prism54[yes|permanent dead link|dead link}}] ? Yes (before 2.6.12) Reverse-engineered; obsoleted by p54.
rt2x00 rt2400pci MediaTek (Ralink) RT2460 b Yes (since 2.6.24) No[22] GPLv2+ rt2x00.serialmonkey.com; From partial documentation and GPL drivers by Ralink
rt2500pci RT2560 b/g Yes No GPLv2+ rt2x00.serialmonkey.com
rt61pci RT2561, RT2561S, RT2661 ? Yes Yes GPLv2+ rt2x00.serialmonkey.com
rt2800pci RT2760, RT2790, RT2860, RT2880, RT2890, RT3052, RT3090, RT3091, RT3092
RT3390, RT3060, RT3062, RT3562, RT3592, RT5390, RT3290
? Yes Yes GPLv2+ rt2x00.serialmonkey.com
rt2500usb RT2571 & RT2572 b/g Yes No GPLv2+ rt2x00.serialmonkey.com
rt73usb RT2571W, RT2573 & RT2671 ? Yes Yes GPLv2+ rt2x00.serialmonkey.com
rt2800usb RT2770, RT2870 & RT3070, RT3071 & RT3072
RT3370, RT3572, RT5370, RT5572
? Yes Yes GPLv2+ rt2x00.serialmonkey.com
rtl818x rtl8180 RTL8180, RTL8185, RTL8187SE b/g Yes No GPL
rtl8187 RTL8187, RTL8187B a/b/g Yes No GPL
rtl8xxxu rtl819x RTL8723AU, RTL8723BU, RTL8188CUS, RTL8192CU, RTL8191EU, RTL8192EU, RTL8188EU, RTL8188RU, RTL8188FU, RTL8192FU b/g/n Yes Yes GPLv2 fan-made, based on open source drivers released by Realtek
rtlwifi rtl‑wifi rtl8188ee Realtek ? Yes (since 2.6.38)[23] Yes GPL Written by Realtek et al. Forked from rtl8180-sa2400 project.
rtl8192c ? Yes GPL Written by Realtek et al.
rtl8192ce ? Yes Yes GPL Written by Realtek et al.
rtl8192cu ? Yes Yes GPL Written by Realtek et al.
rtl8192de ? Yes Yes GPL Written by Realtek et al.
rtl8192se ? Yes Yes GPL Written by Realtek et al.
rtl8723ae ? Yes Yes GPL Written by Realtek et al.
rtl8188eu RTL8188EU e.g. in the TP-Link TL-WN725N ? Yes (since 3.12[24][25]) Yes GPL Written by Realtek et al.
rtl8821ae RTL8812AE, RTL8821AE ac Yes (since 3.16) Yes GPL ?
rtw88 rtw88_8822ce RTL8822CE b/g/n/ac Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw88_8822be RTL8822BE b/g/n/ac Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw88_8821ce RTL8821CE b/g/n/ac Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw88_8723de RTL8723DE b/g/n Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw88_8822cu RTL8822CU b/g/n/ac Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw88_8822bu RTL8822BU b/g/n/ac Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw88_8821cu RTL8821CU b/g/n/ac Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw88_8723du RTL8723DU b/g/n Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw89 rtw89_8852ce RTL8852CE b/g/n/ac/ax Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw89_8852ae RTL8852AE b/g/n/ac/ax Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rtw89_8852be RTL8852BE b/g/n/ac/ax Yes Yes Dual GPLv2 and BSD Written by Realtek et al.
rsi9113 RSI9113 Redpine Signals SDIO, USB adapters Yes GPL Written by Redpine Signals Inc.
ti wl1251 Texas Instruments TI wl1251 (SDIO/SPI) ? Yes Yes[26] GPL Written by Nokia
wl12xx Texas Instruments TI wl1271, wl1273, wl1281 and wl1283 ? Yes (Only up to 3.2[27]) Yes[26] GPL Written by Nokia and Texas Instruments
wl18xx Texas Instruments TI WiLink 8 ? Yes Yes[26] GPL Written by Texas Instruments
zd1211rw zd1211rw ZyDAS ZD1211/ZD1211B (USB) ? Yes Yes[28] GPL various

Driver capabilities

Driver 802.11 Bus
interface
Wireless
Security
Monitor
mode
Master
(AP)
mode
Ad-Hoc
mode
IEEE

802.11s

a
b
g
n
ac
ad
ax
WEP WPA WPA2
acx1xx No Yes Yes No No ? ? PCI, Mini PCI,
PC card, USB
Yes No No Yes Yes ?
adm8211 No Yes No No No ? ? PCI Yes ? ? Yes No Yes
carl9170 Yes Yes Yes Yes No ? ? USB Yes Yes Yes Yes Yes Yes
ath5k Yes Yes Yes No No ? ? PCI, Mini PCI,
PC card, AHB
Yes Yes Yes Yes Yes
(2.6.31)
Yes
ath9k Yes Yes Yes Yes No ? ? PCI, Mini PCI,
Mini PCIe, AHB
Yes Yes Yes Yes Yes Yes
ath9k_htc Yes Yes Yes Yes No ? ? USB Yes Yes Yes Yes Yes Yes
ath10k No No No No Yes ? ? PCI, Mini PCI,
AHB, Mini PCIe
Yes Yes Yes Yes Yes Yes
b43 No Yes Yes No No ? ? PCI, Mini PCI,
SDIO ?
Yes Yes Yes Yes Yes Yes
bcm43xx No Yes Yes No No ? ? PCI, Mini PCI,
Cardbus, PC card
Yes Yes Yes Yes No ?
brcmfmac Yes Yes Yes Yes No ? ? USB, SDIO,
PCI Express
Yes Yes Yes Exp. [29] Yes [30] No
brcmsmac Yes Yes Yes Yes No ? ? PCI, Mini PCI,
Mini PCIe
Yes Yes Yes Yes Yes [31] Yes [32]
hostap No Yes No No No ? ? PCI, Mini PCI,
PC card
Yes Yes [33] Yes [33] Yes Yes Yes
ipw2100 No Yes No No No ? ? Mini PCI Yes Yes Yes Yes ? ?
ipw2200 Yes Yes Yes No No ? ? Mini PCI Yes Yes Yes Yes No Yes
ipw2200-ap No Yes Yes No No ? ? Mini PCI ? ? ? Yes Yes ?
ipw3945 Yes Yes Yes No No ? ? Mini PCI,
Mini PCIe
Yes Yes Yes Yes No Yes
? ? ? ? ? ? ? PCI, USB No No No ? No ?
iwlwifi Yes Yes Yes Yes Yes ? ? Mini PCI,
Mini PCIe,
M.2
Yes Yes Yes Yes 2.4 GHz only
Exp.[34][35]
Yes
libertas No Yes Yes No No ? ? USB, CF, SDIO ? ? ? ? No ?
madwifi Yes Yes Yes No No ? ? PCI, PC card,
Mini PCI
Yes Yes Yes Yes Yes Yes
mt76 Yes Yes Yes Yes Yes ? ? PCIe, USB Yes Yes Yes Yes Yes Yes
mt7601u No Yes Yes Yes No ? ? USB Yes Yes Yes Yes ? ?
orinoco No Yes No No No ? ? Mini PCI,
PC card
Yes Yes [36] No Yes No Yes
p54 No Yes Yes No No ? ? Mini PCI, USB,
Cardbus
Yes Yes Yes Yes Yes Yes
prism54 No Yes Yes No No ? ? PCI Yes No ? Yes Yes ?
rndis_wlan No Yes Yes No No ? ? USB Yes Yes Yes No No Yes
rt2x00 No Yes Yes No No ? ? PCI, USB,
Mini PCI
Yes Yes [37] Yes [38] Yes Yes [39] Yes
rtl8180 Yes Yes Yes No No ? ? PCI, PC card,
Mini PCI
? ? ? ? Yes ?
rtl8187 Yes Yes Yes No No ? ? USB Yes Yes Yes Yes ? ?
rtl8xxxu No Yes Yes Yes No No No USB Yes Yes Yes ? Yes [40] No
rtw88 No Yes Yes Yes Yes No No M.2, USB Yes Yes Yes Yes Yes Yes
rtw89 No Yes Yes Yes Yes No Yes M.2 Yes Yes Yes Yes Yes No
zd1201 No Yes No No No ? ? USB Yes No [41] No [41] Yes Yes ?
zd1211 Yes Yes Yes No No ? ? USB Yes Yes Yes Yes Yes ?
zd1211rw No Yes Yes No No ? ? USB Yes Yes Yes Yes Yes [42] Yes

DragonFly BSD

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

3160/7260/8260/9260/9270/9560

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

FreeBSD

Status

Driver Chipset Integration Non-free firmware required[note 1] License Original/Primary developer Development
acx Texas Instruments ACX100/ACX111 Separate project Yes BSD Reverse engineering
an Aironet 4500/4800, Cisco Aironet 340/350, Xircom Wireless Ethernet Integrated On Device BSD Bill Paul (FreeBSD)
arl Aironet Arlan 655 Integrated / Removed in 8.0 On Device BSD
ath Atheros AR5210/ AR5211/ AR5212/ AR5416 /AR9130 /AR9160 /AR9280 /AR9285 /AR9287 /AR9565 (and derivatives) Integrated No BSD Originally by Atheros via Sam Leffler (FreeBSD); supported by the community Documentation based
awi AMD PCnetMobile Integrated / Removed in 8.0 On Device BSD Bill Sommerfeld (NetBSD) and Atsushi Onoe (NetBSD)
bwi Broadcom BCM43xx/4318 Integrated since 8.0 Yes BSD Sepherosa Ziehau (DragonFly BSD), Andrew Thompson (FreeBSD), Sam Leffler (FreeBSD) Ported from DragonFly BSD
bwn Broadcom BCM43xx/4318 v4 firmware Integrated since 8.1 Yes BSD Weongyo Jeong ?
cnw Netwave AirSurfer Integrated / Removed in 8.0 On Device BSD Imported from NetBSD
ipw Intel PRO/Wireless 2100 Integrated Yes BSD Damien Bergamini (OpenBSD/ FreeBSD) Reverse engineering
iwi Intel PRO/Wireless 2200BG/ 2225BG/ 2915ABG Integrated Yes 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 88W8335 Integrated Yes BSD Weongyo Jeong (FreeBSD), Sam Leffler (FreeBSD)
mwl Marvell 88W8363 Integrated since 8.0 Yes[43] BSD Sam Leffler (FreeBSD) ?
ral Ralink Technology RT2500/ RT2501/ RT2600/RT3090/RT3592 Integrated On 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.0 Yes BSD Damien Bergamini (OpenBSD), Imported from OpenBSD by Rui Paulo ?
rum Ralink RT2501USB/ RT2601USB Integrated No[44] BSD Niall O'Higgins and Damien Bergamini Based on partial documentation
run Ralink RT2700U/ RT2800U/ RT3000U Integrated since 8.1 No[44] BSD Damien Bergamini (OpenBSD), Imported from OpenBSD by Akinori Furukoshi Based on partial documentation
uath Atheros AR5005UG/ AR5005UX Integrated since 8.0 Yes[45] BSD Weongyo Jeong (FreeBSD), Sam Leffler (FreeBSD) ?
upgt GW3887 (Conexant/Intersil PrismGT series) Integrated since 8.0 Yes BSD Imported from OpenBSD Reverse engineering
ural Ralink Technology RT2500USB Integrated On Device BSD Damien Bergamini (OpenBSD/ FreeBSD) Based on partial documentation
urtw Realtek RTL8187L/ RTL8187B Integrated since 8.0 N/A[46] BSD Weongyo Jeong (FreeBSD) ?
urtwn Realtek RTL8188CU/RTL8188EU/RTL8192CU Integrated since 10.0 Yes 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) Integrated On Device BSD Bill Paul (FreeBSD) Documentation based
wpi Intel PRO/Wireless 3945ABG Integrated Yes BSD Damien Bergamini, Benjamin Close Reverse engineering
zyd ZyDAS ZD1211/ZD1211B Integrated No BSD Florian Stoehr, Damien Bergamini and Jonathan Gray (OpenBSD) Documentation based

Driver capabilities

Driver 802.11 Bus interface WEP WPA WPA2 Monitor mode Master mode Ad-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 Yes Yes Yes Yes Yes Yes
awi N/A PC Card ? ? ? ? Yes Yes
bwi 802.11b, 802.11g Cardbus, PCI Yes Yes Yes Yes No No
cnw N/A Cardbus ? ? ? ? ? ?
ipw 802.11b Mini PCI Yes Yes Yes Yes No Yes
iwi 802.11a, 802.11b, 802.11g Mini PCI Yes Yes Yes Yes No Yes
iwn 802.11a, 802.11b, 802.11g, 802.11n Mini PCI Yes Yes Yes Yes No No
malo 802.11b, 802.11g PCI Yes Yes Yes Yes No No
mwl 802.11a, 802.11b, 802.11g, 802.11n PCI Yes Yes Yes Yes Yes No
ral 802.11a, 802.11b, 802.11g Cardbus, PCI, Mini PCI Yes Yes Yes Yes Yes Yes
ray N/A PC Card ? ? ? No No Yes
rum 802.11a, 802.11b, 802.11g USB Yes Yes Yes Yes Yes Yes
run 802.11a, 802.11b, 802.11g USB Yes Yes Yes Yes Yes Yes
uath 802.11b, 802.11g USB Yes Yes Yes Yes No No
upgt 802.11b, 802.11g USB Yes Yes Yes Yes No No
ural 802.11b, 802.11g USB Yes Yes Yes Yes Yes Yes
urtw 802.11b, 802.11g USB Yes Yes Yes Yes No No
wi 802.11b PC Card, Cardbus, PCI Yes Yes (since 8.0) Yes (since 8.0) Yes (since 8.0?) Yes Yes
wpi 802.11a, 802.11b, 802.11g Mini PCI Yes Yes Yes Yes No Yes
zyd 802.11b, 802.11g USB Yes Yes Yes Yes No No

NetBSD

Driver Chipset Integration Free firmware[note 2] License Original/Primary developer Development methodologies Free software[note 3]
an Aironet 4500/4800, Cisco Aironet 340/350 Integrated N/A BSD Bill Paul (FreeBSD) Ported from FreeBSD Yes
ath Atheros AR521*/ AR2413/ AR2417/ AR5413/ AR5416/ AR5424/ AR9160 Integrated N/A BSD Sam Leffler (FreeBSD) Binary blobs ported from FreeBSD Yes
athn Atheros AR5008 up to the AR9287 Integrated N/A BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
atu Atmel at76c503/ at76c503a/ at76c505/ at76c505a Integrated N/A BSD Dan Vreeken (FreeBSD) Ported from OpenBSD Yes
atw ADMtek ADM8211 Integrated N/A BSD David Young (NetBSD) Yes
awi AMD PCnetMobile Integrated N/A BSD Yes
bwi Broadcom BCM430x/4318 Integrated N/A BSD Sepherosa Ziehau (DragonflyBSD) Ported from Dragonfly BSD Yes
cnw Netwave AirSurfer Integrated N/A BSD Yes
ipw Intel PRO/Wireless 2100 Integrated No BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
iwi Intel PRO/Wireless 2200BG/2915ABG Integrated No BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
iwm Intel Wireless WiFi 7260, 7265, 3160 Integrated No BSD Antti Kantee (NetBSD) Yes
iwn Intel Wireless WiFi Link 4965/ 5000/ 1000/ 6000 Integrated No BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
malo Marvell 88W8335/88W8310 Integrated No BSD Claudio Jeker (OpenBSD) Ported from OpenBSD Yes
otus Atheros AR9001U Integrated No BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
ral Ralink RT2500/ RT2501/ RT2600/ RT2500USB/RT3592 Integrated N/A BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
ray Raytheon Raylink / WebGear Aviator Integrated N/A BSD Christian E. Hopps (NetBSD) Yes
rtw Realtek RTL8180L Integrated N/A BSD David Young (NetBSD) Yes
rtwn Realtek RTL8188CE and RTL8192CE Integrated N/A BSD Stefan Sperling (OpenBSD) Ported from OpenBSD Yes
run Ralink RT2700U, RT2800U and RT3000U Integrated N/A BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
upgt Conexant/Intersil PrismGT SoftMAC USB IEEE 802.11b/g Integrated N/A BSD Marcus Glocker (OpenBSD) Ported from OpenBSD Yes
urtw Realtek RTL8187B/L Integrated No BSD Weongyo Jeong (FreeBSD) Ported from FreeBSD Yes
urtwn Realtek RTL8188CUS, RTL8188CE-VAU, RTL8188EUS, RTL8188RU, and RTL8192CU Integrated No BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
wi Lucent Technologies WaveLAN/IEEE and PRISM-II 802.11 Integrated No BSD Bill Paul Yes
wpi Intel PRO/Wireless 3945ABG Integrated No BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
zyd ZyDAS ZD1211/ ZD1211B Integrated No BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes

OpenBSD

The following is an incomplete list of supported wireless devices:

Status

Driver Chipset Integration Free firmware[note 2] License Original/Primary developer Development Free software[note 3]
acx Texas Instruments ACX100/ACX111 Integrated No[47] BSD Ported from DragonFlyBSD Reverse engineering Yes
an Aironet 4500/4800, Cisco Aironet 340/350 Integrated N/A BSD Yes
ath Atheros AR5210/ AR5211/ AR5212 Integrated N/A[3] BSD Reverse engineering Yes
athn Atheros AR5416/AR9160/AR928X Integrated (since 4.7) Yes[48] BSD Damien Bergamini Partly based on the ath9k driver for Linux Yes
atu Atmel AT76C503/ AT76C503A/ AT76C505/ AT76C505A Integrated Yes[49] BSD Reverse engineering Yes
atw ADMtek ADM8211 Integrated N/A BSD Documentation based Yes
awi BayStack 650 2.7 to 4.3 N/A BSD Yes
bwi Broadcom BCM430x/4318 Integrated No BSD Sepherosa Ziehau Ported from DragonFly BSD Yes
cnw NetWave AirSurfer 2.6 to 6.0 N/A BSD Yes
ipw Intel PRO/Wireless 2100 Integrated No[50] BSD Damien Bergamini Reverse engineering Yes
iwi Intel PRO/Wireless 2200BG/ 2225BG/ 2915ABG Integrated No[51] BSD Damien Bergamini Reverse engineering Yes
iwn Intel Wireless WiFi Link 4965/ 5000/ 1000/ 6000 Integrated No[52] BSD Damien Bergamini Reverse engineering Yes
iwm Intel Wireless WiFi Link 3160ac/ 7260ac/ 7265ac Integrated (since 5.8) No[53] BSD Antti Kantee,[54] Stefan Sperling Based on iwn, and iwlwifi driver released by Intel for Linux under dual GPLv2/BSD license[55] Yes
malo Marvell 88W8335/ 88W8310 Integrated No[56] BSD Marcus Glocker and Claudio Jeker Reverse engineering[57] Yes
otus Atheros AR9170 Integrated (since 4.6) No[58] BSD Damien Bergamini Based on source code released by Atheros for Linux under the ISC Yes
pgt Conexant/Intersil Prism GT Full-MAC ISL3877, ISL3880, and ISL3890 chips Integrated No[59] BSD Ported from FreeBSD Reverse engineering[60] Yes
ral/ural Ralink RT2500, RT2501, RT2600, RT2700, RT2800, RT3090, RT3292, RT3592 and RT5390 (ral), RT2500USB (ural) Integrated Yes[61] BSD Damien Bergamini Documentation based Yes
ray Raytheon Raylink/WebGear Aviator IEEE 802.11FH 2.7 to 5.4 N/A BSD Yes
rsu Realtek RTL8188SU/RTL8191SU/RTL8192SU Integrated (since 4.9) No BSD Damien Bergamini Reverse engineering Yes
rtw Realtek RTL8180L Integrated N/A BSD Ported from NetBSD Documentation based Yes
rtwn Realtek RTL8188CE/RTL8192CE Integrated No[62] BSD Stefan Sperling Based on urtwn driver. Yes
rum Ralink RT2501USB/ RT2601USB Integrated Yes[44] BSD Niall O'Higgins and Damien Bergamini Documentation based Yes
run Ralink RT2700U/ RT2800U/ RT3000U Integrated Yes[44] BSD Damien Bergamini Documentation based Yes
uath Atheros AR5005UG/ AR5005UX Integrated No[63] BSD Damien Bergamini Reverse Engineering[60] Yes
upgt GW3887 (Conexant/Intersil PrismGT series) Integrated No[64] BSD Marcus Glocker Reverse engineering Yes
urtw Realtek RTL8187L Integrated N/A BSD Weongyo Jeong (FreeBSD) ? Yes
urtwn Realtek RTL8188CU/RTL8192CU Integrated (since 4.9) No BSD Damien Bergamini Reverse engineering Yes
wi Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-2, PRISM-2.5, PRISM-3; Symbol Spectrum24 Integrated Yes for Spectrum24[65] and N/A for others BSD Bill Paul Documentation based Yes
wpi[66] Intel PRO/Wireless 3945ABG Integrated No[67] BSD Damien Bergamini Reverse engineering Yes
zyd ZyDAS ZD1211/ZD1211B Integrated Yes[68] BSD Florian Stoehr, Damien Bergamini, and Jonathan Gray Documentation based Yes

Driver capabilities

Driver 802.11 Bus interface WEP WPA WPA2 Monitor mode Master mode Ad-Hoc mode
acx 802.11a, 802.11b, 802.11g Cardbus, PCI Yes No No Yes Yes Yes
an 802.11b PC Card, PCI, ISA Yes No No Yes No Yes
ath 802.11a, 802.11b, 802.11g Cardbus, PCI Yes Yes Yes Yes Yes Yes
athn 802.11a, 802.11b, 802.11g, 802.11n Cardbus, PCI-E, Mini PCIE Yes Yes Yes Yes Yes No
atu 802.11b USB Yes No No No No Yes
atw 802.11b Cardbus, PCI No No No No No Yes
bwi 802.11b, 802.11g Cardbus, PCI Yes Yes Yes Yes No No
cnw N/A PC Card No No No No No No
ipw 802.11b PCI Yes Yes Yes Yes No Yes
iwi 802.11a, 802.11b, 802.11g PCI Yes Yes Yes Yes No Yes
iwn 802.11a, 802.11b, 802.11g, 802.11n PCI-E, Mini PCIE Yes Yes Yes Yes No No
iwm 802.11a, 802.11b, 802.11g, 802.11n PCI-E, Mini PCIE Yes Yes Yes Yes No No
malo 802.11b, 802.11g Cardbus, PC Card, PCI Yes Yes Yes Yes No No
otus 802.11a, 802.11b, 802.11g USB Yes Yes Yes Yes No No
pgt 802.11a, 802.11b, 802.11g Cardbus, PCI Yes No No Yes Yes Yes
ral 802.11a, 802.11b, 802.11g Cardbus, PCI, Mini PCI Yes Yes Yes Yes Yes Yes
ray N/A PC Card No No No No No Yes
rtw 802.11b Cardbus, PCI Yes No No Yes Yes Yes
rtwn 802.11b, 802.11g Mini PCIE Yes Yes Yes Yes No No
rum 802.11a, 802.11b, 802.11g USB Yes Yes Yes Yes Yes Yes
run 802.11a, 802.11b, 802.11g USB Yes Yes Yes Yes No No
uath 802.11a, 802.11b, 802.11g USB Yes No No Yes No No
upgt 802.11b, 802.11g USB Yes Yes Yes Yes No No
ural 802.11b, 802.11g USB Yes Yes Yes Yes Yes Yes
urtw 802.11b, 802.11g USB Yes Yes Yes Yes No No
urtwn 802.11b, 802.11g USB Yes Yes Yes Yes No No
wi 802.11b PC Card, PCI, USB Yes No No No Yes Yes
wpi 802.11a, 802.11b, 802.11g PCI Yes Yes Yes Yes No No
zyd 802.11b, 802.11g USB Yes Yes Yes Yes No No

Solaris and OpenSolaris

Driver Chipset Integration Free firmware[note 2] License Development Free software[note 3]
ath[69][70] Atheros AR5211/ AR5212/ AR5213/ AR5214 Integrated with Solaris Nevada build 29 No firmware required[3] Dual GPL/BSD with proprietary HAL Port of Madwifi No
ipw Intel PRO/Wireless 2100 Community project No BSD Ported from OpenBSD Yes
iwi Intel PRO/Wireless 2200BG/2225BG/2915ABG Community project No BSD Ported from OpenBSD Yes
pcan Cisco Aironet 340/350 Community project N/A BSD Ported from FreeBSD Yes
pcwl Lucent/Agere Systems Hermes (WaveLAN/ORiNOCO), Intersil PRISM-2 802.11b Community project N/A BSD Ported from FreeBSD Yes
ral Ralink RT2500 Community project N/A BSD Ported from OpenBSD Yes
rtw Realtek RTL8180L Community project N/A BSD Ported from NetBSD Yes
malo Marvell 88W8335/ 88W8310 Community project N/A BSD Ported from OpenBSD Yes
wpi Intel PRO/Wireless 3945ABG Community project No BSD Ported from OpenBSD Yes
iwk Intel Wireless WiFi Link 4965AGN Community project No BSD Ported from OpenBSD Yes
arn Atheros 9000 Community project No BSD based on ath9k Yes
rwd Ralink RT2561/RT2561S/RT2661 Community project No BSD Yes
rwn Ralink RT2700/2800 Community project No BSD Yes
urtw Realtek RTL8187L/B USB Community project No BSD Yes
atu Atmel AT76C50x Community project No BSD Yes
mwl Marvell 88W8363 Community project No BSD Yes
ural Ralink RT2500USB Community project No BSD Yes
zyd ZyDAS ZD1211 chipsets Community project Yes BSD Ported from OpenBSD Yes

Darwin, OpenDarwin and macOS

Driver Chipset Free firmware[note 2] License Development
IWIDarwin Intel PRO/Wireless 2100/2200BG/2225BG/2915ABG/3945ABG/4965AGN No GPL Port from Linux
WirelessDriver[71] Lucent/Agere Systems Hermes (WaveLAN/ORiNOCO), Intersil PRISM-2 802.11b N/A BSD
"GTdriver". http://gtdriver.binaervarianz.de/.  PRISM-GT 802.11b/g N/A GPL

Notes

  1. 1.0 1.1 'On Device' means firmware is stored in device at all times
  2. 2.0 2.1 2.2 2.3 '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. 3.0 3.1 3.2 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". https://wireless.wiki.kernel.org/en/users/Drivers/libertas. 
  2. "Ticket #46". http://dev.laptop.org/ticket/46. 
  3. 3.0 3.1 3.2 3.3 The card doesn't have a host CPU and so it doesn't require a firmware source
  4. "ath9k_htc". debian.org. https://wiki.debian.org/ath9k_htc. 
  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. https://github.com/qca/open-ath9k-htc-firmware. 
  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 IEEE 802.11ax devices
  10. The chipsets do require a non-free firmware
  11. "en:users:drivers:carl9170 [Linux Wireless"]. kernel.org. https://wireless.wiki.kernel.org/en/users/Drivers/carl9170#Firmware-1. 
  12. 12.0 12.1 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". http://w1.fi/cgit/hostap-06/plain/FAQ. 
  16. "Intel® PRO/Wireless 2100 Driver Firmware". sourceforge.net. http://ipw2100.sourceforge.net/firmware.php?fid=2. 
  17. "#46 (Eliminate dependency on licensed code in Marvell firmware.) – One Laptop Per Child – Trac". Dev.laptop.org. 2006-12-14. http://dev.laptop.org/ticket/46. 
  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. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/net/wireless/marvell/mwifiex/README. 
  20. "orinoco - Linux Wireless". Wireless.kernel.org. https://wireless.wiki.kernel.org/en/users/Drivers/orinoco#devicefirmware. 
  21. There is a Free software firmware called FreeMAC
  22. see the license of the firmware 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". https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=b63c05394f3fe9ae547e1fa9df30f1ba0bcdabb4. 
  25. "rtl8188eu header files". https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6ddfa35a4a98d28f9506c1bb25c82927dff9eff2. 
  26. 26.0 26.1 26.2 "ti-connectivity - kernel/git/firmware/linux-firmware.git - Repository of firmware blobs for use with the Linux kernel". https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ti-connectivity. 
  27. "Configuring WL1271 for a 3.13 kernel (devicetree) - WiLink™ WiFi + Bluetooth Forum - Wireless Connectivity - TI E2E Community". ti.com. http://e2e.ti.com/support/low_power_rf/f/307/p/324365/1130399.aspx#1130399. 
  28. http://sourceforge.net/projects/zd1211/files/zd1211-firmware/ ZD1211 USB WLAN Linux Driver Firmware
  29. "seemoo-lab/nexmon". https://github.com/seemoo-lab/nexmon. 
  30. "Supports SoftAP". kernel.org. https://wireless.wiki.kernel.org/en/users/Drivers/brcm80211#fullmac_driver_specifics. 
  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. https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=c55b3766054d3db7a9732c6c8a1c81afac2cfaa6. 
  33. 33.0 33.1 Requires station firmware 1.7.4 or later.
  34. "en:users:drivers:iwlwifi [Linux Wireless"]. kernel.org. https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi/?p=iwlwifi#Features. 
  35. "en:users:drivers:iwlwifi [Linux Wireless"]. https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi?do=diff&rev2%5B0%5D=1457423283&rev2%5B1%5D=1459173464&difftype=sidebyside. 
  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. http://my.opera.com/CrazyTerabyte/blog/2009/10/23/wi-fi-with-master-mode-finally. 
  39. http://linuxwireless.org/en/users/Drivers and also at least two users reported success with master mode [1] [2]
  40. "[PATCH v4 17/18 wifi: rtl8xxxu: Declare AP mode support for 8188f"]. lore.kernel.org. https://lore.kernel.org/all/20230428150833.218605-18-martin.kaistra@linutronix.de/. 
  41. 41.0 41.1 "Bug 5631 – zd1201 and wpa support". Bugzilla.kernel.org. http://bugzilla.kernel.org/show_bug.cgi?id=5631. 
  42. "Master mode supported in zd1211rw since 2.6.39". Git.kernel.org. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ab419e9bda10efced0db980478c3e40a1ad18ba3. 
  43. "[base] Contents of /head/sys/contrib/dev/mwl/LICENSE". Svn.freebsd.org. http://svn.freebsd.org/viewvc/base/head/sys/contrib/dev/mwl/LICENSE?view=markup&pathrev=193240. 
  44. 44.0 44.1 44.2 44.3 "rum-license (covers rum-rt2573 for rum(4), as well as run-rt2870 and run-rt3071 for run(4))". http://bxr.su/OpenBSD/sys/dev/microcode/rum/rum-license. 
  45. "[base] Contents of /head/sys/contrib/dev/uath/ar5523.bin.uu". Svn.freebsd.org. http://svn.freebsd.org/viewvc/base/head/sys/contrib/dev/uath/ar5523.bin.uu?view=markup&pathrev=190688. 
  46. "[base] Contents of /head/sys/dev/usb/wlan/if_urtw.c". Svn.freebsd.org. http://svn.freebsd.org/viewvc/base/head/sys/dev/usb/wlan/if_urtw.c?view=markup&pathrev=192873. 
  47. "Manual Pages: acx". Openbsd.org. 2012-09-17. https://man.openbsd.org/acx.4#FILES. 
  48. ""Move athn(4) USB devices to the open source atk9k HTC firmware."". Openbsd.org. 2018-02-05. https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/usb/if_athn_usb.c#rev1.49. 
  49. "atu-license". http://bxr.su/OpenBSD/sys/dev/microcode/atmel/atu-license. 
  50. "Manual Pages: ipw". Openbsd.org. 2012-09-17. https://man.openbsd.org/ipw.4#FILES. 
  51. "Manual Pages: iwi". Openbsd.org. 2012-09-17. https://man.openbsd.org/iwi.4#FILES. 
  52. "Manual Pages: iwn". Openbsd.org. 2012-09-17. https://man.openbsd.org/iwn.4#FILES. 
  53. "Manual Pages: iwm". Openbsd.org. https://man.openbsd.org/iwm.4#FILES. 
  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. http://beastie.pl/deweloperzy-netbsd-7-0-antti-kantee/. 
  55. "Add iwm(4), a new driver for Intel 7260 wifi cards.". Openbsd.org. 2015-02-06. http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/if_iwm.c?rev=1.1&content-type=text/x-cvsweb-markup. 
  56. "Manual Pages: malo". Openbsd.org. 2012-09-17. https://man.openbsd.org/malo.4#FILES. 
  57. "Developer Blog – mglocker@: New WLAN drivers on the upswing". Undeadly.org. https://undeadly.org/cgi?action=article;sid=20061120180656. 
  58. "Manual Pages: otus(4)". Openbsd.org. 2012-09-17. https://man.openbsd.org/otus.4#FILES. 
  59. "Manual Pages: pgt(4)". Openbsd.org. 2012-09-17. https://man.openbsd.org/pgt.4#FILES. 
  60. 60.0 60.1 "OpenBSD reverse engineers more wireless drivers". Undeadly.org. 2004-04-02. https://www.undeadly.org/cgi?action=article;sid=20060917020241. 
  61. "ral-license". http://bxr.su/OpenBSD/sys/dev/microcode/ral/ral-license. 
  62. "Manual Pages: rtwn". Openbsd.org. https://man.openbsd.org/rtwn.4#FILES. 
  63. "Manual Pages: uath". Openbsd.org. 2012-09-17. https://man.openbsd.org/uath.4#FILES. 
  64. "Manual Pages: upgt(4)". Openbsd.org. 2012-09-17. https://man.openbsd.org/upgt.4#FILES. 
  65. "symbol-license". http://bxr.su/OpenBSD/sys/dev/microcode/symbol/symbol-license. 
  66. There is more details about the port at kerneltrap
  67. "Manual Pages: wpi". Openbsd.org. 2012-09-17. https://man.openbsd.org/wpi.4#FILES. 
  68. "zd1211-licence". http://bxr.su/OpenBSD/sys/dev/microcode/zydas/zd1211-license. 
  69. it's not the same driver that the OpenBSD ath driver it's a port from Madwifi to OpenSolaris
  70. source , I don't know if the HAL can be replaced with OpenHAL
  71. "Seattle Wireless WirelessDriver Support Wiki". Seattlewireless.net. 2010-08-15. http://www.seattlewireless.net/WirelessDriver. 

External links