This is an old revision of the document!
See compatibility_drivers for updated information.
This section deals with a three related areas:
There are two manufacturers involved with wireless cards. The first is the brand of the card itself. Examples of card manufacturers are Netgear, Ubiquiti , Linksys and D-Link. There are many, many manufacturers beyond the examples give here.
The second manufacturer is who makes the wireless chipset within the card. This is the most important company to know. Unfortunately, it is sometimes the hardest to determine. This is because card manufacturers generally don't want to reveal what they use inside their card. However, for our purposes, it is critical to know the wireless chipset manufacturer. Knowing the wireless chipset manufacturer allows you to determine which operating systems are supported, software drivers you need and what limitations are associated with them. The compatibility section describes the operating systems supported and limitations by chipset.
You first need to determine what wireless chipset your card uses. This can be done by one or more of these techniques:
Here are some other resources to assist you in determine what chipset you have:
|Chipset||Supported by airodump for Windows||Supported by airodump for Linux||Supported by aireplay for Linux|
PCI: NO (see CommView)
|PCI, PCI-E: YES|
|New mac80211 Atheros drivers have native injection and monitoring support|
|Atmel||UNTESTED||802.11b YES |
|Broadcom bcm43xx||Old models only (BRCM driver)||YES||MOSTLY (Forum thread) No fragmentation attack support. Recommend to use b43, see below.|
|Broadcom b43||NO||Yes (1.0-beta2 and up, check here)||Yes, check here|
(ipw2100 driver doesn't discard corrupted packets)
|Centrino b/g||NO||YES||NO (firmware drops most packets) ipw2200inject No fragmentation attack support.|
|Centrino a/b/g||NO||YES||YES (use ipwraw or iwl3945)|
|Centrino a/g/n (4965)||NO||YES||MOSTLY, see iwlagn. Fakeauth is currently broken.|
|Centrino a/g/n (5xxx)||NO||YES||YES|
|Cisco Aironet||YES?||Yes, but very problematic||NO (firmware issue)|
|Hermes I||YES||Only with airodump not airodump-ng and only with a specific firmware||NO (firmware corrupts the MAC header)|
|Prism2/3||NO||old kernels only ⇐2.6.20||YES (PCI and CardBus only: driver patching required) NOTE: Prism2/3 does not support shared key authentication and the fragmentation attack. There is a critical bug and this chipset is not currently recommended. It may even affect other kernel versions. Also you must use old kernel ⇐2.6.20
USB: Only old kernel ⇐2.6.20 with linux-wlan-ng
|PrismGT FullMAC||YES||YES||YES (driver patching recommended)|
|PrismGT SoftMAC||YES||YES (requires p54 >=2.6.30)||YES (requires p54 >=2.6.30)|
|Ralink||NO||YES||YES, see rt2x00, rt2500, rt2570, rt61 and rt73. Also see Ralink chipset comments later on this pager for important concerns.|
|RTL8180||YES||YES||UNSTABLE (driver patching required)|
|RTL8185||NO||YES||YES (mac80211 driver untested)|
|RTL8187B/RTL8197||NO||YES||YES (2.6.27+, use the mac80211 driver with this patch)|
|RTL8187L||UNTESTED||YES (driver patching required to view power levels)||YES (driver patching recommended for injection and required to view power levels)|
|NO||YES||YES (driver patching required) No fragmentation attack support. Please re-test fragmentation with the mac80211 driver + mac80211 frag patch!|
|ZyDAS 1201||NO||YES||Partially but NOT RECOMMENDED (See patch for details)|
|ZyDAS 1211(B) softmac||NO||YES||Partially but NOT RECOMMENDED (See patch for details). Atheros has acquired Zydas and renamed this chipset to AR5007UG.|
|ZyDAS 1211(B) mac80211||NO||YES (patching recommended)||YES, but no fragmentation attack support yet.|
|Other mac80211 (ADMtek…)||NO||UNTESTED, but likely YES||UNTESTED (YES for drivers with AP mode support)|
|Other legacy (Marvel…)||NO||UNKNOWN||NO|
Once you have determined the chipset, check the driver section for which software driver you need. Software drivers connect the operating system to the hardware. The drivers are different for each operating system. There are also notes regarding limitations.
If you are deciding on which card to purchase, check the “Which is the best card to buy?” section on this page. There are many considerations that should go into your purchase decision:
It is not an easy decision to make. By considering these factors, it will help you make a more informed decision on what to purchase.
|Chipset||Windows driver (monitor mode)||Linux Drivers||Note|
|Atheros|| v4.2 or v18.104.22.168 or AR5000 |
(see this page for more information)
|Madwifi, ath5k ath9k, ath9k_htc and ar9170/carl9170||Atheros and Zydas USB 802.11n cards. The rest of atheros chipsets excluding the ones mentioned and MIMO series as well as fullMAC (these are rare, only found in embedded devices) should be supported.|
|Atheros||ath6kl||Third generation Atheros driver for mobile devices (AR6003)
Currently does not support injection
|Atmel||Atmel AT76c503a||AT76C503/505A based USB WLAN adapters|
|Atmel||Atmel AT76 USB||AT76C503/505A based USB WLAN adapters, mac80211 driver|
|Broadcom||Broadcom peek driver||bcm43xx||Windows: Old models only
Linux: always use latest -rc kernel
|Broadcom with b43 driver||b43||b43 - An excellent and fully supported driver|
|Broadcom 802.11n||brcm80211||FOSS wireless driver for BCM4313, BCM43224, BCM43225 chipsets
Currently does not support monitor/injection
|Centrino b||ipw2100||802.11b only|
|Centrino b/g||ipw2200||See IPW2200 and RF-Mon. See more recent update info here See this thread for how to do injection.|
|Centrino a/b/g|| ipw2915|
|ipw2915 uses ipw2200 driver (See this thread for alpha injection support.) For ipw3945 you can use the ipwraw-ng driver, iwl3945 recommended on >=2.6.26, or see Live Distros for WifiWay which includes patches for injection.|
|Centrino a/g/n||iwlwifi||4965AGN under development.|
|Cisco/Aironet||Cisco PCX500/PCX504 peek driver||airo-linux||4500/4800/340/350 series, Firmware 4.25.30 recommended (see this for more info)|
|Hermes I||Agere peek driver|| Orinoco|
Orinoco Monitor Mode Patch
|802.11b only and only with specific firmware (7.52)|
|Ndiswrapper||N/A||ndiswrapper||Using windows drivers in linux. It will never work with aircrack-ng|
|cx3110x||Supports monitor mode (flaky) but not injection|
|prism2/2.5||LinkFerret or aerosol|| HostAP|
|Use STA firmware >=1.5.6 (see Prism2 flashing)802.11b only, and only on old kernels ⇐2.6.20. See this forum entry regarding windows support.|
|prismGT||PrismGT by 500brabus||prism54||only FullMAC cards works with aircrack on Linux. Deprecated driver, refer to p54.|
|prismGT (alternative)||p54||mac80211 based, requires >=2.6.30 for better softMAC support. Also supports PrismGT FullMAC and PrismGT USB based chipsets.|
|Ralink|| rt2x00 or|
RaLink RT2570USB Enhanced Driver or
RaLink RT73 USB Enhanced Driver
|The entire rt2x00 family: rt2400pci, rt2500pci, rt2500usb, rt2800pci and rt2800usb can inject and monitor. Including PCI and USB chips on b/g/n.|
|Realtek 8180||Realtek peek driver||rtl8180-sa2400||802.11b only|
|Realtek 8187L|| r8187|
|Realtek 8187B||rtl8187 (2.6.27+) or r8187b (beta)|
|ZyDAS 1201||zd1201||802.11b only|
|ZyDAS 1211||zd1211rw plus patch||Excellent USB chip with reliable aircrack-ng and general support|
One of the best chipsets nowadays is Atheros. It is very well supported under Linux, and also under Windows. The latest madwifi-ng patch makes it possible to inject raw 802.11 packets in either in Managed and Monitor mode at arbitrary b/g speeds.
The madwifi-ng compatability list is an excellent way to determine if a card is compatible with the aircrack-ng suite.
The madwifi-ng driver is used for the atheros chipsets. This driver does not support any USB atheros devices. However, Atheros acquired Zydas which makes USB chipsets (zd1211 and zd1211b). Atheros has renamed this chipset to AR5007UG. The AR5007UG chipset is NOT supported by the madwifi-ng driver, but it is recommended, because its one of the cheapest chips (about 5, 6$ on eBay) supported by aircrack-ng and offers reliable and stable operation for wireless connectivity. Starting with 2.6.24, AR5007UG(zd1211/zd1211b) can be used with zd1211rw. Madwifi-ng is deprecated and now most supported cards by madwifi-ng should be supported by ath5k or ath9k.
Another USB chipset, AR9170, which covers Atheros and Zydas chipsets (zd1221) also provides aircrack-ng support with a mac80211 driver called carl9170. So does the ath9_htc for USB chips: AR9271 and AR7010.
As of kernel 2.6.26 and later, a new driver has been incorporated named as ath5k. This driver, unlike the madwifi-ng driver which requires HAL and was previously proprietary is a HAL-free based driver. Most popular linux distributions would already have this driver included which should provide support for those using such chipsets and preferrably to try injection patches on this driver before reverting back to the madwifi-ng.
For more information refer to this page. It contains updated information on upcoming support for other atheros chipsets (except for atheros MIMO).
Broadcom's “AirForce One” line of chipsets is recently catching up with Atheros in terms of Linux support. The new b43/b43legacy driver in 2.6.24 and up, when patched, can inject at speeds pretty much on par with Atheros. It also handles all attacks nicely, including fragmentation (although the underlying stack, mac80211, requires a patch to inject fragments). Current development versions of the driver can actually reach speeds higher than those possible with Atheros, often up to 700 PPS and over. Multi-VAP operation/concurrent monitor and managed interfaces, similar to the one seen in Madwifi, is also implemented through the underlying mac80211 stack.
Windows, on the other hand, is not supported, except for some older 802.11b-only chipsets.
Like Madwifi, b43 offers no support for Broadcom-based USB devices. For those, a separate driver called rndis_wlan exists, which doesn't support monitor mode (and will never do so, as the chipset has no raw mode). Draft-N devices are also not yet supported.
Users whom use broadcom linux_sta driver (otherwise known as wl) should note that there are no monitor/injection modes with such driver. Broadcom deliberately removed the functionality out of their proprietary binary blob. Read here for more info: http://seclists.org/fulldisclosure/2008/Nov/506. Also b43 supports less than a handful of chipsets, take note on which ones are unsupported and see if yours fall into that category: b43
Intel wireless cards are common devices found inside most laptops apart from Broadcom, Atheros, Ralink and Realtek. These devices has native linux support and generally do work well for most parts except for Intel's older chipsets such as ipw2200. 3945 owners are recommended to use iwl3945 as the older driver ipw3945 does not have monitor or injection capability and requires ipwraw-ng and is often not easy to work with ipwraw-ng. Owners of 4965 and later has support with iwlagn.
Intersil chipsets were well known back in the old days of wireless identification. The company had open designs and schematics for most of its products along with the source code (firmware remains proprietary but otherwise). These chipsets quickly gained the linux support due to the company's open handed approach until it was purchased by Conexant.
The legacy chipsets, namely Intersil Prism 2, Prism 2.5 and Prism 3 struggle in terms of support as the owners are slowly fading away. The drivers were split between the connecting interfaces on linux platform. Pre prismGT models had the hostap driver for most PCI/PCMCIA cards and wlan-ng for USB devices. These drivers are based on legacy stack and has two main drawbacks:
1) They are buggy in which they would operate, for example wlan-ng does not obey iwconfig commands and requires its tool in order to change the modes, even to turn the device on so that iwconfig will start displaying information from the driver.
2) The injection patches only work on older kernels, so for kernels beyond 2.6.20 will not inject properly. So if one were to continue using legacy chipsets, they must use older kernel, old drivers and firmware or they will not gain the extra features.
As for Intersil/Conexant PrismGT chipsets, the support for these on linux has been making a comeback. Initially the prism54 driver is only able to support fullMAC cards, the support for softMAC cards were all over the place such as the use of islsm. As of kernel 2.6.26, a new driver p54 has been incorporated with plans to merge both fullMAC and softMAC support of Intersil/Conexant PrismGT product range. The initial code was buggy but users with >=2.6.28 kernel will benefit regardless of which PrismGT they own.
Ralink makes some nice b/g chipsets, and has been very cooperative with the open-source community to release GPL drivers. Packet injection is now fully supported under Linux on PCI/CardBus RT2500 cards, and also works on USB RT2570 devices. However, these cards are very temperamental, hard to get working, and have a tendency to work for a while then stop working for no reason. Furthermore, the RT2570 driver (such as that for the chipset inside the Linksys WUSB54Gv4) is currently unusable on big endian systems, such as the PowerPC. Cards with Ralink chipsets should not be your first choice.
There is one exception with regards to the Ralink chipsets. This is the RT73 chipset. There are excellent drivers with high injection rates for the RT73 chipset. Devices with the RT73 chipsets are recommended.
As of kernels >= 2.6.26 there are mac80211 based drivers which should give better support for almost all Ralink chipsets. As for Ralink 802.11n capable devices, they are slowly gaining support, read here.
Cards containing the Realtek RTL8187L chipset work quite well and is recommended. The driver patch for this chipset has been continuously improved and quite good at this point in time. The Alfa AWUS036H is a very popular card with this chipset and it performs well the aircrack-ng suite. This chipset is not to be confused with the RTL8187B, which is nowhere near as tested as RTL8187L.
|Belkin F5D7010ED||Cardbus||Atheros||Internal||Not tested||Yes||Product manual|
|Belkin F5D8071||ExpressCard||Atheros||Internal||Not tested||Yes||Product page|
|D-Link DWL-650||PCMCIA||Prism 2.5||Internal||airodump-ng||Yes||See critical
|D-Link DWL-G630 C2 v3.01||CardBus||Atheros||Internal||airodump-ng||Yes|
|D-Link DWL-G630 E1||CardBus||Ralink||Internal||airodump-ng||Yes|
C3, C4, B5
|Netgear WG511T||CardBus||Atheros||Internal||airodump-ng||Yes||See note 1|
|Proxim 8470-WD||CardBus||Atheros||MC + Int.||airodump-ng||Yes|
CD PLUS EXT
|PCMCIA||Prism 2.5||MMCX||No||Yes||See critical
|ASUS WL-138G V2||PCI||Broadcom||RP-SMA||No||Yes||See Note 1 and 2|
|ASUS WL-138gE||PCI||Broadcom||RP-SMA||No||Yes||See Note 1 and 2|
|Broadcom BCM94311MCG||Mini-PCI Express||Broadcom||U.fl||No||Yes|
|Canyon CN-WF511||PCI||Ralink RT61||RP-SMA||No||Yes|
|D-Link DWA-510||PCI||Ralink RT61||RP-SMA||No||Yes|
|Linksys WMP54G v4||PCI||Ralink||RP-SMA||No||Yes|
|Linksys WMP54G-UK v4.1||PCI||Ralink RT61||RP-SMA||No||Yes|
|Linksys WMP110 RangePlus||PCI||Atheros||RP-SMA||No||Yes|
|Netgear WG311T||PCI||Atheros||RP-SMA||airodump-ng||Yes||See Note 3|
|Yes||See Note 4|
|Ubiquiti SR71-E||PC Express||Atheros||MMCX||airodump-ng||Yes||Also SR71-E/X/C work|
|TP-Link TL-WN650G||PCI||Atheros||Soldered-in||airodump-ng||Yes||See Note 5|
TEW-443PI A1 1R
|Airlink AWLL3026||Zydas zd1211||Internal||No||Yes||USB info: 0ace:1211
See Notes 1 and 4.
|Alfa AWUS036H||RTL8187L||RP-SMA||No||Yes||Click here for a test of this adapter|
|Alfa AWUS036S||Ralink rt73||RP-SMA||No||Yes||Click here for a test of this adapter|
|Alfa AWUS050NH||Ralink RT2770F||RP-SMA||No||Yes|
|Digitus DN-7003GS||RTL8187L||Internal||No||Yes||USB info: 0bda:8187 Realtek Semiconductor Corp.|
|D-Link DWL-G122 B1||Ralink RT2570||Internal||No||Yes|
|D-Link DWL-G122 C1||Ralink RT73||Internal||No||Yes|
|D-Link WUA-1340||Ralink RT73||Internal||No||Yes|
|Edimax EW-7318USg||Ralink rt73||RP-SMA||No||Yes||See
|Hawking HWUG1||Ralink rt73||RP-SMA||No||Yes|
|Linksys WUSB54G v4||Ralink rt2570||Internal or|
|Linksys WUSB54GC v1||Ralink RT73||Internal||No||Yes||See
|Linksys WUSB54GC v2||RTL8187B||Internal||No||Yes||See
|Netgear WG111 v1||PrismGT SoftMAC||Internal||airodump-ng||Untested||See note 3. Needs a recent GIT kernel from the wireless-testing branch.|
|Netgear WG111 v2||RTL8187L||Internal||No||Yes||See note 3|
|Netgear WG111 v3||RTL8187B||Internal||No||Yes||See note 3|
|Netgear WNDA3100 v1||Atheros 9170||Internal||No||Yes||See Note 6|
|Ralink RT73||Internal||No||Yes||Manufacturer page|
|Ralink RT2070||Internal||No||Yes||Supported by rt2800usb|
|Zydas zd1211b||Internal||No||Yes||USB info: 157e:300d
|ZyXEL AG-225H||Zydas zd1211||Internal||No||Limited||See Note 4|
|ZyXEL G-202||Zydas zd1211b||Internal||No||Limited||See Note 4|
All prism2 or prism2.5 on this wireless card support page can inject.
New laptops now normally come with ExpressCard slots. The current problem is that there are not a lot of ExpressCard wireless cards which are compatible with the aircrack-ng suite. However, ExpressCard to PCMCIA/Cardbus adapters have appeared in the market.
If you try any adapters, please post your findings (good or bad) to the forum. This is very important so that everyone can benefit from the experiences of others.
Here is a list of adapters that people have reported as working successfully:
Here is another adapter available for purchase (untested): StarTech CB2EC