Jump to content

Comparison of open-source wireless drivers

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by InternetArchiveBot (talk | contribs) at 03:52, 29 November 2016 (Rescuing 1 sources and tagging 0 as dead. #IABot (v1.2.7.1)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 Integration in mainline Non-free firmware required[note 1] License Development
adm8211 adm8211 ADMtek ADM8211 (IEEE 802.11b MAC/BBP Yes Yes GPLv2 With support from Infineon/ADMtek
at76c50x‑usb at76c50x‑usb at76c50x-USB Atmel AT76C503/AT76C505 based USB WLAN adapters Yes Depends on the model GPLv2 ?
acx100 Texas Instruments ACX100, ACX111, TNETW1450 No Yes Dual BSD/MPL Reverse-engineered
airo airo Cisco Systems Aironet 4500/4800 and 340/350 Yes No Dual GPLv2 and BSD ?
ath ar5523 Qualcomm Atheros AR5523 based USB dongles Yes Yes ISC Reverse-engineered
ath5k Qualcomm Atheros AR2413, AR2414, AR2417, AR2425, AR5210, AR5211, AR5212, AR5213, AR5413, AR5414, AR5423, AR5424 Yes (since 2.6.25) No[3] Dual GPL/BSD Reverse-engineered
ath6kl Qualcomm Atheros AR6003, AR6004 (SDIO), AR6004 (USB) Yes Yes ISC Written by Qualcomm Atheros
ath9k Qualcomm Atheros chips with IEEE 802.11n support Yes (since 2.6.27) No[3] ISC Written by Qualcomm Atheros
ath9k_htc Qualcomm Atheros AR9271, AR7010 (USB-PCIe bridge with AR928x chips) Yes (since 2.6.35)[4][5] No[6] ISC Written by Qualcomm Atheros
ath10k Qualcomm Atheros chips with IEEE 802.11ac support Yes (since 3.11)[7] Yes[8] ISC Written by Qualcomm Atheros
carl9170 Qualcomm Atheros AR9170 (802.11n USB) Yes (since 3.0) No[9] GPL Qualcomm Atheros-supported
wil6210 Wilocity wil6210, 802.11ad 60GHz Yes Yes ISC Written by Qualcomm Atheros
atmel atmel Atmel at76c502 at76c504 and at76c506 wireless cards Yes No GPLv2+ Reverse-engineered
b43 b43 Some Broadcom 43xx Yes (since 2.6.24) Experimental OSS firmware[10] GPL Reverse-engineered
b43legacy b43legacy Broadcom 4301, 4303, and 4306 revisions 1 and 2 Yes (since 2.6.24) Experimental OSS firmware[10] GPL Reverse-engineered
brcm80211 brcmfmac Broadcom 4329, 4330, 4334, 43235, 43236, 43238 Yes (since 3.2) Yes ISC Written by Broadcom
brcmsmac Broadcom 4313, 43224, 43225 Yes (since 3.2) Yes ISC Written by Broadcom
cw1200 cw1200 ST-Ericsson CW1100 & CW1200 WLAN chipsets Yes (since 3.11)[11] Yes[12] GPLv2 ?
hostap HostAP Intersil PRISM-II, PRISM-2.5, PRISM 3 Yes Depends on the model[13] GPLv2
ipw2x00 ipw2x00 Intel PRO/Wireless 2100 and 2200 Network Connection 802.11b Yes Yes[14] 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 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[15] GPL Marvell-supported
libertas_tf libertastf Marvell 8388 (USB) WLAN Thinfirm Driver (OLPC) Yes GPL cozybit, Marvell-supported
mt7601u mt7601u MediaTek MT7601U Yes
mwifiex mwifiex WiFi-Ex Driver for Marvell SD8786/SD8787/SD8797 (SDIO), 8766/8897 (PCIe) and 88W8797 (USB) Yes Yes[16] 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[17]
p54 p54 Yes Yes[18]
prism54 prism54 Yes Reverse-engineered; obsoleted by p54.
rt2x00 rt2400pci MediaTek (Ralink) RT2460 Yes (since 2.6.24) No[19] GPLv2+ rt2x00.serialmonkey.com; From partial documentation and GPL drivers by Ralink
rt2500pci RT2560 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 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 Yes No GPL
rtl8187 RTL8187, RTL8187B Yes No GPL
rtlwifi rtl‑wifi rtl8188ee Realtek Yes (since 2.6.38)[20] 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[21][22]) Yes GPL 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[23] GPL Written by Nokia
wl12xx Texas Instruments TI wl1271, wl1273, wl1281 and wl1283 Yes (Only up to 3.2[24]) Yes[23] GPL Written by Nokia and Texas Instruments
wl18xx Texas Instruments TI WiLink 8 Yes Yes[23] GPL Written by Texas Instruments
zd1211rw zd1211rw ZyDAS ZD1211/ZD1211B (USB) Yes Yes[25] GPL various

Driver capabilities

Also see wireless.kernel.org

Please note: This sections needs to be split in softMAC and hardMAC drivers. All softMAC drivers should have the same capabilities regarding encryption, since it is done by hostapd.
Then we should copy/extend http://wireless.kernel.org/en/users/Drivers because it lists all the available modes of operation: http://wireless.kernel.org/en/users/Documentation/modes
Then we should think about documenting, whether a driver can support multiple modes simultaneously and which ones.

Driver 802.11 Bus interface Wireless Security Monitor mode Master (AP) mode Ad-Hoc mode
a
b
g
n
ac
WEP WPA WPA2
acx1xx No Yes Yes No No PCI, Mini PCI, PC card, USB Yes No No Yes Yes ?
adm8211 ? ? ? ? ? PCI ? ? ? ? No ?
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 (since 2.6.31) Yes
ath9k Yes Yes Yes Yes No PCI, Mini PCI, AHB, PCI Express Mini Card Yes Yes Yes Yes Yes Yes
ath9k_htc No Yes Yes Yes No USB Yes Yes Yes Yes Yes Yes
ath10k No No No No Yes PCI, Mini PCI, AHB, PCI Express Mini Card 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, PC card, Cardbus Yes Yes Yes Yes No ?
brcmfmac Yes Yes Yes Yes No USB, SDIO Yes Yes Yes No No No
brcmsmac Yes Yes Yes Yes No PCI, Mini PCI, PCI Express Mini Card Yes Yes Yes No Yes[26] Yes[27]
hostap No Yes No No No PCI, Mini PCI, PC card Yes Yes[28] Yes[28] 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, PCI Express Mini Card Yes Yes Yes Yes No Yes
islsm ? ? ? ? ? PCI, USB No No No ? No ?
iwlwifi Yes Yes Yes Yes Yes Mini PCI, PCI Express Mini Card Yes Yes Yes Yes Experimental[29] Yes
libertas No Yes Yes No No USB, CF, SDIO ? ? ? ? No ?
MadWifi Yes Yes Yes No No PCI, Mini PCI, PC card Yes Yes Yes Yes Yes Yes some issues in HAL, outdoor sensitivity?[citation needed]
mt7601u No Yes Yes Yes No USB Yes Yes Yes Yes ? ?
orinoco No Yes No No No Mini PCI, PC card Yes Yes[30] No Yes No Yes
p54 No Yes Yes No No Mini PCI, Cardbus, USB 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, Mini PCI, USB Yes Yes[31] Yes[32] Yes Yes[33] Yes
rtl8180 Yes Yes Yes No No PCI, Mini PCI, PC card ? ? ? ? Yes ?
rtl8187 Yes Yes Yes No No USB Yes Yes Yes Yes ? ?
zd1201 No Yes No No No USB Yes No[34] No[34] 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[35] Yes

DragonFly BSD

Driver Chipset Integration Non-free firmware required[note 1] License Original/Primary developer Development
acx Texas Instruments ACX100/ACX111 Integrated since 1.5 Yes BSD Reverse engineering
an Aironet 4500/4800 Integrated BSD Bill Paul (FreeBSD)
ath Atheros AR5210/ AR5211/ AR5212/ AR5416 Integrated 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
iwn Intel 4965/1000/5000/5150/5300/6000/6050 Integrated Yes BSD Damien Bergamini (OpenBSD) Reverse engineering
ral Ralink RT2500/ RT2501/ RT2600 Integrated BSD Damien Bergamini Ported from FreeBSD
rtw Realtek RTL8180L Integrated BSD Ported from NetBSD
rum Ralink RT2501USB/ RT2601USB Integrated BSD Damien Bergamini Ported from FreeBSD
wi Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-II, PRISM-2.5; Symbol Spectrum24 802.11B Integrated BSD Bill Paul (FreeBSD) Documentation based
wpi Intel 3945ABG Integrated 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 BSD Bill Paul (FreeBSD)
arl Aironet Arlan 655 Integrated / Removed in 8.0 BSD
ath Atheros AR5210/ AR5211/ AR5212/ AR5416 /AR9130 /AR9160 /AR9280 /AR9285 /AR9287 (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 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 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
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[36] BSD Sam Leffler (FreeBSD) ?
ral Ralink Technology RT2500/ RT2501/ RT2600/RT3090/RT3592 Integrated BSD Damien Bergamini (OpenBSD/ FreeBSD) Based on partial documentation
ray Raytheon Raylink/Webgear Aviator Integrated / Removed in 8.0 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[37] BSD Niall O'Higgins and Damien Bergamini Based on partial documentation
run Ralink RT2700U/ RT2800U/ RT3000U Integrated since 8.1 No[37] BSD Damien Bergamini (OpenBSD), Imported from OpenBSD by Akinori Furukoshi Based on partial documentation
uath Atheros AR5005UG/ AR5005UX Integrated since 8.0 Yes[38] 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 BSD Damien Bergamini (OpenBSD/ FreeBSD) Based on partial documentation
urtw Realtek RTL8187L/ RTL8187B Integrated since 8.0 [39] 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 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 Yes
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[40] License Original/Primary developer Development methodologies Free software[note 2]
an Aironet 4500/4800, Cisco Aironet 340/350 Integrated BSD Ported from FreeBSD Yes
ath Atheros AR521*/ AR2413/ AR2417/ AR5413/ AR5416/ AR5424/ AR9160 Integrated BSD Binary blobs ported from FreeBSD Yes
athn Atheros AR5008 up to the AR9287 Integrated BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
atu Atmel at76c503/ at76c503a/ at76c505/ at76c505a Integrated BSD Ported from OpenBSD Yes
atw ADMtek ADM8211 Integrated BSD Yes
awi AMD PCnetMobile Integrated BSD Yes
bwi Broadcom BCM430x/4318 Integrated BSD Ported from Dragonfly BSD Yes
cnw Netwave AirSurfer Integrated 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 BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
ray Raytheon Raylink / WebGear Aviator Integrated BSD Yes
rtw Realtek RTL8180L Integrated BSD David Young Yes
rtwn Realtek RTL8188CE and RTL8192CE Integrated BSD Stefan Sperling (OpenBSD) Ported from OpenBSD Yes
run Ralink RT2700U, RT2800U and RT3000U Integrated BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
upgt Conexant/Intersil PrismGT SoftMAC USB IEEE 802.11b/g Integrated 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[40] License Original/Primary developer Development Free software[note 2]
acx Texas Instruments ACX100/ACX111 Integrated No[41] BSD Ported from DragonFlyBSD Reverse engineering Yes
an Aironet 4500/4800, Cisco Aironet 340/350 Integrated BSD Yes
ath Atheros AR5210/ AR5211/ AR5212 Integrated [3] BSD Reverse engineering Yes
athn Atheros AR5416/AR9160/AR928X Integrated (since 4.7) No BSD Damien Bergamini Partly based on the ath9k driver for Linux Yes
atu Atmel AT76C503/ AT76C503A/ AT76C505/ AT76C505A Integrated Yes[42] BSD Reverse engineering Yes
atw ADMtek ADM8211 Integrated BSD Documentation based Yes
awi BayStack 650 2.7 to 4.3 BSD Yes
bwi Broadcom BCM430x/4318 Integrated No BSD Sepherosa Ziehau Ported from DragonFly BSD Yes
cnw NetWave AirSurfer Integrated BSD Yes
ipw Intel PRO/Wireless 2100 Integrated No[43] BSD Damien Bergamini Reverse engineering Yes
iwi Intel PRO/Wireless 2200BG/ 2225BG/ 2915ABG Integrated No[44] BSD Damien Bergamini Reverse engineering Yes
iwn Intel Wireless WiFi Link 4965/ 5000/ 1000/ 6000 Integrated No[45] BSD Damien Bergamini Reverse engineering Yes
iwm Intel Wireless WiFi Link 3160ac/ 7260ac/ 7265ac Integrated (since 5.8) No[46] BSD Antti Kantee,[47] Stefan Sperling Based on iwn, and iwlwifi driver released by Intel for Linux under dual GPLv2/BSD license[48] Yes
malo Marvell 88W8335/ 88W8310 Integrated No[49] BSD Marcus Glocker and Claudio Jeker Reverse engineering[50] Yes
otus Atheros AR9170 Integrated (since 4.6) No[51] 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[52] BSD Ported from FreeBSD Reverse engineering[53] Yes
ral/ural Ralink RT2500, RT2501, RT2600, RT2700, RT2800, RT3090 and RT3592 (ral), RT2500USB (ural) Integrated Yes[54] BSD Damien Bergamini Documentation based Yes
ray Raytheon Raylink/WebGear Aviator IEEE 802.11FH 2.7 to 5.4 BSD Yes
rsu Realtek RTL8188SU/RTL8191SU/RTL8192SU Integrated (since 4.9) No BSD Damien Bergamini Reverse engineering Yes
rtw Realtek RTL8180L Integrated BSD Ported from NetBSD Documentation based Yes
rtwn Realtek RTL8188CE Integrated No[55] BSD Stefan Sperling Based on urtwn driver. Yes
rum Ralink RT2501USB/ RT2601USB Integrated Yes[37] BSD Niall O'Higgins and Damien Bergamini Documentation based Yes
run Ralink RT2700U/ RT2800U/ RT3000U Integrated Yes[37] BSD Damien Bergamini Documentation based Yes
uath Atheros AR5005UG/ AR5005UX Integrated No[56] BSD Damien Bergamini Reverse Engineering[53] Yes
upgt GW3887 (Conexant/Intersil PrismGT series) Integrated No[57] BSD Marcus Glocker Reverse engineering Yes
urtw Realtek RTL8187L Integrated 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[58] and N/A for others BSD Bill Paul Documentation based Yes
wpi[59] Intel PRO/Wireless 3945ABG Integrated No[60] BSD Damien Bergamini Reverse engineering Yes
zyd ZyDAS ZD1211/ZD1211B Integrated Yes[61] 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 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 No 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[40] License Development Free software[note 2]
ath[62][63] 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 BSD Ported from FreeBSD Yes
pcwl Lucent/Agere Systems Hermes (WaveLAN/ORiNOCO), Intersil PRISM-2 802.11b Community project BSD Ported from FreeBSD Yes
ral Ralink RT2500 Community project BSD Ported from OpenBSD Yes
rtw Realtek RTL8180L Community project BSD Ported from NetBSD Yes
malo Marvell 88W8335/ 88W8310 Community project 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 Mac OS X

Driver Chipset Free firmware[40] License Development
IWIDarwin Intel PRO/Wireless 2100/2200BG/2225BG/2915ABG/3945ABG/4965AGN No GPL Port from Linux
WirelessDriver[64] Lucent/Agere Systems Hermes (WaveLAN/ORiNOCO), Intersil PRISM-2 802.11b BSD
GTdriver PRISM-GT 802.11b/g GPL

Notes

  1. ^ a b c 'N/A' means firmware is stored in device at all times
  2. ^ a b c 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".
  3. ^ a b c d The card doesn't have a host CPU and so it doesn't require a firmware source Archived 2006-06-20 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 )[citation needed]
  9. ^ "en:users:drivers:carl9170 [Linux Wireless]". kernel.org. Retrieved 1 May 2015.
  10. ^ a b See openfwwf project for open-source firmware. This firmware lacks support for QoS and hardware cryptography.
  11. ^ http://kernelnewbies.org/Linux_3.11-DriversArch#head-55b108ef9d4cab96ff8a30e9906a6079628c49d3 Kernel Newbies 3.11 network driver documentation.
  12. ^ https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/LICENCE.cw1200 CW1200 Licence file at linux-firmware.
  13. ^ "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[dead link]
  14. ^ "Intel® PRO/Wireless 2100 Driver Firmware". sourceforge.net. Retrieved 1 May 2015.
  15. ^ "#46 (Eliminate dependency on licensed code in Marvell firmware.) – One Laptop Per Child – Trac". Dev.laptop.org. 2006-12-14. Retrieved 2013-07-12.
  16. ^ "kernel/git/stable/linux-stable.git - Linux kernel stable tree". kernel.org. Retrieved 1 May 2015.
  17. ^ "orinoco - Linux Wireless". Wireless.kernel.org. Retrieved 2012-12-09.
  18. ^ There is a Free software firmware called FreeMAC, but it's not yet ready for non developers use
  19. ^ see the license of the firmware to see which chipsets need a firmware
  20. ^ 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
  21. ^ "rtl8188eu".
  22. ^ "rtl8188eu header files".
  23. ^ a b c https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ti-connectivity
  24. ^ "Configuring WL1271 for a 3.13 kernel (devicetree) - WiLink™ WiFi + Bluetooth Forum - Wireless Connectivity - TI E2E Community". ti.com. Retrieved 1 May 2015.
  25. ^ http://sourceforge.net/projects/zd1211/files/zd1211-firmware/ ZD1211 USB WLAN Linux Driver Firmware
  26. ^ https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=492b71e8d468102372969705b65845f5e57038c5 2013-03-27 brcmsmac: activate AP support
  27. ^ "kernel/git/next/linux-next.git - The linux-next integration testing tree". kernel.org. Retrieved 1 May 2015.
  28. ^ a b Requires station firmware 1.7.4 or later.
  29. ^ "en:users:drivers:iwlwifi [Linux Wireless]". kernel.org. Retrieved 1 May 2015.
  30. ^ 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.
  31. ^ except for the rt2400 chipset; only the rt2500 chipset and the rt2570 chipset are supported
  32. ^ "one user reported that WPA2 works with rt61pci". My.opera.com. Retrieved 2012-12-09.
  33. ^ http://linuxwireless.org/en/users/Drivers and also at least two users reported success with master mode [1] [2]
  34. ^ a b "Bug 5631 – zd1201 and wpa support". Bugzilla.kernel.org. Retrieved 2012-12-09.
  35. ^ "Master mode supported in zd1211rw since 2.6.39". Git.kernel.org. Retrieved 2012-12-09.
  36. ^ "[base] Contents of /head/sys/contrib/dev/mwl/LICENSE". Svn.freebsd.org. Retrieved 2012-12-09.
  37. ^ a b c d "rum-license (covers rum-rt2573 for rum(4), as well as run-rt2870 and run-rt3071 for run(4))". BSD Cross Reference, OpenBSD.
  38. ^ "[base] Contents of /head/sys/contrib/dev/uath/ar5523.bin.uu". Svn.freebsd.org. Retrieved 2012-12-09.
  39. ^ "[base] Contents of /head/sys/dev/usb/wlan/if_urtw.c". Svn.freebsd.org. Retrieved 2012-12-09.
  40. ^ a b c d '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
  41. ^ "Manual Pages: acx". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  42. ^ "atu-license". BSD Cross Reference, OpenBSD.
  43. ^ "Manual Pages: ipw". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  44. ^ "Manual Pages: iwi". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  45. ^ "Manual Pages: iwn". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  46. ^ "Manual Pages: iwm". Openbsd.org.
  47. ^ "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. Retrieved 2016-02-21.
  48. ^ "Add iwm(4), a new driver for Intel 7260 wifi cards". Openbsd.org. 2015-02-06. Retrieved 2016-02-21.
  49. ^ "Manual Pages: malo". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  50. ^ "Developer Blog – mglocker@: New WLAN drivers on the upswing". Undeadly.org. Retrieved 2012-12-09.
  51. ^ "Manual Pages: otus(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  52. ^ "Manual Pages: pgt(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  53. ^ a b "OpenBSD reverse engineers more wireless drivers". Undeadly.org. 2004-04-02. Retrieved 2012-12-09.
  54. ^ "ral-license". BSD Cross Reference, OpenBSD.
  55. ^ "Manual Pages: rtwn". Openbsd.org.
  56. ^ "Manual Pages: uath". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  57. ^ "Manual Pages: upgt(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  58. ^ "symbol-license". BSD Cross Reference, OpenBSD.
  59. ^ There is more details about the port at kerneltrap
  60. ^ "Manual Pages: wpi". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
  61. ^ "zd1211-licence". BSD Cross Reference, OpenBSD.
  62. ^ it's not the same driver that the OpenBSD ath driver it's a port from Madwifi to OpenSolaris
  63. ^ source, I don't know if the HAL can be replaced with OpenHAL
  64. ^ "Seattle Wireless WirelessDriver Support Wiki". Seattlewireless.net. 2010-08-15. Retrieved 2012-12-09.