User Tools

Site Tools


compat-wireless

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
compat-wireless [2009/11/22 15:53]
darkaudax Added link to installing the Broadcom firmware
compat-wireless [2018/07/20 22:58]
mister_x compat-wireless is deprecated
Line 1: Line 1:
-====== compat-wireless ======+====== compat-wireless ​- DEPRECATED ​====== 
 + 
 + 
 +**UPDATE: DO NOT USE ANYMORE. If successful, it is a downgrade from the curent version of your existing drivers** 
 +**UPDATE: compat-wireless is now known as [[https://​backports.wiki.kernel.org/​index.php/​Main_Page|backports]]** 
 + 
 + 
 +**Compat-wireless** is a package which contains the development and stable versions (pulled from the kernel'​s git repository) of the in-kernel wireless drivers and the mac80211 wireless stack. New packages are released pretty much every day. 
  
-**Compat-wireless** is a package which contains the development versions (pulled from the kernel'​s git repository) of the in-kernel wireless drivers and the mac80211 wireless stack. New packages are released pretty much every day. 
  
 This package is mentioned quite often on the forums and the IRC channel because using it is very convenient. You can think of it (in fact, you should) as a sized-down version of the kernel tree, a one that contains only the sources of the wireless drivers and the wireless stack. Therefore, you can apply any wireless-related patches to it and recompile them without having to recompile the whole kernel. This package is mentioned quite often on the forums and the IRC channel because using it is very convenient. You can think of it (in fact, you should) as a sized-down version of the kernel tree, a one that contains only the sources of the wireless drivers and the wireless stack. Therefore, you can apply any wireless-related patches to it and recompile them without having to recompile the whole kernel.
  
-Additionally,​ the development versions of the drivers have one particular advantage : they'​re being constantly improved. It is not uncommon to see that they support more hardware, have better performance,​ or simply contain fixes to various bugs - in contrast to their stable versions. However, you should always remember that development versions may be incomplete or contain even more bugs than the stable ones. Ergousing them is not recommended ​in environments where high stability is desired.+ 
 + 
 +Additionally,​ the development versions of the drivers have one particular advantage : they'​re being constantly improved. It is not uncommon to see that they support more hardware, have better performance,​ or simply contain fixes to various bugs - in contrast to their stable versions. However, you should always remember that development versions may be incomplete or contain even more bugs than the stable ones. 
 + 
 + 
 + 
 +We distinguish [[http://​linuxwireless.org/​en/​users/​Download#​Compat-wireless_release_types|two]] versions of compat-wirelessdevelopment (//bleeding edge//) and stable. The development version may include more drivers, supported hardware and bug-fixes but may not be as stable as the '​stable'​ version which implies its nature. With minor exceptions, both versions will suffice ​in your bid to enable //​aircrack-ng//​ support for your card/driverFor the majority of the users the stable version is the preferred one to use 
 + 
  
 The home page of the package is [[http://​wireless.kernel.org/​en/​users/​Download|here]]. The home page of the package is [[http://​wireless.kernel.org/​en/​users/​Download|here]].
 +Visit the compat-wireless [[http://​forum.aircrack-ng.org/​index.php?​topic=6951.0|forum thread]] to share your experience if you need assistance.
 +
  
 ===== Package requirements ===== ===== Package requirements =====
 +
 +
  
 In order to install this package, you need to have a few things : In order to install this package, you need to have a few things :
  
-  ​* Kernel ​newer than or equal to 2.6.22, though versions newer than and equal to 2.6.27 are highly recommended+ 
 + 
 +  ​* Kernel ​**2.6.24** or higher 
   * The kernel headers for the kernel you're currently running   * The kernel headers for the kernel you're currently running
 +
   * Basic development tools   * Basic development tools
 +
 +
  
 ===== Installing the package ===== ===== Installing the package =====
  
-If you meet the requirements of the package, you can try installing it. The installation process (or, more precisely, the package selection) depends on which kernel you're running. 
  
-==== Kernels 2.6.22 - 2.6.26 ==== 
  
-For these kernels, a package called **compat-wireless-old** exists. It's not as widely supported and updated as often as the "​normal"​ version. ​If you can, consider updating to a more current version ​of the kernel.+If you meet the requirements ​of the package, you can try installing it
  
-   $ wget http://​wireless.kernel.org/​download/​compat-wireless-2.6/​compat-wireless-old-$(date -I).tar.bz2 
-   $ tar -jxf compat-wireless-old-$(date -I).tar.bz2 
-   $ cd compat-wireless-old-$(date -I) 
-   $ wget http://​patches.aircrack-ng.org/​mac80211.compat08082009.wl_frag+ack_v1.patch 
-   $ patch -p1 < mac80211.compat08082009.wl_frag+ack_v1.patch 
-   ( apply any additional patches that you may need ) 
-   $ make 
-   # make install 
  
-Please note that the patch provided here worked for the newest version of compat-wireless-old at the time of writing this article (15 October 2009). Due to its highly changeable nature, please keep in mind that it might not work for newer versions of the package. 
  
-==== Kernels ​newer than and 2.6.27 ====+==== Kernels 2.6.24 or higher ​====
  
-The installation process is pretty much analogous to the one described above. 
  
-   $ wget http://​wireless.kernel.org/​download/compat-wireless-2.6/compat-wireless-$(date -I).tar.bz2 + 
-   $ tar -jxf compat-wireless-$(date ​-I).tar.bz2 +The installation process is as follows: 
-   $ cd compat-wireless-$(date ​-I)+ 
 +// Download the latest available package from  ​http://​wireless.kernel.org/​en/​users/​Download/​stable/ ​// 
 +   $ tar xvjf compat-wireless-3.6-rc6-1.tar.bz2 
 +//**note:** the exact filename of the tarball depends on which version you have downloaded, substitute the example filename with the one corresponding to the file you downloaded//​ 
 +   $ cd compat-wireless-3.6-rc6-1 
    $ wget http://​patches.aircrack-ng.org/​mac80211.compat08082009.wl_frag+ack_v1.patch    $ wget http://​patches.aircrack-ng.org/​mac80211.compat08082009.wl_frag+ack_v1.patch
 +   
    $ patch -p1 < mac80211.compat08082009.wl_frag+ack_v1.patch    $ patch -p1 < mac80211.compat08082009.wl_frag+ack_v1.patch
-   ( apply any additional patches that you may need )+ 
 +//**note:** the next two steps are only required for compat-wireless versions before v3.3-rc1-2 // 
 +   $ wget http://​patches.aircrack-ng.org/​channel-negative-one-maxim.patch 
 +       
 +   $ patch -p1 < channel-negative-one-maxim.patch 
 + 
 +   ( apply any additional patches that you may need) 
 +//Before compiling, take a look at "​driver-select"​ down the page//
    $ make    $ make
-   # make install 
  
 +   $ sudo make install
 +
 +   $ sudo make wlunload
 +
 +   $ sudo modprobe driver-name
 +Reboot, if you're unsure.
 +==== Kernels 2.6.22 - 2.6.24 ====
 +
 +If you're using an ancient kernel, currently lower than 2.6.24, you won't have much success enabling aircrack-ng. There used to be a package called //​compat-wireless-old//​ which is no longer supported. You could try and dig in to [[http://​www.orbit-lab.org/​kernel/​compat-wireless-2.6/​|Orbit'​s]] archives for older releases, be warned, the likelihood of you succeeding is very slim. Your best bet to enable compat-wireless,​ thus aircrack-ng,​ is to install a supported kernel version. An other convenient option is to utilize linux Live CD with preconfigured settings for easy aircrack-ng operation. ​
 ===== Uninstalling the package ===== ===== Uninstalling the package =====
  
-Should you be in any way dissatisfied with the new drivers, you can uninstall them very easily, since - in order to keep the original drivers and stack unmodified - the compat-wireless package installs its modules into a different directory so that the old ones are not overwritten. 
  
-   $ cd /​lib/​modules/​`uname ​-r`/ +Should you be in any way dissatisfied with the new drivers, you can uninstall them very easily and return to your default wireless kernel drivers: 
-   # rm -fR updates +  ​$ cd compat-wireless-$(date -I) 
-   # depmod ​-ae+  $ sudo make uninstall 
 +  $ sudo make wlunload 
 +Then reboot or sudo modprobe your-desired-driver to complete the process. 
 +===== Driver Select =====
  
-The two commands described above will delete ​all the new drivers, as well as the wireless ​stack provided by compat-wirelessand revert you to using the original kernel modules.+compat-wireless offers one very useful script, called //​driver-select//,​ which allows you to save time when compiling your preferred driver. Currently not all drivers ​are available via driver-select but the most common ones are. Its useful if you install compat-wireless ​frequently or if you have one card on your computer. Enter the compat-wireless ​directory ​and issue: 
 +  ./​scripts/​driver-select 
 +to see all of the available drivers and optionsAn example of installing singular module would be 
 +  ./​scripts/​driver-select ath9k 
 +  followed by "sudo make && sudo make install"​
  
 +Refer to the linux-wireless [[http://​linuxwireless.org/​en/​users/​Download#​Selecting_your_driver|driver-select]] page for more details.
 ===== Troubleshooting ===== ===== Troubleshooting =====
 +
 +
  
 ==== Compilation problems ==== ==== Compilation problems ====
 +
 +
  
 If you encounter compilation problems, please make sure you've got kernel headers installed and that the system knows where to look for them. Generally, there should be a symlink under If you encounter compilation problems, please make sure you've got kernel headers installed and that the system knows where to look for them. Generally, there should be a symlink under
 +
  
    /​lib/​modules/​`uname -r`/build    /​lib/​modules/​`uname -r`/build
 +
  
 which points to the directory containing the kernel headers. which points to the directory containing the kernel headers.
  
 +**Compilation errors**
 +
 +Every now and then, you may stumble upon errors during compilation and the process may end because of them. Its not necessarily **//​your//​** fault. Sometimes, the compat-wireless tar balls do come out with compile errors built in, which are usually resolved in the next few releases. Should this happens to you, simply download an older version from the previous days and try again. If your problem persists and you're stuck, share your difficulties with the community in this [[http://​forum.aircrack-ng.org/​index.php?​topic=6951.0|forum]] thread
 ==== Module loading problems ==== ==== Module loading problems ====
  
-Firstly, make sure that the compat-wireless package was compiled with GCC whose minor version is the same as the minor version of the GCC with which the kernel was compiled. For example, if you compiled your kernel with GCC 4.3.2, but you compiled compat-wireless with GCC 4.4.1, you might run into "​Invalid module format"​ problems. These will also occur if you've built the package for a different kernel than the one you're currently running. 
  
-Secondly, you will need to reload any modules you're currently using, as well as their dependencies,​ in order to make sure that there are no unresolved symbols (i.e. functions/​macros/​variables that are present in the new version but not in the old one). The best way to do this is to reboot. If you don't want to reboot, then simply rmmod all the wireless-related modules that are currently being used. For example, if you're using the b43 driver, then you would have to do : 
  
-   # rmmod b43 +Firstly, make sure that the compat-wireless package was compiled with GCC whose minor version ​is the same as the minor version ​of the GCC with which the kernel was compiled. For example, if you compiled your kernel with GCC 4.3.2, but you compiled ​compat-wireless ​with GCC 4.4.1, you might run into "​Invalid module format"​ problems. These will also occur if you've built the package for a different kernel than the one you're currently running.
-   # rmmod ssb +
-   # modprobe b43 +
- +
-Another approach ​is to use the unload script provided by the authors ​of the compat-wireless ​packageJust run **make unload** when the installation finishes. +
- +
- +
-==== Broadcom firmware missing ====+
  
-Because of Broadcom'​s licensing, the firmware - which is essential for the card to run - cannot be freely distributed and is obtainable only by “extracting” their proprietary driver. ​ See [[http://​aircrack-ng.org/​doku.php?​id=b43#​installing_the_firmware|installing the firmware instructions here]] to learn the required steps. 
  
 +Secondly, as shown above, it is imperative to unload ALL wireless modules before you attempt to load your newly compiled ones. While in the compat-wireless directory
 +  sudo make wlunload
 +will make sure all of the wireless modules are unloaded, which will pave the way for your new driver take its place. Reboot if you're unsure.
  
compat-wireless.txt · Last modified: 2018/07/20 22:58 by mister_x