Comparison of open-source wireless drivers

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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

Linux drivers for 802.11 "wireless"[edit]

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

Status[edit]

Driver family Driver Chipsets Integration in mainline Non-free firmware required[3] 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 No ISC Reverse engineered
ath5k Qualcomm Atheros AR2413, AR2414, AR2417, AR2425, AR5210, AR5211, AR5212, AR5213, AR5413, AR5414, AR5423, AR5424 Yes (since 2.6.25) No[4] 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[4] ISC Written by Qualcomm Atheros
ath10k Qualcomm Atheros chips with IEEE 802.11ac support Yes (since 3.11)[5] Yes[6] ISC Written by Qualcomm Atheros
carl9170 Qualcomm Atheros AR9170 (802.11n USB) Yes (since 3.0) No[7] 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[8] GPL Reverse engineered
b43legacy b43legacy Some Broadcom 43xx Yes (since 2.6.24) Experimental OSS firmware[8] 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)[9] Yes [10] GPLv2  ?
hostap HostAP Intersil PRISM-II, PRISM-2.5, PRISM 3 Yes Depends on the model[11] GPLv2
ipw2x00 ipw2x00 Intel PRO/Wireless 2100 and 2200 Network Connection 802.11b Yes Yes[12] GPL Written by Intel
iwlegacy iwlegacy Intel Wireless WiFi 4965AGN Yes
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[13] GPL Marvell supported
libertas_tf libertastf Marvell 8388 (USB) WLAN Thinfirm Driver (OLPC) Yes GPL cozybit, Marvell supported
mwifiex mwifiex WiFi-Ex Driver for Marvell SD8786/SD8787/SD8797 (SDIO), 8766/8897 (PCIe) and 88W8797 (USB) Yes Yes[14] 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[15]
p54 p54 Yes Yes[16]
prism54 prism54 Yes Reverse engineered; Obsoleted by p54.
rt2x00 rt2400pci MediaTek (Ralink) RT2460 Yes (since 2.6.24) No [17] 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 rtl8187 Realtek Yes
rtl8187 Realtek Yes
rtlwifi rtl-wifi rtl8188ee Realtek Yes (since 2.6.38)[18] 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[19][20]) 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 GPL Written by Nokia
wl12xx Texas Instruments TI wl1271, wl1273, wl1281 and wl1283 Yes (Only up to 3.2[21]) GPL Written by Nokia and Texas Instruments
wl18xx Texas Instruments TI WiLink 8 Yes GPL Written by Texas Instruments
zd1211rw zd1211rw ZyDAS ZD1211/ZD1211B (USB) Yes Yes[22] GPL various

