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/07/14 15:59] – darkaudax | install_drivers [2010/01/04 10:52] – Expanded tips and tricks on reloading the driver according to type of connector is used. hatake_kakashi | ||
---|---|---|---|
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 35: | Line 31: | ||
* [[prism54]] | * [[prism54]] | ||
* [[r8180-sa2400]] | * [[r8180-sa2400]] | ||
+ | * [[r8187]] | ||
+ | * [[r8187b]] | ||
* [[rt2500]] | * [[rt2500]] | ||
* [[rt2570]] | * [[rt2570]] | ||
+ | * [[rt2870]] | ||
* [[rt61]] | * [[rt61]] | ||
* [[rt73]] | * [[rt73]] | ||
- | * [[rtl8185]] | ||
- | * [[rtl8187]] | ||
* [[wlan-ng]] (prism2) | * [[wlan-ng]] (prism2) | ||
* [[zd1211rw]] | * [[zd1211rw]] | ||
Line 51: | Line 48: | ||
The mac80211 link above also contains information regarding which mac80211 drivers work with the aircrack-ng suite. | The mac80211 link above also contains information regarding which mac80211 drivers work with the aircrack-ng suite. | ||
- | In addition, the following mac80211 drivers require extra patches to enable or improve monitoring or injection support: | + | In addition, the following mac80211 drivers require extra patches to enable or improve monitoring or injection support |
- | * [[b43]] and b43legacy | + | * [[iwlagn]] (allow injection in 2.6.25/.26, formerly called iwl4965) |
- | * [[iwl3945]] | + | * [[rtl8187]] (improve injection speed) |
- | * [[iwl4965]] | + | * [[zd1211rw-mac80211]] |
- | * [[zd1211rw-mac80211]] | + | |
\\ | \\ | ||
**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 [[http:// | ||
===== 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 96: | Line 90: | ||
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 115: | Line 108: | ||
See the next entry of a problem commonly seen: " | See the next entry of a problem commonly seen: " | ||
+ | |||
==== " | ==== " | ||
Line 157: | Line 151: | ||
Run " | Run " | ||
- | |||
- | |||
Line 165: | 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 (p54common, rt2x00lib, rt2x00usb, rt2x00pci). Sometimes (especially with mac80211 drivers), reloading the stack (for example, 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 242: | Line 234: | ||
If you have conflicts due to running both drivers, then decide which one you want and blacklist the other one. | If you have conflicts due to running both drivers, then decide which one you want and blacklist the other one. | ||
+ | |||
+ | |||
+ | ==== dmesg error " | ||
+ | |||
+ | When using an USB device and you get a message similar to this from dmesg: | ||
+ | |||
+ | rt73: Firmware loading error | ||
+ | rt73: Failed to load Firmware. | ||
+ | rt73: probe of 1-7:1.0 failed with error -71 | ||
+ | |||
+ | Note: Although the example shows RT73, this applies to any USB driver. | ||
+ | |||
+ | Here are a few things to check: | ||
+ | |||
+ | * Ensure you have the firmware installed on your system and in the correct location. | ||
+ | * 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. | ||
+ | * If you have multiple USB devices connected to your computer then remove them all except the wireless device and retry. | ||
install_drivers.txt · Last modified: 2018/10/05 23:27 by mister_x