User Tools

Site Tools


airdriver-ng

Airdriver-ng

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.

airdriver-ng.txt · Last modified: 2010/11/21 16:31 by sleek