Driver capabilities[edit]

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 WEP WPA WPA2 Monitor mode Master (AP) mode Ad-Hoc mode
acx1xx 802.11b, 802.11g PCI, Mini PCI, PC card, USB Yes No No Yes Yes ?
adm8211 ? PCI ? ? ? ? No ?
carl9170 802.11a, 802.11b, 802.11g, 802.11n USB Yes Yes Yes Yes Yes Yes
ath5k 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card, AHB Yes Yes Yes Yes Yes (since 2.6.31) Yes
ath9k 802.11a, 802.11b, 802.11g, 802.11n PCI, Mini PCI, AHB, PCI Express Mini Card Yes Yes Yes Yes Yes Yes
ath10k IEEE 802.11ac PCI, Mini PCI, AHB, PCI Express Mini Card Yes Yes Yes Yes Yes Yes
b43 802.11b, 802.11g PCI, Mini PCI, SDIO ? Yes Yes Yes Yes Yes Yes
bcm43xx 802.11b, 802.11g PCI, Mini PCI, PC card, Cardbus Yes Yes Yes Yes No ?
brcmfmac 802.11a, 802.11b, 802.11g, 802.11n USB, SDIO Yes Yes Yes No No No
brcmsmac 802.11a, 802.11b, 802.11g, 802.11n PCI, Mini PCI, PCI Express Mini Card Yes Yes Yes No Yes[23] Yes[24]
hostap 802.11b PCI, Mini PCI, PC card Yes Yes[25] Yes[25] Yes Yes Yes
ipw2100 802.11b Mini PCI Yes Yes ? Yes ? ?
ipw2200 802.11a, 802.11b, 802.11g Mini PCI Yes Yes Yes Yes No Yes
ipw2200-ap 802.11b, 802.11g Mini PCI ? ? ? Yes Yes ?
ipw3945 802.11a, 802.11b, 802.11g Mini PCI, PCI Express Mini Card Yes Yes Yes Yes No Yes
islsm ? PCI, USB No No No ? No ?
iwlwifi 802.11a, 802.11b, 802.11g Mini PCI, PCI Express Mini Card Yes Yes Yes Yes Experimental[26] Yes
iwlagn 802.11a, 802.11g, 802.11n Mini PCI, PCI Express Mini Card Yes Yes Yes Yes No Yes
libertas 802.11b, 802.11g USB, CF, SDIO ? ? ? ? No ?
MadWifi 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card Yes Yes Yes Yes Yes Yes some issues in HAL, outdoor sensitivity?[citation needed]
orinoco 802.11b Mini PCI, PC card Yes Yes[27] No Yes No Yes
p54 802.11b, 802.11g Mini PCI, Cardbus, USB Yes Yes Yes Yes Yes Yes
prism54 802.11b, 802.11g PCI Yes No ? Yes Yes ?
rndis_wlan 802.11b, 802.11g USB Yes Yes Yes No No Yes
rt2x00 802.11b, 802.11g PCI, Mini PCI, USB Yes Yes[28] Yes[29] Yes Yes[30] Yes
rtl8180 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card ? ? ? ? Yes ?
rtl-wifi 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card Yes Yes ? ? Yes ?
zd1201 802.11b USB Yes No[31] No[31] Yes Yes ?
zd1211 802.11a, 802.11b, 802.11g USB Yes Yes Yes Yes Yes ?
zd1211rw 802.11b, 802.11g USB Yes Yes Yes Yes Yes[32] Yes

DragonFly BSD[edit]

Driver Chipset Integration Non-free firmware required[3] License Original/Primary developer Development
acx Texas Instruments ACX100/ACX111 Integrated since 1.5 Yes BSD Reverse engineering
an Aironet 4500/4800 Integrated N/A BSD Bill Paul (FreeBSD)
ath Atheros AR5210/ AR5211/ AR5212/ AR5416 Integrated N/A 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 N/A BSD Damien Bergamini Ported from FreeBSD
rtw Realtek RTL8180L Integrated N/A BSD Ported from NetBSD
rum Ralink RT2501USB/ RT2601USB Integrated N/A BSD Damien Bergamini Ported from FreeBSD
wi Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-II, PRISM-2.5; Symbol Spectrum24 802.11B Integrated N/A BSD Bill Paul (FreeBSD) Documentation based
wpi Intel 3945ABG Integrated N/A BSD Damien Bergamini Ported from OpenBSD

FreeBSD[edit]

Driver Chipset Integration Non-free firmware required[3] 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 N/A BSD Bill Paul (FreeBSD)
arl Aironet Arlan 655 Integrated / Removed in 8.0 N/A 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 N/A 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
cnw Netwave AirSurfer Integrated / Removed in 8.0 N/A 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/ 6000/ 6250/ 6205a 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[33] BSD Sam Leffler (FreeBSD)  ?
ral Ralink Technology RT2500/ RT2501/ RT2600 Integrated N/A BSD Damien Bergamini (OpenBSD/ FreeBSD) Based on partial documentation
ray Raytheon Raylink/Webgear Aviator Integrated / Removed in 8.0 N/A BSD Imported from NetBSD
rum Ralink RT2501USB/ RT2601USB Integrated No[34] BSD Niall O'Higgins and Damien Bergamini Based on partial documentation
run Ralink RT2700U/ RT2800U/ RT3000U Integrated since 8.1 No[35] BSD Damien Bergamini (OpenBSD), Imported from OpenBSD by Akinori Furukoshi Based on partial documentation
uath Atheros AR5005UG/ AR5005UX Integrated since 8.0 Yes[36] 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 N/A BSD Damien Bergamini (OpenBSD/ FreeBSD) Based on partial documentation
urtw Realtek RTL8187L/ RTL8187B Integrated since 8.0 N/A[37] BSD Weongyo Jeong (FreeBSD)  ?
wi Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-2, PRISM-2.5, PRISM-3; Symbol Spectrum24 802.11B (Symbol support removed in 8.0) Integrated N/A 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

