Comparison of open-source wireless drivers
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.
Linux
- Please see wireless.kernel.org Wiki and
- Current Stable Linux kernel: Wireless
Status
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 | 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[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 | |
ath9k_htc | Qualcomm Atheros AR9271, AR7010 (USB-PCIe bridge with AR928x chips) | Yes (since 2.6.35)[5][6] | No[7] | ISC | Written by Qualcomm Atheros | |
ath10k | Qualcomm Atheros chips with IEEE 802.11ac support | Yes (since 3.11)[8] | Yes[9] | ISC | Written by Qualcomm Atheros | |
carl9170 | Qualcomm Atheros AR9170 (802.11n USB) | Yes (since 3.0) | No[10] | 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[11] | GPL | Reverse-engineered |
b43legacy | b43legacy | Broadcom 4301, 4303, and 4306 revisions 1 and 2 | Yes (since 2.6.24) | Experimental OSS firmware[11] | 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)[12] | Yes[13] | GPLv2 | ? |
hostap | HostAP | Intersil PRISM-II, PRISM-2.5, PRISM 3 | Yes | Depends on the model[14] | GPLv2 | |
ipw2x00 | ipw2x00 | Intel PRO/Wireless 2100 and 2200 Network Connection 802.11b | Yes | Yes[15] | 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[16] | 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[17] | 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[18] | ||
p54 | p54 | Yes | Yes[19] | |||
prism54 | prism54 | Yes | Reverse-engineered; obsoleted by p54. | |||
rt2x00 | rt2400pci | MediaTek (Ralink) RT2460 | Yes (since 2.6.24) | No[20] | 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)[21] | 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[22][23]) | 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[24]) | 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[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.
- AP mode
- Monitor mode
- IEEE 802.11s
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? |
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[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
Status
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 |
bwn | Broadcom BCM43xx/4318 v4 firmware | Integrated since 8.1 | Yes | BSD | Weongyo Jeong | ? |
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 | 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 | 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 | |
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 | N/A | BSD | Damien Bergamini (OpenBSD/ FreeBSD) | Based on partial documentation |
urtw | Realtek RTL8187L/ RTL8187B | Integrated since 8.0 | N/A[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 | 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 |
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[41] |
---|---|---|---|---|---|---|---|
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
(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.)
Status
Driver | Chipset | Integration | Free firmware[40] | License | Original/Primary developer | Development | Free software[41] |
---|---|---|---|---|---|---|---|
acx | Texas Instruments ACX100/ACX111 | Integrated | No[42] | 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[4] | 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[43] | 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 | Integrated | N/A | BSD | Yes | ||
ipw | Intel PRO/Wireless 2100 | Integrated | No[44] | BSD | Damien Bergamini | Reverse engineering | Yes |
iwi | Intel PRO/Wireless 2200BG/ 2225BG/ 2915ABG | Integrated | No[45] | BSD | Damien Bergamini | Reverse engineering | Yes |
iwn | Intel Wireless WiFi Link 4965/ 5000/ 1000/ 6000 | Integrated | No[46] | BSD | Damien Bergamini | Reverse engineering | Yes |
iwm | Intel Wireless WiFi Link 3160ac/ 7260ac/ 7265ac | Integrated (since 5.8) | No[47] | BSD | Damien Bergamini | Reverse engineering | Yes |
malo | Marvell 88W8335/ 88W8310 | Integrated | No[48] | BSD | Marcus Glocker and Claudio Jeker | Reverse engineering[49] | Yes |
otus | Atheros AR9170 | Integrated (since 4.6) | No[50] | 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[51] | BSD | Ported from FreeBSD | Reverse engineering[52] | Yes |
ral/ural | Ralink RT2500, RT2501, RT2600, RT2700, RT2800 and RT3090 (ral), RT2500USB (ural) | Integrated | Yes[53] | 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 |
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[54] | BSD | Damien Bergamini | Reverse Engineering[52] | Yes |
upgt | GW3887 (Conexant/Intersil PrismGT series) | Integrated | No[55] | 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[56] and N/A for others | BSD | Bill Paul | Documentation based | Yes |
wpi[57] | Intel PRO/Wireless 3945ABG | Integrated | No[58] | BSD | Damien Bergamini | Reverse engineering | Yes |
zyd | ZyDAS ZD1211/ZD1211B | Integrated | Yes[59] | 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 | 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 |
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[41] |
---|---|---|---|---|---|---|
ath[60][61] | 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 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[62] | Lucent/Agere Systems Hermes (WaveLAN/ORiNOCO), Intersil PRISM-2 802.11b | N/A | BSD | |
GTdriver | PRISM-GT 802.11b/g | N/A | GPL |
Notes
- ↑ "Marvel Libertas".
- ↑ "Ticket #46".
- 1 2 3 'N/A' means firmware is stored in device at all times
- 1 2 3 4 The card doesn't have a host CPU and so it doesn't require a firmware source
- ↑ "ath9k_htc". debian.org. Retrieved 1 May 2015.
- ↑ https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fb9987d0f748c983bb795a86f47522313f701a08 commit of ath10k to kernel 2.6.35
- ↑ "qca/open-ath9k-htc-firmware". GitHub. Retrieved 1 May 2015.
- ↑ http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5e3dd157d7e70f0e3cea3f2573ed69fb156a19d5 commit of ath10k to Kernel 3.11
- ↑ 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 )
- ↑ "en:users:drivers:carl9170 [Linux Wireless]". kernel.org. Retrieved 1 May 2015.
- 1 2 See openfwwf project for open-source firmware. This firmware lacks support for QoS and hardware cryptography.
- ↑ http://kernelnewbies.org/Linux_3.11-DriversArch#head-55b108ef9d4cab96ff8a30e9906a6079628c49d3 Kernel Newbies 3.11 network driver documentation.
- ↑ https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/LICENCE.cw1200 CW1200 Licence file at linux-firmware.
- ↑ "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
- ↑ "Intel® PRO/Wireless 2100 Driver Firmware". sourceforge.net. Retrieved 1 May 2015.
- ↑ "#46 (Eliminate dependency on licensed code in Marvell firmware.) – One Laptop Per Child – Trac". Dev.laptop.org. 2006-12-14. Retrieved 2013-07-12.
- ↑ "kernel/git/stable/linux-stable.git - Linux kernel stable tree". kernel.org. Retrieved 1 May 2015.
- ↑ "orinoco - Linux Wireless". Wireless.kernel.org. Retrieved 2012-12-09.
- ↑ There is a Free software firmware called FreeMAC, but it's not yet ready for non developers use
- ↑ see the license of the firmware to see which chipsets need a firmware
- ↑ 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
- ↑ "rtl8188eu".
- ↑ "rtl8188eu header files".
- ↑ "Configuring WL1271 for a 3.13 kernel (devicetree) - WiLink™ WiFi + Bluetooth Forum - Wireless Connectivity - TI E2E Community". ti.com. Retrieved 1 May 2015.
- ↑ http://sourceforge.net/projects/zd1211/files/zd1211-firmware/ ZD1211 USB WLAN Linux Driver Firmware
- ↑ http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=492b71e8d468102372969705b65845f5e57038c5 2013-03-27 brcmsmac: activate AP support
- ↑ "kernel/git/next/linux-next.git - The linux-next integration testing tree". kernel.org. Retrieved 1 May 2015.
- 1 2 Requires station firmware 1.7.4 or later.
- ↑ "en:users:drivers:iwlwifi [Linux Wireless]". kernel.org. Retrieved 1 May 2015.
- ↑ 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.
- ↑ except for the rt2400 chipset; only the rt2500 chipset and the rt2570 chipset are supported
- ↑ "one user reported that WPA2 works with rt61pci". My.opera.com. Retrieved 2012-12-09.
- ↑ http://linuxwireless.org/en/users/Drivers and also at least two users reported success with master mode
- 1 2 "Bug 5631 – zd1201 and wpa support". Bugzilla.kernel.org. Retrieved 2012-12-09.
- ↑ "Master mode supported in zd1211rw since 2.6.39". Git.kernel.org. Retrieved 2012-12-09.
- ↑ "[base] Contents of /head/sys/contrib/dev/mwl/LICENSE". Svn.freebsd.org. Retrieved 2012-12-09.
- 1 2 3 4 "rum-license (covers rum-rt2573 for rum(4), as well as run-rt2870 and run-rt3071 for run(4))". BSD Cross Reference, OpenBSD.
- ↑ "[base] Contents of /head/sys/contrib/dev/uath/ar5523.bin.uu". Svn.freebsd.org. Retrieved 2012-12-09.
- ↑ "[base] Contents of /head/sys/dev/usb/wlan/if_urtw.c". Svn.freebsd.org. Retrieved 2012-12-09.
- 1 2 3 4 'N/A' means firmware is stored in device at all times, 'yes' means firmware is available for totally free redistribution, 'no' means you have to get into non-free-software contract with the manufacturer to get access to the firmware
- 1 2 3 in terms of no binary-only requirements that are posed by the driver, i.e. you can modify all code that is run on your CPU
- ↑ "Manual Pages: acx". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- ↑ "atu-license". BSD Cross Reference, OpenBSD.
- ↑ "Manual Pages: ipw". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- ↑ "Manual Pages: iwi". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- ↑ "Manual Pages: iwn". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- ↑ "Manual Pages: iwm". Openbsd.org.
- ↑ "Manual Pages: malo". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- ↑ "Developer Blog – mglocker@: New WLAN drivers on the upswing". Undeadly.org. Retrieved 2012-12-09.
- ↑ "Manual Pages: otus(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- ↑ "Manual Pages: pgt(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- 1 2 "OpenBSD reverse engineers more wireless drivers". Undeadly.org. 2004-04-02. Retrieved 2012-12-09.
- ↑ "ral-license". BSD Cross Reference, OpenBSD.
- ↑ "Manual Pages: uath". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- ↑ "Manual Pages: upgt(4)". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- ↑ "symbol-license". BSD Cross Reference, OpenBSD.
- ↑ There is more details about the port at kerneltrap
- ↑ "Manual Pages: wpi". Openbsd.org. 2012-09-17. Retrieved 2012-12-09.
- ↑ "zd1211-licence". BSD Cross Reference, OpenBSD.
- ↑ it's not the same driver that the OpenBSD ath driver it's a port from Madwifi to OpenSolaris
- ↑ source, I don't know if the HAL can be replaced with OpenHAL
- ↑ "Seattle Wireless WirelessDriver Support Wiki". Seattlewireless.net. 2010-08-15. Retrieved 2012-12-09.
References
- http://support.intel.com/support/notebook/sb/CS-006408.htm
- The Sourceforge IPW websites (ipw 2100,ipw2200 and ipw3945)
- The FSF website for the Ralink and Realtek cards
- Kerneltrap for the list of OpenBSD drivers
- The OpenSolaris website for the list of OpenSolaris and Solaris drivers
- http://rt2x00.serialmonkey.com/phpBB2/viewtopic.php?t=2084
- http://rt2x00.serialmonkey.com/wiki/index.php/Rt2x00_beta
- http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wireless.html
- rt2x00 README from cvs
- https://lkml.org/lkml/2007/2/9/323
External links
- Seattle Wireless Linux drivers
- Seattle Wireless Mac OS drivers