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

Driver 802.11 Bus interface WEP WPA WPA2 Monitor mode Master mode Ad-Hoc mode
acx1xx 802.11b, 802.11g PCI, Mini PCI, PC card, USB Yes No No Yes Yes  ?
adm8211  ? PCI  ?  ?  ?  ? No  ?
rtl8180 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card  ?  ?  ?  ? Yes  ?
libertas 802.11b, 802.11g USB, CF  ?  ?  ?  ? No  ?
b43 802.11b, 802.11g  ?  ?  ?  ? Yes No
p54 802.11b, 802.11g  ?  ?  ?  ?  ?  ?
hostap 802.11b Mini PCI, PC card Yes Yes Yes Yes Yes Yes
orinoco 802.11b Mini PCI, PC card Yes  ?  ? Yes No Yes
MadWifi 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card Yes Yes Yes Yes Yes Yes some issues in HAL, outdoor sensitivity?
ath5k 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card  ?  ?  ?  ? No No Work in progess
bcm43xx 802.11b, 802.11g PCI, Mini PCI, PC card, Cardbus Yes Yes Yes Yes No  ?
ipw2100 802.11b Mini PCI Yes Yes  ? Yes  ?  ?
ipw2200 802.11a, 802.11b, 802.11g Mini PCI Yes Yes Yes Yes No  ?
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  ?
iwlwifi 802.11a, 802.11b, 802.11g Mini PCI, PCI Express Mini Card Yes Yes Yes Yes No  ?
Prism54 802.11b, 802.11g PCI Yes No  ? Yes Yes  ?
islsm  ? PCI, USB No No No  ? No  ?
rt2x00 802.11b, 802.11g PCI, Mini PCI, USB Yes Yes [35]  ? Yes No  ?
Zd1211rw 802.11b, 802.11g USB Yes Yes Yes Yes No  ?
Zd1211 802.11a, 802.11b, 802.11g USB Yes Yes Yes Yes Yes  ?

[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

  1. ^ a b c d 'N/A' means firmware is stored in device at all times
  2. ^ a b c d The card doesn't have a host CPU and so it doesn't require a firmware source
  3. ^ A dmesg in ubunru Edgy eft gives the following:[17180163.584000] ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
  4. ^ The proprietary HAL can be replaced by a port of the OpenHAL(from the BSD ath driver) to Linux
  5. ^ #46 (Eliminate dependency on licensed code in Marvell firmware.) – One Laptop Per Child – Trac
  6. ^ a b There is a Free software firmware called FreeMAC,but it's not yet ready for non developers use
  7. ^ see the license of the firmware to see which chipsets need a firmware
  8. ^ the sources are here
  9. ^ this thread on rt2x00 forums explains where to install the firmware files for the rt61 driver
  10. ^ According to Ivo van Doorn, there is probably no such chip as "RT2573": http://rt2x00.serialmonkey.com/phpBB2/viewtopic.php?p=23045
  11. ^ 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
  12. ^ 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]
  13. ^ a b http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/dev/microcode/rum/rum-license
  14. ^ 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
  15. ^ Manual Pages: acx
  16. ^ Manual Pages: atu
  17. ^ Manual Pages: ipw
  18. ^ Manual Pages: iwi
  19. ^ Manual Pages: iwn
  20. ^ Manual Pages: malo
  21. ^ Developer Blog - mglocker@: New WLAN drivers on the upswing
  22. ^ Manual Pages: pgt(4)
  23. ^ a b OpenBSD reverse engineers more wireless drivers
  24. ^ http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/dev/microcode/ral/ral-license
  25. ^ Manual Pages: uath
  26. ^ Manual Pages: upgt(4)
  27. ^ http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/dev/microcode/symbol/symbol-license
  28. ^ There is more details about the port at kerneltrap
  29. ^ Manual Pages: wpi
  30. ^ CVS log for /src/sys/dev/microcode/zydas/Attic/zd1211-licence
  31. ^ it's not the same driver that the OpenBSD ath driver it's a port from Madwifi to OpenSolaris
  32. ^ source, I don't know if the HAL can be replaced with OpenHAL
  33. ^ Seattle Wireless WirelessDriver Support Wiki
  34. ^ except for the rt2400 chipset; only the rt2500 chipset and the rt2570 chipset are supported
  35. ^ 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

[edit] External links