Table of Contents
Airdriver-ng - REMOVED in 1.2 rc 1
Description
Airdriver-ng is a script that provides status information about the wireless drivers on your system plus the ability to load and unload the drivers. Additionally, airdriver-ng allows you to install and uninstall drivers complete with the patches required for monitor and injection modes. Plus a number of other functions.
Here is a complete list of commands supported by the script:
- No Command: Running airdriver-ng without a command displays the kernel number you are running and the valid airdriver-ng commands.
- Supported: Lists the wireless stacks and wireless drivers which the script currently supports. If the stack or driver you want is not listed then airdriver-ng does not currently support it. These are NOT the stacks or drivers installed on your system.
- Kernel: Lists any wireless stack or wireless driver which has been compiled directly into the kernel itself. Use this if you wish to determine if a particular driver is already compiled into the kernel. You cannot install a driver if it is already part of your kernel. You would first have to recompile your kernel without the specific driver.
- Installed: Lists the wireless stacks and drivers actually installed on your system. These are NOT the stacks/drivers currently loaded (running) on your system. Use this if you to know if the driver is already installed on your system. These are drivers which are NOT part of the kernel.
- Loaded: Lists the wireless stacks and drivers which are currently loaded (running) in memory.
- Load: This command loads the specified driver into memory. The driver number is obtained from the output of the “installed” command. Use this command to load the desired driver into memory if it did not load when you plugged in your wireless device or booted up.
- Unload: This command removes (unloads) the specified driver from memory. The driver number is obtained from the output of the “loaded” command. This is sometimes required when recompiling or installing a new version of the driver. Normally a reload should be sufficient after installing a new version.
- Reload: Reloads the specified driver by removing it from memory then loading it again. The driver number is obtained from the output of the “loaded” command. Use this after installing a new version of the driver or it can sometimes help if your driver is misbehaving.
- Install: Installs the specified driver on your system and loads it into memory. The driver number is obtained from the output of the “loaded” command. All the required steps are taken care of for you including obtaining the driver sources, obtaining injection patches, applying patches, compiling and then loading it into memory. This is one the simplest and easiest methods of ensuring your driver is capable of injection. You may also need to install a related stack for your driver to be fully functional.
- Remove: Removes the specified driver from your system. This removes the module from memory and the module tree. Use this if you wish to remove the driver from your system permanently.
- Install_Stack: Installs the specified stack on your system and loads it into memory. The driver number is obtained from the output of the “loaded” command. All the required steps are taken care of for you including obtaining the stack sources, obtaining injection patches, applying patches, compiling and then loading it into memory. This is one the simplest and easiest methods of ensuring your system is capable of injection.
- Remove_Stack: Removes the specified stack from your system. This removes the stack from memory and the module tree.
- Details: Lists detailed information about the module. The driver number is obtained from the output of the “installed” command. This especially valuable to confirm you are using the correct version and when it was installed. The install date is located after the file name. This can be used to confirm you are in fact using the the recently compiled module. A common problem is that one of the required modules was compiled on a different date. This normally means you have two different versions of the same modules and the result is that the driver fails. If this happens, delete all the modules and reinstall or recompile.
- Detect: Used to determine which wireless devices are connect to your system. There is no precise method of doing these types of checks. Consider this more as educated guesses rather then definitive information. Having said that, it will generally provide very useful information.
The script also attempts to ensure the success of the operation by first confirming that you have the correct tools and software loaded on your system. You will receive warnings and/or error messages if your system is not capable of the requested operation. Although airdriver-ng attempts to minimize the risk, it will always be there. Please be aware that this is always a certain amount of risk to your system when working with drivers.
The airdriver-ng script is only available under linux installations.
Usage
Usage: airdriver-ng <command> [driver number | driver name]
Where these are the valid commands:
- supported - lists all supported drivers
- kernel - lists all in-kernel drivers
- installed - lists all installed drivers
- loaded - lists all loaded drivers
- load <drivernum> - loads a driver
- unload <drivernum> - unloads a driver
- reload <drivernum> - reloads a driver
- install <drivernum> - installs a driver
- remove <drivernum> - removes a driver
- remove_stack <num> - removes a stack
- install_stack <num> - installs a stack
- details <drivernum> - prints driver details
- detect - detects wireless cards
Usage Examples
Here are usage examples for each command.
Supported Command
Enter:
airdriver-ng supported
The system responds:
Following stacks are supported: 0. IEEE80211 1. IEEE80211 Softmac 2. mac80211 Following drivers are supported: 0. ACX100/111 - IEEE80211 1. ADMtek 8211 - IEEE80211 2. ADMtek 8211 - mac80211 3. Atmel at76c50x - IEEE80211 4. Broadcom 4300 - IEEE80211 5. Broadcom 4300 - mac80211 6. Cisco/Aironet 802.11 - IEEE80211 Softmac 7. HostAP - IEEE80211 8. Intel Pro Wireless 2100 B - IEEE80211 9. Intel Pro Wireless 2200 B/G - IEEE80211 10. Intel Pro Wireless 3945 A/B/G - IEEE80211 11. Intel Pro Wireless 3945 A/B/G - raw mode 12. Intel Pro Wireless 3945 A/B/G - mac80211 13. Intel Pro Wireless 4965 A/B/G/N - mac80211 14. Lucent Hermes and Prism II - IEEE80211 15. Madwifi[-ng] - IEEE80211 16. Prism54 - IEEE80211 17. Prism54 - mac80211 18. Ralink rt2400 (legacy) 19. Ralink rt2400 (rt2x00) - IEEE80211 20. Ralink rt2400 (rt2x00) - mac80211 21. Ralink rt2500 (legacy) 22. Ralink rt2500 (rt2x00) - IEEE80211 23. Ralink rt2500 (rt2x00) - mac80211 24. Ralink rt2570 (legacy) 25. Ralink rt2570 (rt2x00) - IEEE80211 26. Ralink rt2570 (rt2x00) - mac80211 27. Ralink rt61 (legacy) 28. Ralink rt61 (rt2x00) - IEEE80211 29. Ralink rt61 (rt2x00) - mac80211 30. Ralink rt73 (legacy) 31. Ralink rt73 (rt2x00) - IEEE80211 32. Ralink rt73 (rt2x00) - mac80211 33. Realtek rtl8180 - custom 34. Realtek rtl8187 - custom 35. Realtek rtl8187 - mac80211 36. WLAN-NG - IEEE80211 37. Xircom Creditcard Netwave - IEEE80211 38. ZyDAS 1201 - IEEE80211 Softmac 39. ZyDAS 1211 - IEEE80211 Softmac 40. ZyDAS 1211rw - IEEE80211 Softmac 41. ZyDAS 1211rw - mac80211 42. NDIS Wrapper
Notice the number in front of each driver. These are the numbers you will need for the “install” command to actually install the particular driver.
Kernel Command
Enter:
airdriver-ng kernel
The system responds:
Found following stacks in the Kernel: Found following drivers in the Kernel:
In this example, no stacks or drivers are built into the kernel.
Installed Command
Enter:
airdriver-ng installed
The system responds:
Found following stacks installed: 0. IEEE80211 1. IEEE80211 Softmac 2. mac80211 Found following drivers installed: 1. Broadcom 4300 - IEEE80211 2. HostAP - IEEE80211 3. Intel Pro Wireless 2100 B - IEEE80211 4. Intel Pro Wireless 2200 B/G - IEEE80211 6. Madwifi[-ng] - IEEE80211 7. Prism54 - IEEE80211 9. Realtek rtl8187 - custom 13. Ralink rt73 - IEEE80211 Softmac 18. Intel Pro Wireless 3945 A/B/G - raw mode - mac80211
Notice the number in front of each driver. These are the numbers you will need for the “load” command to actually load the particular driver.
Loaded Command
Enter:
airdriver-ng loaded
The system responds:
Found following stacks loaded (as module): Found following drivers loaded (as module): 15. Madwifi[-ng] - IEEE80211 34. Realtek rtl8187 - custom
Notice the number in front of each driver. These are the numbers you will need for the “load” command to actually load the particular driver.
Load Command
Enter:
airdriver-ng load 34
Where:
- 34 is the driver number obtained from the “installed” command results.
The system responds:
Driver "Realtek rtl8187" specified for loading. Loaded driver "Realtek rtl8187" successfully
Unload Command
Enter:
airdriver-ng unload 34
Where:
- 34 is the driver number obtained from the “loaded” command results.
The system responds:
Driver "Realtek rtl8187" specified for unloading. Unloaded driver "Realtek rtl8187" successfully
Reload Command
Enter:
airdriver-ng reload 34
Where:
- 34 is the driver number obtained from the “loaded” command results.
The system responds:
Driver "Realtek rtl8187" specified for reloading. Reloaded driver "Realtek rtl8187" successfully
Install Command
Enter:
airdriver-ng install 34
Where:
- 34 is the driver number obtained from the “supported” command results.
The system responds:
Driver "Realtek rtl8187" specified for installation. 1. Getting the source... 2. Extracting the source... 3. Getting the patch... 4. Patching the source... 5. Compiling the source... 6. Installing the modules... Running "depmod -ae"... Installed driver "Realtek rtl8187" successfully Loaded driver "Realtek rtl8187" successfully
Remove Command
Enter:
airdriver-ng remove 34
Where:
- 34 is the driver number obtained from the “installed” command results.
The system responds:
Driver "Realtek rtl8187" specified for removing. Starting to remove "Realtek rtl8187" driver rm: remove regular file `/lib/modules/2.6.21-1.3228.fc7/kernel/drivers/net/wireless/rtl8187/r8187.ko'? y Running "depmod -ae"... Removed driver "Realtek rtl8187" successfully
Install_Stack Command
Enter:
airdriver-ng install_stack 0
Where:
- 0 is the stack number obtained from the “supported” command results.
The system responds:
Stack "IEEE80211" specified for installation. 1. Getting the source... 2. No extraction needed. 3. Getting the patch... 4. Patching the source... 5. Compiling the source... 6. Installing the modules... Running "depmod -ae"... Installed stack "IEEE80211" successfully You need to reload the complete stack, or just reboot.
Remove_Stack Command
Enter:
airdriver-ng remove_stack 0
Where:
- 0 is the stack number obtained from the “installed” command results.
The system responds:
Stack "IEEE80211" specified for removing. Starting to remove "IEEE80211" driver rm: remove regular file `/lib/modules/2.6.20-1.2962.fc6/kernel/net/ieee80211/ieee80211.ko'? y rm: remove regular file `/lib/modules/2.6.20-1.2962.fc6/kernel/net/ieee80211/ieee80211_crypt.ko'? y rm: remove regular file `/lib/modules/2.6.20-1.2962.fc6/kernel/net/ieee80211/ieee80211_crypt_wep.ko'? y rm: remove regular file `/lib/modules/2.6.20-1.2962.fc6/kernel/net/ieee80211/ieee80211_crypt_tkip.ko'? y rm: remove regular file `/lib/modules/2.6.20-1.2962.fc6/kernel/net/ieee80211/ieee80211_crypt_ccmp.ko'? y Running "depmod -ae"... Removed stack "IEEE80211" successfully
Details Command
Enter:
airdriver-ng details 34
Where:
- 34 is the driver number obtained from the “installed” command results.
The system responds:
Driver details for: "Realtek rtl8187" Compiled into kernel: No Installed: YES Loaded: YES Modules: r8187 Files: /lib/modules/2.6.21-1.3228.fc7/kernel/drivers/net/wireless/rtl8187/r8187.ko 2007-07-22 12:53 version: V 1.1 depends: ieee80211-rtl vermagic: 2.6.21-prep SMP mod_unload 686 4KSTACKS For more information see: [[r8187]]
NOTE: Notice the date after file name. This is the compile date and can be used to ensure you are using the module you want.
Detect Command
Enter:
airdriver-ng detect
The system responds:
Found "Realtek rtl8187" device: (r8187) Bus 001 Device 002: ID 0bda:8187 Realtek Semiconductor Corp. Found "Madwifi[-ng]" device: (ath_pci) 01:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01) USB devices (generic detection): Bus 001 Device 003: ID 148f:2573 Ralink Technology, Corp. Bus 001 Device 002: ID 0bda:8187 Realtek Semiconductor Corp.
Usage Tips
None at this time.
Usage Troubleshooting
None at this time.