install_drivers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
install_drivers [2008/11/02 14:01] – added link for rt2580 page darkaudax | install_drivers [2010/02/04 16:03] – linked compat-wireless section to wiki page darkaudax | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Installing Drivers ====== | ====== Installing Drivers ====== | ||
- | |||
- | |||
- | |||
- | |||
===== Linux ===== | ===== Linux ===== | ||
- | As of now, Aireplay-ng only supports injection on Prism2, PrismGT | + | As of now, Aireplay-ng only supports injection on Prism2, PrismGT, Atheros, Broadcom (with the b43 driver), Intel IWL, RTL8180, RTL8187, Ralink, ACX1xx and Zydas. Injection on** Hermes, Aironet and Marvell** is not supported because of firmware and/or driver limitations. |
\\ | \\ | ||
- | There are two families of drivers - ieee80211 and mac80211. | + | There are two families of drivers - ieee80211 and mac80211. |
- | Nearly all non-mac80211 drivers that can support injection need to be patched to support injection in **Monitor mode**. | + | Nearly all non-mac80211 drivers that can support injection need to be patched to support injection in **Monitor mode**. |
Remember you cannot use both ieee80211 and mac80211 versions of the same driver at the same time. You must decide to use one or the other, not both. If you try loading both, one will fail. So you must consciously decide which one you wish to use and blacklist the other one if you have both on your system. | Remember you cannot use both ieee80211 and mac80211 versions of the same driver at the same time. You must decide to use one or the other, not both. If you try loading both, one will fail. So you must consciously decide which one you wish to use and blacklist the other one if you have both on your system. | ||
- | |||
- | Also keep in mind that the mac80211 driver versions are still immature compared to the ieee80211 versions. | ||
\\ | \\ | ||
You will need the following to compile drivers: | You will need the following to compile drivers: | ||
- | * Linux kernel headers that match your current running kernel. On openSUSE, the kernel sources also must be installed. | + | * Linux kernel headers that match your current running kernel. On openSUSE, the kernel sources also must be installed. Depending on the driver and distribution, |
* The same **gcc** version that was used to compile your kernel. At least make sure that the first two version numbers or the compiler are the same (e.g. it's OK to use gcc **3.4**.6 to compile the driver if the kernel was compiled by gcc **3.4**.2). Ignoring this rule will cause **Invalid module format** errors during module load. That can be checked via / | * The same **gcc** version that was used to compile your kernel. At least make sure that the first two version numbers or the compiler are the same (e.g. it's OK to use gcc **3.4**.6 to compile the driver if the kernel was compiled by gcc **3.4**.2). Ignoring this rule will cause **Invalid module format** errors during module load. That can be checked via / | ||
- | * Always use latest patches that you can find [[http:// | + | * Always use the latest patches that you can find [[http:// |
\\ | \\ | ||
Note: if you're using drivers provided by your distribution, | Note: if you're using drivers provided by your distribution, | ||
\\ | \\ | ||
+ | General information about patching drivers plus troubleshooting tips can be found in the [[patching|How To Patch Drivers Tutorial]]. | ||
The following are detailed instructions for installing/ | The following are detailed instructions for installing/ | ||
Line 40: | Line 35: | ||
* [[rt2500]] | * [[rt2500]] | ||
* [[rt2570]] | * [[rt2570]] | ||
- | * [[rt2580]] | + | * [[rt2870]] |
* [[rt61]] | * [[rt61]] | ||
* [[rt73]] | * [[rt73]] | ||
Line 55: | Line 50: | ||
In addition, the following mac80211 drivers require extra patches to enable or improve monitoring or injection support (purpose of the patch is in parentheses): | In addition, the following mac80211 drivers require extra patches to enable or improve monitoring or injection support (purpose of the patch is in parentheses): | ||
- | * [[ath5k]] (improve | + | * [[iwlagn]] (allow injection |
- | * [[b43]] and b43legacy | + | * [[rtl8187]] (improve injection speed) |
- | * [[iwl4965]] (allow injection) | + | |
* [[zd1211rw-mac80211]] (fully disable packet filtering in monitor mode) | * [[zd1211rw-mac80211]] (fully disable packet filtering in monitor mode) | ||
Line 63: | Line 57: | ||
**Note**: For other drivers, simply follow the standard installing procedure for your distribution. | **Note**: For other drivers, simply follow the standard installing procedure for your distribution. | ||
+ | |||
+ | ===== Compat-Wireless Alternative Approach ===== | ||
+ | |||
+ | As mentioned previously, the mac80211 drivers quite often support injection out of the box in recent kernels. | ||
+ | |||
+ | For full details see the Aircrack-ng [[compat-wireless|Compat-Wireless documentation]]. | ||
===== Windows ===== | ===== Windows ===== | ||
- | On windows, currently, only monitoring | + | Windows |
- | \\ | + | |
- | To make it short, all Atheros cards should be supported. Centrino or USB adapter are not supported. \\ | + | |
- | See [[compatibility_drivers|Compatibility, | + | |
- | In 1.0, [[Airpcap]] adapter will be supported. | + | |
- | \\ | + | |
- | \\ | + | |
- | * [[wildpacket_driver_install|Installing wildpacket drivers]] | + | |
- | \\ | + | |
Line 90: | Line 82: | ||
The first critical step is to ensure that your wireless device is recognized by your system. | The first critical step is to ensure that your wireless device is recognized by your system. | ||
- | * The " | + | * The " |
* 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 (miniPCI/ | * If the card is a PCI card (miniPCI/ | ||
* If the hardware is a USB dongle, you need to use the command " | * If the hardware is a USB dongle, you need to use the command " | ||
- | * If the card is a Cardbus card (32 bits Pcmcia), and if you are using kernel 2.6.X or kernel 2.4.X with the kernel | + | * If the card is a Cardbus card (32 bits PCMCIA), and if you are using kernel 2.6.X or kernel 2.4.X with the kernel |
- | * If the card is a true Pcmcia | + | * If the card is a true PCMCIA |
Needless to say, if your wireless device is not detected by your system, you will have to investigate and correct the problem. | Needless to say, if your wireless device is not detected by your system, you will have to investigate and correct the problem. | ||
+ | |||
==== Modprobe ==== | ==== Modprobe ==== | ||
Start by running " | Start by running " | ||
- | |||
- | |||
Line 117: | Line 108: | ||
See the next entry of a problem commonly seen: " | See the next entry of a problem commonly seen: " | ||
+ | |||
==== " | ==== " | ||
Line 159: | Line 151: | ||
Run " | Run " | ||
- | |||
- | |||
Line 167: | Line 157: | ||
A common problem on newer kernels is that the new mac80211 version of the driver gets loaded instead of the older legacy driver, or vice versa. | A common problem on newer kernels is that the new mac80211 version of the driver gets loaded instead of the older legacy driver, or vice versa. | ||
- | Specifically for madwifi-ng, do a locate or find for ath5k.ko. | + | Specifically for madwifi-ng, do a locate or find for ath5k.ko. |
+ | Same for the other way around: if you want to load ath5k, but madwifi-ng gets loaded instead, add " | ||
==== Reload Driver ==== | ==== Reload Driver ==== | ||
- | Although it is not very " | + | Although it is not very " |
- | + | ||
- | For b43 and b43legacy, it might also be necessary to reload the underlying SSB module. Similarly, rt2x00 and p54 might need reloading of the common modules | + | |
- | + | ||
+ | For b43 and b43legacy, it might also be necessary to reload the underlying SSB module. Similarly, rt2x00 and p54 might need reloading of the common modules (p54common, rt2x00lib, rt2x00usb, rt2x00pci). Sometimes (especially with mac80211 drivers), reloading the stack (for example, modules " | ||
+ | For USB devices, the trick to reloading the driver is to make sure all of its related interfaces are down (usually wlan0, mon0, etc if you only have one USB device). Then you modprobe -r via the driver it is using and reload those drivers again via modprobe. | ||
+ | For PCMCIA devices, it is recommended that you have pcmcia-cs package installed as it has a handy utility known as pccardctl. To eject the device virtually, make sure that the interfaces are down following similar guide to USB devices. Once they are down, use pccardctl eject to virtually eject the card/s. Remove all the modules related to the card (hint: if you weren' | ||
+ | For PCI devices, there is no real shortcut as the device will remain permanently used by the driver. You will need to reboot for the new driver to take effect. | ||
Line 258: | Line 248: | ||
Here are a few things to check: | Here are a few things to check: | ||
- | * Ensure you have the firmware installed on your system and in the correct location. | + | * Ensure you have the firmware installed on your system and in the correct location. usually its in / |
* You can try downloading a fresh copy of the driver and installing it again. | * You can try downloading a fresh copy of the driver and installing it again. | ||
* Try connecting your USB device directly to your computer without a cable. | * Try connecting your USB device directly to your computer without a cable. |
install_drivers.txt · Last modified: 2018/10/05 23:27 by mister_x