Comparison of open source wireless drivers
From Wikipedia, the free encyclopedia
Wireless network cards for computers require control software to make them function (Device drivers). This is a list of the status of various Open Source drivers for 802.11 wireless network cards.
This is not a complete list of drivers. Please add sourced information if available
Contents |
[edit] Linux
Driver | Chipset | Integration in mainline | Non-free firmware required[1] | License | Development |
---|---|---|---|---|---|
acx100 | Texas Instruments ACX100, ACX111, TNETW1450 | No | Yes | Dual BSD/MPL | Reverse engineered |
airo | Cisco Systems Aironet 4500/4800 and 340/350 | Yes | ? | GPL | ? |
ath5k | Atheros AR5210, AR5211, AR5212 | Yes (since 2.6.25) | No[2] | Dual GPL/BSD | Reverse engineered |
MadWifi | Atheros AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413[3] | No | No[2] | Dual GPL/BSD with proprietary HAL[4] | Atheros supported |
atmel | Atmel at76c50x | Yes | Depends on the model | GPL | ? |
bcm43xx | Broadcom 43xx | Yes (since 2.6.17) | Yes | GPL | Reverse engineered |
HostAP | Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-II, PRISM-2.5,PRISM 3; Symbol Spectrum24 802.11B | Yes | No | GPL | |
orinoco | Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-II, PRISM-2.5; Symbol Spectrum24 802.11B | Yes | No | GPL | |
ipw2100 | Intel PRO/Wireless 2100 | Yes | Yes | GPL | Intel supported |
ipw2200 | Intel PRO/Wireless 2200BG/2915ABG | Yes | Yes | GPL | Intel supported |
ipw3945 | Intel PRO/Wireless 3945ABG | No | Yes | GPL with proprietary binary regulatory daemon | Intel supported |
iwlwifi | Intel PRO/Wireless 3945ABG and Wireless WiFi Link 4965AGN | Yes (since 2.6.24) | Yes | GPL | Intel supported |
libertas | Marvell 88W8388 | Yes | Yes[5] | GPL | |
prism54 | Intersil ISL38xx FullMAC | Yes | Yes[6] | GPL | |
islsm | Intersil ISL38xx SoftMAC | ? | Yes[6] | GPL | Reverse engineered |
rt2x00 | Most Ralink chipsets, excluding RT28** | Yes (since 2.6.24) | Depends on the model[7] | GPL | From partial documentation[8] and GPL drivers by Ralink |
rt2400 | Ralink RT2400 | No | No | GPL | Ralink supported |
rt2500 | Ralink RT2500 (PCI) | No | No[9] | GPL | Ralink supported |
rt2570 | Ralink RT2500USB (RT2570) | No | No | GPL | Ralink supported |
rt61 | Ralink RT2600 (RT2661), RT2501 (non-USB, RT2561) | No | Yes[10] | GPL | Ralink supported |
rt73 | Ralink RT2501USB (RT2571W)[11] | No | Yes | GPL | Ralink supported |
rtl8180 | Some Realtek RTL818x | No | No | GPL | Realtek supported |
zd1201 | ZyDAS ZD1201 | Yes | Yes | GPL | |
zd1211 | ZyDAS ZD1211/ZD1211B | No | Yes | GPL | written by ZyDAS |
zd1211rw | ZyDAS ZD1211/ZD1211B, Atheros AR5007UG | Yes (since 2.6.18) | Yes | GPL | ZyDAS supported |
[edit] DragonFly BSD
Driver | Chipset | Integration | Non-free firmware required[1] | License | Original/Primary developer | Development | Free software[12] |
---|---|---|---|---|---|---|---|
acx | Texas Instruments ACX100/ACX111 | Integrated since 1.5 | Yes | BSD | Reverse engineering | Yes | |
an | Aironet 4500/4800 | Integrated | N/A | BSD | Bill Paul (FreeBSD) | Yes | |
ath | Atheros AR5210/ AR5211/ AR5212 | Integrated | N/A | BSD with proprietary HAL | Binary blobs | No | |
bwi | Broadcom BCM430x/4318 | Integrated | Yes | BSD | Sepherosa Ziehau | Reverse engineering | Yes |
ipw | Intel PRO/Wireless 2100 | Integrated | Yes | BSD | Damien Bergamini (OpenBSD) | Reverse engineering | Yes |
iwi | Intel PRO/Wireless 2200BG/2915ABG | Integrated | Yes | BSD | Damien Bergamini (OpenBSD) | Reverse engineering | Yes |
wi | Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-II, PRISM-2.5; Symbol Spectrum24 802.11B | Integrated | N/A | BSD | Bill Paul (FreeBSD) | Documentation based | Yes |
rtw | Realtek RTL8180L | Integrated | N/A | BSD | Ported from NetBSD | Yes |
[edit] FreeBSD
Driver | Chipset | Integration | Non-free firmware required[1] | License | Original/Primary developer | Development | Free software[12] |
---|---|---|---|---|---|---|---|
acx | Texas Instruments ACX100/ACX111 | Separate project | Yes | BSD | Reverse engineering | Yes[13] | |
an | Aironet 4500/4800, Cisco Aironet 340/350, Xircom Wireless Ethernet | Integrated | N/A | BSD | Bill Paul (FreeBSD) | Yes | |
arl | Aironet Arlan 655 | Integrated | N/A | BSD | Yes | ||
ath | Atheros AR5210/ AR5211/ AR5212 | Integrated | N/A | BSD with proprietary HAL | Supported by Atheros via Sam Leffler (FreeBSD) | Binary blob as with MadWiFi | No |
awi | AMD PCnetMobile | Integrated | N/A | BSD | Bill Sommerfeld (NetBSD) and Atsushi Onoe (NetBSD) | Yes | |
cnw | Netwave AirSurfer | Integrated | N/A | BSD | Imported from NetBSD | Yes | |
ipw | Intel PRO/Wireless 2100 | Integrated | Yes | BSD | Damien Bergamini (OpenBSD/ FreeBSD) | Reverse engineering | Yes |
iwi | Intel PRO/Wireless 2200BG/ 2225BG/ 2915ABG | Integrated | Yes | BSD | Damien Bergamini (OpenBSD/ FreeBSD) | Reverse engineering | Yes |
iwn | Intel PRO/Wireless 4965 ABGN | Still In development | Yes | BSD | Damien Bergamini, Benjamin Close, Sam Leffler (OpenBSD/ FreeBSD) | Reverse engineering | Yes |
wpi | Intel PRO/Wireless 3945ABG | Integrated | Yes | BSD | Damien Bergamini, Benjamin Close | Reverse engineering | Yes |
ral | Ralink Technology RT2500 | Integrated | N/A | BSD | Damien Bergamini (OpenBSD/ FreeBSD) | Based on partial documentation[8] | Yes |
rum | Ralink RT2501USB/ RT2601USB | Integrated | No[14] | BSD | Niall O'Higgins and Damien Bergamini | Based on partial documentation[8] | Yes |
ural | Ralink Technology RT2500USB | Integrated | N/A | BSD | Damien Bergamini (OpenBSD/ FreeBSD) | Based on partial documentation[8] | Yes |
ray | Raytheon Raylink/Webgear Aviator | Integrated | N/A | BSD | Imported from NetBSD | Yes | |
wi | Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-2, PRISM-2.5, PRISM-3; Symbol Spectrum24 802.11B | Integrated | N/A | BSD | Bill Paul (FreeBSD) | Documentation based | Yes |
zyd | ZyDAS ZD1211/ZD1211B | Integrated | No | BSD | Florian Stoehr, Damien Bergamini and Jonathan Gray (OpenBSD) | Documentation based | Yes |
[edit] NetBSD
Unless otherwise noted, these drivers are included in NetBSD 3.0.
Driver | Chipset | Integration | Free firmware[15] | License | Original/Primary developer | Development methodologies | Free software[12] |
---|---|---|---|---|---|---|---|
an | Aironet 4500/4800, Cisco Aironet 340/350 | Integrated | N/A | BSD | Ported from FreeBSD | Yes | |
ath | Atheros AR5210/ AR5211/ AR5212 | Integrated | N/A | BSD with proprietary HAL | Binary blobs ported from FreeBSD | No | |
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 | ||
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 |
ral | Ralink RT2500/ RT2501/ RT2600/ RT2500USB | Integrated in -current only | 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 | |
wi | Lucent Hermes (WaveLAN/ORiNOCO), Intersil PRISM II | Integrated | N/A | BSD | Ported from FreeBSD | Yes | |
wpi | Intel PRO/Wireless 3945ABG | Integrated in -current only | No | BSD | Damien Bergamini (OpenBSD) | Ported from OpenBSD | Yes |
[edit] 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.)
Driver | Chipset | Integration | Non-free firmware required[1] | License | Original/Primary developer | Development | Free software[12] |
---|---|---|---|---|---|---|---|
acx | Texas Instruments ACX100/ACX111 | Integrated | Yes[16] | BSD | Marcus Glocker and Claudio Jeker | Reverse engineering | Yes |
an | Aironet 4500/4800, Cisco Aironet 340/350 | Integrated | N/A | BSD | Yes | ||
ath | Atheros AR5210/ AR5211/ AR5212 | Integrated | No[2] | BSD | Reverse engineering | Yes | |
atu | Atmel AT76C503/ AT76C503A/ AT76C505/ AT76C505A | Integrated | Yes[17] | BSD | Reverse engineering | Yes | |
atw | ADMtek ADM8211 | Integrated | N/A | BSD | Documentation based | Yes | |
awi | BayStack 650 | Integrated | N/A | BSD | 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[18] | BSD | Damien Bergamini | Reverse engineering | Yes |
iwi | Intel PRO/Wireless 2200BG/ 2225BG/ 2915ABG | Integrated | Yes[19] | BSD | Damien Bergamini | Reverse engineering | Yes |
iwn | Intel Wireless WiFi Link 4965AGN | Integrated | Yes[20] | BSD | Damien Bergamini | Reverse engineering | Yes |
malo | Marvell 88W8335/ 88W8310 | Integrated | Yes[21] | BSD | Marcus Glocker and Claudio Jeker | Reverse engineering [22] | Yes |
pgt | Conexant/Intersil Prism GT Full-MAC ISL3877, ISL3880, and ISL3890 chips | Integrated | Yes[23] | BSD | Marcus Glocker and Claudio Jeker | Reverse engineering[24] | Yes |
ral/ural | Ralink RT2500, RT2501, RT2600 and RT2800 (ral), RT2500USB (ural) | Integrated | No[25] | BSD | Damien Bergamini | Based on partial documentation[8] | Yes |
ray | Raytheon Raylink/WebGear Aviator IEEE 802.11FH | Integrated | N/A | BSD | Yes | ||
rtw | Realtek RTL8180L | Integrated | N/A | BSD | Ported from NetBSD | Documentation based | Yes |
rum | Ralink RT2501USB/ RT2601USB | Integrated | No[14] | BSD | Niall O'Higgins and Damien Bergamini | Based on partial documentation[8] | Yes |
uath | Atheros AR5005UG/ AR5005UX | Integrated | Yes[26] | BSD | Damien Bergamini | Reverse Engineering[24] | Yes |
upgt | GW3887 (Conexant/Intersil PrismGT series) | Integrated | Yes[27] | BSD | Marcus Glocker | Reverse engineering | Yes |
wi | Lucent Hermes (WaveLAN/ ORiNOCO); Intersil PRISM-2, PRISM-2.5, PRISM-3; Symbol Spectrum24 | Integrated | Yes for Spectrum24 [28] and N/A for others | BSD | Bill Paul | Documentation based | Yes |
wpi[29] | Intel PRO/Wireless 3945ABG | Integrated | Yes[30] | BSD | Damien Bergamini | Reverse engineering | Yes |
zyd | ZyDAS ZD1211/ZD1211B | Integrated | Yes[31] | BSD | Florian Stoehr, Damien Bergamini and Jonathan Gray | Documentation based | Yes |
[edit] Solaris and OpenSolaris
Driver | Chipset | Integration | Free firmware[15] | License | Development | Free software[12] |
---|---|---|---|---|---|---|
ath[32][33] | Atheros AR5211/ AR5212/ AR5213/ AR5214 | Integrated with Solaris Nevada build 29 | No firmware required[2] | 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 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 |
ZYD | ZyDAS ZD1211 chipsets | Community project | Yes | BSD | Ported from OpenBSD | Yes |
[edit] Darwin, OpenDarwin and Mac OS X
Driver | Chipset | Free firmware[15] | License | Development | Free software[12] |
---|---|---|---|---|---|
IWIDarwin | Intel PRO/Wireless 2100/2200BG/2225BG/2915ABG/3945ABG/4965AGN | No | GPL | Port from Linux | Yes |
WirelessDriver[34] | Lucent/Agere Hermes (WaveLAN/ORiNOCO), Intersil PRISM-2 802.11b | N/A | BSD | Yes | |
GTdriver | PRISM-GT 802.11b/g | N/A | GPL | Yes |
[edit] Driver capabilities
[edit] Linux
[edit] OpenBSD
Driver | 802.11 | Bus interface | WEP | WPA | WPA2 | Monitor mode | Master mode | Ad-Hoc mode |
---|---|---|---|---|---|---|---|---|
ath | 802.11a, 802.11b, 802.11g | ? | Yes | No[36] | No[36] | Yes | Yes | ? |
ral,ural | 802.11b, 802.11g | PCI, Mini PCI, USB | Yes | No[36] | No[36] | Yes | Yes | ? |
[edit] Notes
- ^ a b c d 'N/A' means firmware is stored in device at all times
- ^ a b c d The card doesn't have a host CPU and so it doesn't require a firmware source
- ^ A dmesg in ubunru Edgy eft gives the following:[17180163.584000] ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
- ^ The proprietary HAL can be replaced by a port of the OpenHAL(from the BSD ath driver) to Linux
- ^ #46 (Eliminate dependency on licensed code in Marvell firmware.) – One Laptop Per Child – Trac
- ^ a b 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
- ^ a b c d e f According to a private e-mail exchange with Damien Bergamini, BSD developers got access to documentation for MAC chips without a NDA, but their Ralink contact told them not to redistribute that documentation. They got no documentation for the radio chips. User:Chealer
- ^ the sources are here
- ^ this thread on rt2x00 forums explains where to install the firmware files for the rt61 driver
- ^ According to Ivo van Doorn, there is probably no such chip as "RT2573": http://rt2x00.serialmonkey.com/phpBB2/viewtopic.php?p=23045
- ^ a b c d e f 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
- ^ acx(4) for FreeBSD uses a 4-clause BSD licence, which requires that all advertising materials mentioning it give credit for it; the Free Software Foundation says this makes it incompatible with the GPL [1]
- ^ a b http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/dev/microcode/rum/rum-license
- ^ 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
- ^ Manual Pages: acx
- ^ Manual Pages: atu
- ^ Manual Pages: ipw
- ^ Manual Pages: iwi
- ^ Manual Pages: iwn
- ^ Manual Pages: malo
- ^ Developer Blog - mglocker@: New WLAN drivers on the upswing
- ^ Manual Pages: pgt(4)
- ^ a b OpenBSD reverse engineers more wireless drivers
- ^ http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/dev/microcode/ral/ral-license
- ^ Manual Pages: uath
- ^ Manual Pages: upgt(4)
- ^ http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/dev/microcode/symbol/symbol-license
- ^ There is more details about the port at kerneltrap
- ^ Manual Pages: wpi
- ^ CVS log for /src/sys/dev/microcode/zydas/Attic/zd1211-licence
- ^ 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
- ^ except for the rt2400 chipset; only the rt2500 chipset and the rt2570 chipset are supported
- ^ a b c d support for WPA is in -current and will likely be included in the 4.4 future relase...see here for more details
[edit] 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
- http://lkml.org/lkml/2007/2/9/323