NetBSD[edit]

Driver Chipset Integration Free firmware[38] License Original/Primary developer Development methodologies Free software[39]
an Aironet 4500/4800, Cisco Aironet 340/350 Integrated N/A BSD Ported from FreeBSD Yes
ath Atheros AR521*/ AR2413/ AR2417/ AR5413/ AR5416/ AR5424/ AR9160 Integrated N/A BSD 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 Ported from OpenBSD Yes
atw ADMtek ADM8211 Integrated N/A BSD Yes
awi AMD PCnetMobile Integrated N/A BSD Yes
bwi Broadcom BCM430x/4318 Integrated N/A BSD 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
iwn Intel Wireless WiFi Link 4965/ 5000/ 1000/ 6000 Integrated No BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
iwn Marvell 88W8335/88W8310 Integrated No BSD Claudio Jeker (OpenBSD) Ported from OpenBSD Yes
ral Ralink RT2500/ RT2501/ RT2600/ RT2500USB Integrated N/A BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
ray Raytheon Raylink / WebGear Aviator Integrated N/A BSD Yes
rtw Realtek RTL8180L Integrated N/A BSD David Young Yes
run Ralink RT2700U, RT2800U and RT3000U Integrated N/A BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
run Ralink RT2700U, RT2800U and RT3000U Integrated N/A BSD Damien Bergamini (OpenBSD) Ported from OpenBSD Yes
urtwn Realtek Realtek RTL8188CU/RTL8188EU/RTL8192CU Integrated N/A BSD Damien Bergamini (OpenBSD) Ported from OpenBSD 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[edit]

(A full list of supported wireless devices may be obtained by searching OpenBSD's online manual pages, i.e. by typing apropos wireless in the console. For information on development methodologies, see Theo de Raadt's 2006 presentation on Open Documentation for Hardware.)

Driver Chipset Integration Non-free firmware required[3] License Original/Primary developer Development Free software[39]
acx Texas Instruments ACX100/ACX111 Integrated Yes[40] 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 No[4] BSD Reverse engineering Yes
athn Atheros AR5416/AR9160/AR928X Integrated (since 4.7) No[4] BSD Damien Bergamini Partly based on the ath9k driver for Linux Yes
atu Atmel AT76C503/ AT76C503A/ AT76C505/ AT76C505A Integrated Yes[41] BSD Reverse engineering Yes
atw ADMtek ADM8211 Integrated N/A BSD Documentation based Yes
bwi Broadcom BCM430x/4318 Integrated Yes BSD Sepherosa Ziehau Ported from DragonFly BSD Yes
cnw NetWave AirSurfer Integrated N/A BSD Yes
ipw Intel PRO/Wireless 2100 Integrated Yes[42] BSD Damien Bergamini Reverse engineering Yes
iwi Intel PRO/Wireless 2200BG/ 2225BG/ 2915ABG Integrated Yes[43] BSD Damien Bergamini Reverse engineering Yes
iwn Intel Wireless WiFi Link 4965/ 5000/ 1000/ 6000 Integrated Yes[44] BSD Damien Bergamini Reverse engineering Yes
malo Marvell 88W8335/ 88W8310 Integrated Yes[45] BSD Marcus Glocker and Claudio Jeker Reverse engineering[46] Yes
otus Atheros AR9170 Integrated (since 4.6) Yes[47] 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 Yes[48] BSD Ported from FreeBSD Reverse engineering[49] Yes
ral/ural Ralink RT2500, RT2501, RT2600, RT2700, and RT2800 (ral), RT2500USB (ural) Integrated No[50] BSD Damien Bergamini Based on partial documentation Yes
ray Raytheon Raylink/WebGear Aviator IEEE 802.11FH Integrated N/A BSD Yes
rsu Realtek RTL8188SU/RTL8191SU/RTL8192SU Integrated (since 4.9) Yes BSD Damien Bergamini Reverse engineering Yes
rtw Realtek RTL8180L Integrated N/A BSD Ported from NetBSD Documentation based Yes
rum Ralink RT2501USB/ RT2601USB Integrated No[34] BSD Niall O'Higgins and Damien Bergamini Based on partial documentation Yes
run Ralink RT2700U/ RT2800U/ RT3000U Integrated No[35] BSD Damien Bergamini Based on partial documentation Yes
uath Atheros AR5005UG/ AR5005UX Integrated Yes[51] BSD Damien Bergamini Reverse Engineering[49] Yes
upgt GW3887 (Conexant/Intersil PrismGT series) Integrated Yes[52] 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) Yes 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[53] and N/A for others BSD Bill Paul Documentation based Yes
wpi[54] Intel PRO/Wireless 3945ABG Integrated Yes[55] BSD Damien Bergamini Reverse engineering Yes
zyd ZyDAS ZD1211/ZD1211B Integrated Yes[56] BSD Florian Stoehr, Damien Bergamini and Jonathan Gray Documentation based Yes

