User Tools

Site Tools


rt73

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
rt73 [2008/05/07 18:02]
netrolller3d Add a script for easy switching between the two drivers.
rt73 [2009/05/19 23:59]
darkaudax Updated to rt73-k2wrlz-3.0.3.tar.bz2
Line 5: Line 5:
 **IMPORTANT**\\ **IMPORTANT**\\
 If you have a new kernel that supports mac80211 and includes the new rt73usb driver then you **MUST** blacklist it otherwise the ieee80211 version of the module below will not work.  See [[rt73#​blacklisting_mac80211_driver_version|blacklisting mac80211 driver version]] below. If you have a new kernel that supports mac80211 and includes the new rt73usb driver then you **MUST** blacklist it otherwise the ieee80211 version of the module below will not work.  See [[rt73#​blacklisting_mac80211_driver_version|blacklisting mac80211 driver version]] below.
- 
  
 Open up a shell and type: Open up a shell and type:
  
-  wget http://​homepages.tu-darmstadt.de/​~p_larbig/​wlan/​rt73-k2wrlz-3.0.0.tar.bz2 +  wget http://​homepages.tu-darmstadt.de/​~p_larbig/​wlan/​rt73-k2wrlz-3.0.3.tar.bz2 
-  tar -xjf rt73-k2wrlz-3.0.0.tar.bz2 +  tar -xjf rt73-k2wrlz-3.0.3.tar.bz2 
-  cd rt73-k2wrlz-3.0.0/Module+  cd rt73-k2wrlz-3.0.3/Module
   make   make
  
Line 19: Line 18:
   modprobe rt73   modprobe rt73
  
 +A mirror for the above driver can be found  [[http://​aspj.aircrack-ng.org/​rt73-k2wrlz-3.0.3.tar.bz2|here]] and a home page mirror can be found [[http://​aspj.aircrack-ng.org/​|here]].
  
 =====Using driver with aircrack-ng===== =====Using driver with aircrack-ng=====
Line 41: Line 41:
 ===== Basic injection with rt73 and BackTrack v2 for beginners ===== ===== Basic injection with rt73 and BackTrack v2 for beginners =====
  
-See this [[http://​tinyshell.be/​aircrackng/​forum/​index.php?​topic=1819.0|thread]].+See this [[http://​forum.aircrack-ng.org/​index.php?​topic=1819.0|thread]].
  
 +===== When to use this driver? =====
 +
 +See this [[http://​forum.aircrack-ng.org/​index.php?​topic=2306.msg12907#​msg12907|message]].
 +
 +If you have a Ralink chip in an USB device and that chip is a RT2570 or RT73 (RT73 is also as RT2571 and RT2573), you need the "​rt2570"​ or "​rt73"​ driver. ​ "​rt2500"​ driver is only for PCI/PCMCIA devices.
 +
 +Using legacy drivers (or ASPj mods) interface name is ra0 for PCI/PCMCIA and rausb0 for USB devices, if you have wlan0 and wmaster0 interfaces you are using new rt2x00-mac80211 driver (rt2x00 has various modules, for USB devices they are "​rt2x00lib",​ "​rt2x00usb"​ and "​rt73usb",​ unload them and load "​rt2570"​ or "​rt73"​).
 +
 +===== Troubleshooting Tips =====
 +
 +
 +==== Moving modules which are not required ====
  
-=====Moving modules which are not required===== +See the next [[rt73#​blacklisting_mac80211_driver_version|troubleshooting tip]] as an alternative to moving ​the modules.
-FIXME This script completely prevents switching between ​rt73 and rt73usb! Include a script for managing ​the blacklist instead.+
  
 Sometimes the original distribution modules can interfere with the new one you are creating. ​ The following script will move all related modules out of the module tree.  This eliminates the need to blacklist modules. ​ Please be aware that it may move more then want out of the way if your have other ralink devices. ​ As such, you may need to edit the script for your particular circumstances. ​ Additionally,​ different distributions and even releases within a distribution put the modules in different path locations. ​ So you will have to edit the script to reflect the locations on your particular release and distribution. Sometimes the original distribution modules can interfere with the new one you are creating. ​ The following script will move all related modules out of the module tree.  This eliminates the need to blacklist modules. ​ Please be aware that it may move more then want out of the way if your have other ralink devices. ​ As such, you may need to edit the script for your particular circumstances. ​ Additionally,​ different distributions and even releases within a distribution put the modules in different path locations. ​ So you will have to edit the script to reflect the locations on your particular release and distribution.
Line 51: Line 62:
    #​!/​bin/​bash    #​!/​bin/​bash
        
-   ​KERNELVER=`uname -r` 
    ​DIRECTORY="/​root/​rt73module"​    ​DIRECTORY="/​root/​rt73module"​
        
Line 62: Line 72:
    fi    fi
        
-   if [ -d /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/rt2x00 ]+   if [ -d /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00 ]
    then    then
-       echo "​Moving modules from /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/rt2x00 directory"​ +       echo "​Moving modules from /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00 directory"​ 
-       mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/​rt2x00/​rt2400pci.ko $DIRECTORY +       mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00/​rt2400pci.ko $DIRECTORY 
-       mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/​rt2x00/​rt2500pci.ko $DIRECTORY +       mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00/​rt2500pci.ko $DIRECTORY 
-       mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/​rt2x00/​rt2500usb.ko $DIRECTORY +       mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00/​rt2500usb.ko $DIRECTORY 
-       mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/​rt2x00/​rt2x00lib.ko $DIRECTORY +       mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00/​rt2x00lib.ko $DIRECTORY 
-       mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/​rt2x00/​rt2x00pci.ko $DIRECTORY +       mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00/​rt2x00pci.ko $DIRECTORY 
-       mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/​rt2x00/​rt2x00usb.ko $DIRECTORY +       mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00/​rt2x00usb.ko $DIRECTORY 
-       mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/​rt2x00/​rt61pci.ko $DIRECTORY +       mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00/​rt61pci.ko $DIRECTORY 
-       mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/mac80211/​rt2x00/​rt73usb.ko $DIRECTORY+       mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00/​rt73usb.ko $DIRECTORY
        ​depmod -ae        ​depmod -ae
        echo "​Please reboot your system."​        echo "​Please reboot your system."​
    else    else
-       if [ -d /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless ]+       if [ -d /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless ]
        then        then
-           echo "​Moving modules from /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless directory"​ +           echo "​Moving modules from /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless directory"​ 
-           mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/​rt2400pci.ko $DIRECTORY +           mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2400pci.ko $DIRECTORY 
-           mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/​rt2500pci.ko $DIRECTORY +           mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2500pci.ko $DIRECTORY 
-           mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/​rt2500usb.ko $DIRECTORY +           mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2500usb.ko $DIRECTORY 
-           mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/​rt2x00lib.ko $DIRECTORY +           mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00lib.ko $DIRECTORY 
-           mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/​rt2x00pci.ko $DIRECTORY +           mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00pci.ko $DIRECTORY 
-           mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/​rt2x00usb.ko $DIRECTORY +           mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt2x00usb.ko $DIRECTORY 
-           mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/​rt61pci.ko $DIRECTORY +           mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt61pci.ko $DIRECTORY 
-           mv /​lib/​modules/​$KERNELVER/​kernel/​drivers/​net/​wireless/​rt73usb.ko $DIRECTORY+           mv /​lib/​modules/​$(uname -r)/​kernel/​drivers/​net/​wireless/​rt73usb.ko $DIRECTORY
            ​depmod -ae            ​depmod -ae
            echo "​Please reboot your system."​            echo "​Please reboot your system."​
Line 95: Line 105:
  
  
-===== When to use this driver? ===== 
  
-See this [[http://​tinyshell.be/​aircrackng/​forum/​index.php?​topic=2306.msg12907#​msg12907|message]].+==== Blacklisting mac80211 driver version ====
  
-If you have a Ralink chip in an USB device and that chip is a RT2570 or RT73 (RT73 is also as RT2571 and RT2573), ​you need the "​rt2570"​ or "rt73" driver.  ​"​rt2500"​ driver is only for PCI/PCMCIA devices.+If you have the file rt73usb.ko ​in the /​lib/​modules directory tree then you have two options to blacklist it.  Failure to do this will mean that the ieee80211 ​rt73 module described on this page will fail to work properly.  ​Here are the options:
  
-Using legacy ​drivers ​(or ASPj mods) interface name is ra0 for PCI/PCMCIA and rausb0 for USB devices, if you have wlan0 and wmaster0 interfaces you are using new rt2x00-mac80211 driver (rt2x00 has various modules, for USB devices they are "rt2x00lib""rt2x00usb" ​and "rt73usb", ​unload them and load "rt2570" ​or "rt73").+  * Move the file to another area on your system as follows then do "​depmod -ae"​. ​ Move  
 +/​lib/​modules/​k#/​kernel/​drivers/net/​wireless/​rt2x00/rt73usb.ko to a safe place. ​ The "k#" ​and/or other parts of the path will be different for your distribution/​system. ​ Use "locate 73usb.ko" ​or "find /​lib/​modules -name *73usb*" ​to find the full path.  After moving itdo "depmod -ae"
 +  * Edit /​etc/​modprobe.d/​blacklist and add "blacklist rt73usb" ​as a new line.
  
-===== Troubleshooting Tips =====+In both cases, reboot your system afterwards.
  
  
-==== Blacklisting ​mac80211 ​driver version ​==== +==== Scripts to switch between ieee80211 and mac80211 ====
- +
-If you have the file rt73usb.ko in the /​lib/​modules directory tree then you have two options to blacklist it.  Failure to do this will mean that the ieee80211 rt73 module described on this page will fail to work properly. ​ Here are the options:+
  
-  * Create ​two files in /usr/sbin called "​rt73-mac"​ and "​rt73-ieee"​. Enter this into "​rt73-mac":​+Yet another option is to use scripts to switch back and forth between the ieee80211 and mac80211 drivers. ​ To do this, create ​two files in /usr/sbin called "​rt73-mac"​ and "​rt73-ieee"​. Enter this into "​rt73-mac":​
  
   #!/bin/sh   #!/bin/sh
Line 123: Line 132:
  
 After this, you can easily load the rt73 driver (ieee80211) using the command "​rt73-ieee"​. To revert back to rt73usb (mac80211), use "​rt73-mac"​. After this, you can easily load the rt73 driver (ieee80211) using the command "​rt73-ieee"​. To revert back to rt73usb (mac80211), use "​rt73-mac"​.
-  * Move the file to another area on your system as follows then do "​depmod -ae"​. ​ Move  
-/​lib/​modules/​k#/​kernel/​drivers/​net/​wireless/​rt2x00/​rt73usb.ko to a safe place. ​ The "​k#"​ and/or other parts of the path will be different for your distribution/​system. ​ Use "​locate 73.ko" or "find /​lib/​modules -name *73*" to find the full path.  After moving it, do "​depmod -ae". 
-  * Edit /​etc/​modules.d/​blacklist and add "​blacklist rt73usb"​ as a new line. 
- 
-In both cases, reboot your system afterwards. 
- 
-==== 2.6.24 kernel support ==== 
- 
-See this [[http://​tinyshell.be/​aircrackng/​forum/​index.php?​topic=1824.msg17443#​msg17443|forum message]] and the one after it. 
- 
  
 ==== Try a lower data rate ==== ==== Try a lower data rate ====
Line 161: Line 160:
 If aireplay-ng freezes after injecting 700 to 1000 packets, try using the "​-x"​ option which limits the packet injection rate.  Try various values from "-x 100" to "-x 250". If aireplay-ng freezes after injecting 700 to 1000 packets, try using the "​-x"​ option which limits the packet injection rate.  Try various values from "-x 100" to "-x 250".
  
 +==== "​Network is down" error message ====
 +
 +If you get messages similar to this:
 +
 +   ​wconfig rausb0 mode monitor -> Error for wireless request "Set Mode" (8B06): SET failed on device rausb0. Network ist down.
 +   
 +   ​airodump-ng rausb0 -> ERROR: ioctl (SI0CSIFFLAGS) Failed Invalid Argument.
 +   
 +   ​airmon-ng start rausb0 -> raus0    RaLink USB    rt73SI0CSIFFLAGS Argument not allowed (Monitor mode enabled)
 +   ​Interface doesnt accept ioctl...
 +   ​rfmontx (8BEC) Network is down.
 +
 +If you get a "​Network down" message then you must first issue:
 +
 +   ​ifconfig rausb0 up
 +
 +Then put the card into monitor mode with:
 +
 +   ​airmon-ng start rausb0 <​optionally specify the channel here>
 +
 +Instead of airmon-ng, you can set the card manually with:
 +
 +   ​iwpriv rausb0 forceprism 1
 +   ​iwpriv rausb0 rfmontx 1
 +   ​iwconfig rausb0 mode monitor channel <x>
  
 ==== Ubuntu specific ==== ==== Ubuntu specific ====
Line 168: Line 192:
 Even when following the guide above, be sure to use the latest driver version available. Even when following the guide above, be sure to use the latest driver version available.
  
 +==== "​iwe_stream_add_event"​ compile error message ====
 +
 +**NOTE: This applies only to driver version 3.0.1 and earlier. Version 3.0.2 should work out of the box with 2.6.27 kernels.**
 +
 +If you get a series of compile messages similar to "​error:​ passing argument 1 of '​iwe_stream_add_event'​ from incompatible pointer type" then do the following:
 +
 +Open up a shell and type:
 +
 +  wget http://​homepages.tu-darmstadt.de/​~p_larbig/​wlan/​rt73-k2wrlz-3.0.1.tar.bz2
 +  tar -xjf rt73-k2wrlz-3.0.1.tar.bz2
 +  cd rt73-k2wrlz-3.0.1/​Module
 +  wget http://​patches.aircrack-ng.org/​rt73_2.6.27.patch
 +  patch -Np2 -i rt73_2.6.27.patch
 +  make
 +
 +then, as root, type
 +
 +  make install
 +  modprobe rt73
 +
 +==== "​error:​ implicit declaration of function ‘kill_proc’"​ compile error message ====
 +
 +See [[http://​forum.aircrack-ng.org/​index.php?​topic=1824.msg23612#​msg23612|this thread]] for a patch.
 +Version 3.0.2 of the driver shouldn'​t have this bug anymore.
 +
 +==== 2.6.27 kernel support ====
 +
 +Version 3.0.2 does support 2.6.27 out of the box without any modifications needed.
 +
 +If you want to use an earlier version with 2.6.27, here are the patching instructions:​
 +
 +  * http://​www.ab9il.net/​linuxwireless/​
 +  * http://​www.ab9il.net/​linuxwireless/​rt73.html
rt73.txt · Last modified: 2017/01/09 21:32 by mister_x