compat-wireless
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
compat-wireless [2009/10/16 02:16] – created xavery | compat-wireless [2012/04/02 04:31] – Manual patching for -1 is now required again after compat-wireless-3.3-2-n wims | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | . | ||
====== compat-wireless ====== | ====== compat-wireless ====== | ||
- | **Compat-wireless** is a package which contains the development versions (pulled from the kernel' | + | |
+ | |||
+ | **Compat-wireless** is a package which contains the development | ||
+ | |||
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, | + | |
+ | |||
+ | Additionally, | ||
+ | |||
+ | |||
+ | |||
+ | We distinguish [[http:// | ||
+ | |||
The home page of the package is [[http:// | The home page of the package is [[http:// | ||
+ | Visit the compat-wireless [[http:// | ||
+ | |||
===== 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 : | ||
- | | + | |
+ | |||
+ | | ||
* 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 " | + | If you meet the requirements |
- | $ wget http:// | ||
- | $ tar -jxf compat-wireless-old-$(date -I).tar.bz2 | ||
- | $ cd compat-wireless-old-$(date -I) | ||
- | $ wget http:// | ||
- | $ 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 | + | ==== Kernels 2.6.24 or higher |
- | The installation process is pretty much analogous to the one described above. | ||
- | $ wget http:// | + | |
- | $ tar -jxf compat-wireless-$(date | + | The installation process is as follows: |
- | $ cd compat-wireless-$(date | + | |
+ | // Download the latest available package from | ||
+ | $ tar -jxf compat-wireless-3.3-rc1-2.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.3-rc1-2 | ||
$ wget http:// | $ wget http:// | ||
+ | |||
$ 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 ) | + | |
+ | |||
+ | $ wget http:// | ||
+ | |||
+ | $ patch -p1 < channel-negative-one-maxim.patch | ||
+ | |||
+ | ( apply any additional patches that you may need) | ||
+ | //Before compiling, take a look at " | ||
$ 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 // | ||
===== 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 / | + | 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 | + | |
- | # depmod | + | $ 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 | + | compat-wireless offers one very useful script, called // |
+ | ./ | ||
+ | to see all of the available drivers and options. An example of installing singular module would be | ||
+ | ./ | ||
+ | followed by "sudo make && sudo make install" | ||
+ | Refer to the linux-wireless [[http:// | ||
===== 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 | ||
+ | |||
/ | / | ||
+ | |||
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 **// | ||
==== 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 " | 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 " | ||
- | Secondly, you will need to reload any modules you're currently using, as well as their dependencies, | ||
- | # rmmod b43 | + | 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 |
- | # rmmod ssb | + | sudo make wlunload |
- | # modprobe b43 | + | 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. |
- | Another approach is to use the unload script provided by the authors of the compat-wireless package. Just run **make unload** when the installation finishes. |
compat-wireless.txt · Last modified: 2018/07/20 22:58 by mister_x