A common question that people ask is "I have model ABC wireless card, is it compatible with Aircrack-ng?"​ or "What card should I buy?" or "Can my card do injection?"​ and so on. This tutorial address these questions.

A common question that people ask is "I have model ABC wireless card, is it compatible with Aircrack-ng?"​ or "What card should I buy?" or "Can my card do injection?"​ and so on. This tutorial address these questions.

-

First off, answering these questions involves some work on your part. It is not as easy as posting the question on the [[http://​forum.aircrack-ng.org/​|Forum]] and waiting for an answer. ​ If you do not do your homework first, no help will be provided. ​ On the other hand, if you in fact do your homework properly, people will make every effort to help you.

+

First off, answering these questions involves some work on your part. It is not as easy as posting the question on the [[https://​forum.aircrack-ng.org/​|Forum]] and waiting for an answer. ​ If you do not do your homework first, no help will be provided. ​ On the other hand, if you in fact do your homework properly, people will make every effort to help you.

If you are planning to purchase a card then the easiest method is to pick a card from the list of [[compatibility_drivers#​which_is_the_best_card_to_buy|supported cards]]. ​ If you are considering purchasing a particular then you can use this tutorial to determine if it will work with aircrack-ng. ​

If you are planning to purchase a card then the easiest method is to pick a card from the list of [[compatibility_drivers#​which_is_the_best_card_to_buy|supported cards]]. ​ If you are considering purchasing a particular then you can use this tutorial to determine if it will work with aircrack-ng. ​

-

Another point I want to make is that there are many, many compatible cards out there that are not listed in the [[compatibility_drivers#​which_is_the_best_card_to_buy|supported cards section]]. ​ Please, please take the time to post to the [[http://​forum.aircrack-ng.org/​|Forum]] when you are successful with a particular card. This is the only way we can expand the list of supported cards. ​ When you post, please provide the manufacturer,​ model, card revision if applicable, chipset and what drivers you used.

+

Another point I want to make is that there are many, many compatible cards out there that are not listed in the [[compatibility_drivers#​which_is_the_best_card_to_buy|supported cards section]]. ​ Please, please take the time to post to the [[https://​forum.aircrack-ng.org/​|Forum]] when you are successful with a particular card. This is the only way we can expand the list of supported cards. ​ When you post, please provide the manufacturer,​ model, card revision if applicable, chipset and what drivers you used.

Now, on to the matter at hand. Here are the steps we will be following:

Now, on to the matter at hand. Here are the steps we will be following:

Line 51:

Line 51:

*Search the internet for "<​your card model> chipset"​ or "<​your card model> linux"​. Quite often you can find references to what chipset your card uses and/or other people'​s experiences. ​ This is by far the easiest and most successful way of determining the chipset. ​ Be sure to check a number of search entries to ensure they are consistent.

*Search the internet for "<​your card model> chipset"​ or "<​your card model> linux"​. Quite often you can find references to what chipset your card uses and/or other people'​s experiences. ​ This is by far the easiest and most successful way of determining the chipset. ​ Be sure to check a number of search entries to ensure they are consistent.

-

*Search the [[http://​forum.aircrack-ng.org/​|Forum]]

+

*Search the [[https://​forum.aircrack-ng.org/​|Forum]]

*You may also have a look at windows driver file names, it's often the name of the chipset or the driver to use.

*You may also have a look at windows driver file names, it's often the name of the chipset or the driver to use.

*Check the card manufacturers page. Sometimes they say what chipset they use.

*Check the card manufacturers page. Sometimes they say what chipset they use.

*On some cards such as PCI, you can physically see the wireless chip. Look for the brand such as Atheros, Texas Instruments,​ etc. The chipset number can also quite often be observed.

*On some cards such as PCI, you can physically see the wireless chip. Look for the brand such as Atheros, Texas Instruments,​ etc. The chipset number can also quite often be observed.

-

* All wireless devices sold in the United States must be Federal Communications Commission (FCC) approved. ​ These same devices are typically sold around the world. ​ Each device must have a FCC identification number (ID) on the board itself. ​ If you have this ID then you can use the [[https://​apps.fcc.gov/​oetcf/​eas/​reports/​GenericSearch.cfm|FCC ID Search]] to lookup detailed information on the device. ​ It will give you the manufacturer,​ model and usually the chipset. The [[http://​transition.fcc.gov/​oet/​ea/​|Equipment Authorization information page]] provides general information.

+

* All wireless devices sold in the United States must be Federal Communications Commission (FCC) approved. ​ These same devices are typically sold around the world. ​ Each device must have a FCC identification number (ID) on the board itself. ​ If you have this ID then you can use the [[https://​apps.fcc.gov/​oetcf/​eas/​reports/​GenericSearch.cfm|FCC ID Search]] to lookup detailed information on the device. ​ It will give you the manufacturer,​ model and usually the chipset.

Here are some other resources to assist you in determine what chipset you have:

Here are some other resources to assist you in determine what chipset you have:

+

* [[https://​wikidevi.com/​wiki/​Main_Page|WikiDevi]] the best resource

* [[http://​www.qbik.ch/​usb/​devices/​search.php|USB Product ID lookup]] For USB devices, obtain the device id via the linux lsusb command and then look it up via the product id. This is the first half of the device id before the colon. ​ E.g. 0bda:​8187. ​ Use "​0bda"​ then match the "​8187"​ to entries found.

-

Card manufacturers add to the confusion by keeping the same card model number yet changing the chipset inside them. This is where you will hear the term "card revision"​ or "card version"​. ​ D-Link seems to do this a lot. So first determine if this applies to your card. The version is typically found stamped on the card and located near the serial number or MAC address. ​ See this [[http://www.dlink.com/products/support.asp?​pid=11&​sec=0#​drivers|D-Link page]] for an example of the same card with different revisions. ​

+

Card manufacturers add to the confusion by keeping the same card model number yet changing the chipset inside them. This is where you will hear the term "card revision"​ or "card version"​. ​ D-Link seems to do this a lot. So first determine if this applies to your card. The version is typically found stamped on the card and located near the serial number or MAC address. ​ See this [[https://www.tp-link.com/us/download/​TL-WN722N.html|TP-Link page]] for an example of the same card with different revisions. ​

So when you are determining the chipset for your card, make sure to include the revision/​version when doing a search. ​ For example, search for "​DWL-G650 C1 chipset" ​ and not just "​DWL-G650"​. ​ The revision/​version is extremely important.

So when you are determining the chipset for your card, make sure to include the revision/​version when doing a search. ​ For example, search for "​DWL-G650 C1 chipset" ​ and not just "​DWL-G650"​. ​ The revision/​version is extremely important.

Line 76:

Line 72:

* The "​dmesg"​ command can quite often contain detailed messages indicating what card was detected and the chipset.

* The "​dmesg"​ command can quite often contain detailed messages indicating what card was detected and the chipset.

* If the card is an ISA card, you are usually out of luck.

* If the card is an ISA card, you are usually out of luck.

-

* If the card is a PCI card, you need to use the command "lspci -nn" to display the card identification strings. In some cases, such as on cards with Broadcom chipsets, this alone can reveal the chipset. ​ The "​-nn"​ should cause the PCI ID to be displayed. ​ An example of what a PCI ID looks like is "​168c:​0013"​ for an Atheros chipset card. Once you have the PCI ID, there are many Internet sites to do lookups. ​Some sites are [[http://pciids.sourceforge.net/]] or [[http://​www.pcidatabase.com/]]. You can find other lookup sites by search for "PCI ID"​. ​ As well, the kernel modules required and in use are displayed. ​ This can be very helpful in identifying the chipset.

+

* If the card is a PCI card, you need to use the command "lspci -nn" to display the card identification strings. In some cases, such as on cards with Broadcom chipsets, this alone can reveal the chipset. ​ The "​-nn"​ should cause the PCI ID to be displayed. ​ An example of what a PCI ID looks like is "​168c:​0013"​ for an Atheros chipset card. Once you have the PCI ID, there are many Internet sites to do lookups. ​The [[https://pci-ids.ucw.cz/|PCI IDs websites]] is one of them. You can find other lookup sites by search for "PCI ID"​. ​ As well, the kernel modules required and in use are displayed. ​ This can be very helpful in identifying the chipset.

* If the hardware is a USB dongle, you need to use the command "​lsusb"​ to display the dongle identification strings. In some case, "​lsusb"​ doesn'​t work (for example if usbfs is not mounted), and you can get the identification strings from the kernel log using "​dmesg"​ (or in /​var/​log/​messages). ​

* If the hardware is a USB dongle, you need to use the command "​lsusb"​ to display the dongle identification strings. In some case, "​lsusb"​ doesn'​t work (for example if usbfs is not mounted), and you can get the identification strings from the kernel log using "​dmesg"​ (or in /​var/​log/​messages). ​

* If the card is a Cardbus card (32 bits Pcmcia), and if you are using a relatively new kernel (2.4.X or above) with the kernel Pcmcia subsystem, you need to use the command "lspci -nn" to display the card identification strings. If the card is a Cardbus card (32 bits Pcmcia), and if you are using an older kernel with the standalone Pcmcia subsystem, you need to use the command "​cardctl ident" display the card identification strings. Try both and see what comes out.

* If the card is a Cardbus card (32 bits Pcmcia), and if you are using a relatively new kernel (2.4.X or above) with the kernel Pcmcia subsystem, you need to use the command "lspci -nn" to display the card identification strings. If the card is a Cardbus card (32 bits Pcmcia), and if you are using an older kernel with the standalone Pcmcia subsystem, you need to use the command "​cardctl ident" display the card identification strings. Try both and see what comes out.

Line 84:

Line 80:

Even if you are running Windows, you can boot from a live distro and use the linux techniques above.

Even if you are running Windows, you can boot from a live distro and use the linux techniques above.

-

In a Windows environment,​ try hardware analysis tools such [[http://​www.hwinfo.com/​|HWiNFO]] to obtain the chipset information.

+

In a Windows environment,​ try hardware analysis tools such [[https://​www.hwinfo.com/​|HWiNFO]] to obtain the chipset information.

If you are unable to determine which chipset your card has, then you are out of luck. Your options are to purchase a card from the compatible list or to research and identify a card which matches your criteria then purchase it.

If you are unable to determine which chipset your card has, then you are out of luck. Your options are to purchase a card from the compatible list or to research and identify a card which matches your criteria then purchase it.

Line 104:

Line 100:

Using the [[compatibility_drivers#​drivers|Drivers Section]] you can now determine the drivers required for your chipset and your operating system. ​ The web site has links to the software required.

Using the [[compatibility_drivers#​drivers|Drivers Section]] you can now determine the drivers required for your chipset and your operating system. ​ The web site has links to the software required.

-

For linux, generally, you need to patch the drivers ​in order to get the advanced features such as monitor mode and injection capability. ​ ​Most ​patches can be found [[http://​patches.aircrack-ng.org/​|here]]. ​Remember you will need to have the kernel headers and, in some cases, the kernel sources on your system ​prior to compiling the drivers.

+

For linux, generally, you need to patch the wireless stack and driver ​in order to get the advanced features such as monitor mode and injection capability. ​Documentation on what patches ​to apply can be found [[install_drivers|on this page]]. This tutorial ​will not be providing detailed instructions on how to patch your system.

-

This tutorial will not be providing detailed instructions on how to patch your system.

+

If you don't have the skills or experience to patch your system, consider using a live linux distro such as [[https://www.kali.org/|Kali Linux]] or [[https://pentoo.ch|Pentoo]] that have already all the patched drivers.

-

+

-

If you don't have the skills or experience to patch your system, consider using a live linux distro such as [[http://www.remote-exploit.org/backtrack.html|BackTrack]] or the new [[http://www.kali.org/|Kali Linux]] that have already all the patched drivers.