Solaris and OpenSolaris[edit]

Driver Chipset Integration Free firmware[38] License Development Free software[39]
ath[57][58] Atheros AR5211/ AR5212/ AR5213/ AR5214 Integrated with Solaris Nevada build 29 No firmware required[4] 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 Atheros 9000 Community project No BSD based on ath9k Yes
rwd Ralink Ralink RT2561/RT2561S/RT2661 Community project No BSD Yes
rwn Ralink Ralink RT2700/2800 Community project No BSD Yes
urtw RealTek RealTek RTL8187L/B USB Community project No BSD Yes
atu Atmel Atmel AT76C50x Community project No BSD Yes
mwl Marvell Marvell 88W8363 Community project No BSD Yes
ural Ralink 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[edit]

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

Driver capabilities[edit]

FreeBSD[edit]

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

OpenBSD[edit]

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 Yes Yes Yes Yes No 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 PCI 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
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

Notes[edit]

  1. ^ "Marvel Libertas". 
  2. ^ "Ticket #46". 
  3. ^ a b c d 'N/A' means firmware is stored in device at all times
  4. ^ a b c d e The card doesn't have a host CPU and so it doesn't require a firmware source
  5. ^ http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5e3dd157d7e70f0e3cea3f2573ed69fb156a19d5 commit of ath10k to Kernel 3.11
  6. ^ 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]
  7. ^ The chipsets do require a free firmware
  8. ^ a b See openfwwf project for open-source firmware. This firmware lacks support for QoS and hardware cryptography.
  9. ^ http://kernelnewbies.org/Linux_3.11-DriversArch#head-55b108ef9d4cab96ff8a30e9906a6079628c49d3 Kernel Newbies 3.11 network driver documentation.
  10. ^ https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/LICENCE.cw1200 CW1200 Licence file at linux-firmware.
  11. ^ "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]
  12. ^ http://ipw2100.sourceforge.net/firmware.php?fid=2.  Missing or empty |title= (help)
  13. ^ "#46 (Eliminate dependency on licensed code in Marvell firmware.) – One Laptop Per Child – Trac". Dev.laptop.org. 2006-12-14. Retrieved 2013-07-12. 
  14. ^ https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/net/wireless/mwifiex/README
  15. ^ "orinoco - Linux Wireless". Wireless.kernel.org. Retrieved 2012-12-09. 
  16. ^ There is a Free software firmware called FreeMAC, but it's not yet ready for non developers use
  17. ^ see the license of the firmware to see which chipsets need a firmware
  18. ^ http://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
  19. ^ title=rtl8188eu http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=b63c05394f3fe9ae547e1fa9df30f1ba0bcdabb4 title=rtl8188eu.  Missing or empty |title= (help)
  20. ^ title=rtl8188eu header files http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6ddfa35a4a98d28f9506c1bb25c82927dff9eff2 title=rtl8188eu header files.  Missing or empty |title= (help)
  21. ^ http://e2e.ti.com/support/low_power_rf/f/307/p/324365/1130399.aspx#1130399
  22. ^ http://sourceforge.net/projects/zd1211/files/zd1211-firmware/ ZD1211 USB WLAN Linux Driver Firmware
  23. ^ http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=492b71e8d468102372969705b65845f5e57038c5 2013-03-27 brcmsmac: activate AP support
  24. ^ https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=c55b3766054d3db7a9732c6c8a1c81afac2cfaa6
  25. ^ a b Requires station firmware 1.7.4 or later.
  26. ^ http://wireless.kernel.org/en/users/Drivers/iwlwifi/?p=iwlwifi#Features
  27. ^ 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.
  28. ^ except for the rt2400 chipset; only the rt2500 chipset and the rt2570 chipset are supported
  29. ^ "one user reported that WPA2 works with rt61pci". My.opera.com. Retrieved 2012-12-09. 
  30. ^ http://linuxwireless.org/en/users/Drivers and also at least two users reported success with master mode [1] [2]
  31. ^ a b "Bug 5631 – zd1201 and wpa support". Bugzilla.kernel.org. Retrieved 2012-12-09. 
  32. ^ "Master mode supported in zd1211rw since 2.6.39". Git.kernel.org. Retrieved 2012-12-09. 
  33. ^ "[base] Contents of /head/sys/contrib/dev/mwl/LICENSE". Svn.freebsd.org. Retrieved 2012-12-09. 
  34. ^ a b rum-license. openbsd.org
  35. ^ a b "CVS log for src/sys/dev/usb/if_run.c". Openbsd.org. Retrieved 2012-12-09. 
  36. ^ "[base] Contents of /head/sys/contrib/dev/uath/ar5523.bin.uu". Svn.freebsd.org. Retrieved 2012-12-09. 
  37. ^ "[base] Contents of /head/sys/dev/usb/wlan/if_urtw.c". Svn.freebsd.org. Retrieved 2012-12-09. 
  38. ^ a b c '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
  39. ^ 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
  40. ^ "Manual Pages: acx". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  41. ^ "Manual Pages: atu". Openbsd.org. 2009-09-02. Retrieved 2012-12-09. 
  42. ^ "Manual Pages: ipw". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  43. ^ "Manual Pages: iwi". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  44. ^ "Manual Pages: iwn". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  45. ^ "Manual Pages: malo". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  46. ^ "Developer Blog – mglocker@: New WLAN drivers on the upswing". Undeadly.org. Retrieved 2012-12-09. 
  47. ^ "Manual Pages: otus(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  48. ^ "Manual Pages: pgt(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  49. ^ a b "OpenBSD reverse engineers more wireless drivers". Undeadly.org. 2004-04-02. Retrieved 2012-12-09. 
  50. ^ ral-license. openbsd.org
  51. ^ "Manual Pages: uath". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  52. ^ "Manual Pages: upgt(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  53. ^ symbol-license. openbsd.org
  54. ^ There is more details about the port at kerneltrap
  55. ^ "Manual Pages: wpi". Openbsd.org. 2012-09-17. Retrieved 2012-12-09. 
  56. ^ "CVS log for /src/sys/dev/microcode/zydas/Attic/zd1211-licence". Openbsd.org. Retrieved 2012-12-09. 
  57. ^ it's not the same driver that the OpenBSD ath driver it's a port from Madwifi to OpenSolaris
  58. ^ source, I don't know if the HAL can be replaced with OpenHAL
  59. ^ "Seattle Wireless WirelessDriver Support Wiki". Seattlewireless.net. 2010-08-15. Retrieved 2012-12-09. 

References[edit]

External links[edit]