- Aircrack-ng
- User Tools
- Site Tools
- Table of Contents
- compat-wireless — DEPRECATED
- Package requirements
- Installing the package
- Kernels 2.6.24 or higher
- Kernels 2.6.22 — 2.6.24
- Uninstalling the package
- Driver Select
- Troubleshooting
- Compilation problems
- Module loading problems
- Linux Wireless
- User Tools
- Site Tools
- Sidebar
- Table of Contents
- compat-wireless-old
- Requirements
- Release notes
- Where to download
- Building and installing
- Drivers
- Known issues
- Building for external kernels
- How about compatibility work for kernels older than 2.6.21 ?
- ChangeLog
- compat-wireless-old ChangeLog
- License
- Developers
- Hacking on compat-wireless-2.6-old
- Patches for compatibility work
- Checking out compat-wireless-2.6-old.git tree
- Download latest Linux wireless drivers
- Requirements
- Linux wireless version table
- Where to download
- Directly downloading the tarball
- Archive of compat-wireless-2.6 tarballs
- Building and installing
- Drivers
- Known issues
- Why was this work done?
- What’s the difference between compat-wireless-2.6 and John Linville’s tree?
- Do I need this on Fedora?
- Building for external kernels
- How about compatibility work for kernels older than 2.6.21 ?
- ChangeLog
- wireless-testing ChangeLog
- compat-wireless ChangeLog
- License
- Developers
- Patches for compatibility work
- Checking out compat-wireless-2.6.git tree
- Patches for drivers
Aircrack-ng
User Tools
Site Tools
Table of Contents
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 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.
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 two versions of compat-wireless, development (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/driver. For the majority of the users the stable version is the preferred one to use
The home page of the package is here. Visit the compat-wireless forum thread to share your experience if you need assistance.
Package requirements
In order to install this package, you need to have a few things :
Installing the package
If you meet the requirements of the package, you can try installing it.
Kernels 2.6.24 or higher
The installation process is as follows:
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
note: the next two steps are only required for compat-wireless versions before v3.3-rc1-2
Before compiling, take a look at “driver-select” down the page
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 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
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:
Then reboot or sudo modprobe your-desired-driver to complete the process.
Driver Select
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:
to see all of the available drivers and options. An example of installing singular module would be
Refer to the linux-wireless driver-select page for more details.
Troubleshooting
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
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 forum thread
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, 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
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.
Источник
Linux Wireless
User Tools
Site Tools
Sidebar
Table of Contents
compat-wireless-old
We started providing compatibility support since 2.6.22 as that is when mac80211 was introduced onto the stock kernel but we have now added initial support for older kernels, starting at 2.6.21.
Requirements
You will need at least of these kernels:
Additionally, the kernel you’re building for needs a valid “.config” file, if it isn’t present compat will assume you have PCI, USB and PCMCIA built into your kernel and if not, fail building.
Release notes
Later kernels got WMM supported redesigned for mac80211, when using compat-wireless old we will build our own WMM support for you without usage of the new kernel QOS features. This is exactly how WMM was handled in mac80211 on 2.6.22, but keep in mind 2.6.22 didn’t come with any mac80211 drivers, it came just with mac80211 itself. Since you get a custom WMM support you also get 802.11n support, which requires WMM support.
Its worth noting compat-wireless-old currently does not get any attention from any developer as such its not getting further updates. Patches are always welcomed though.
Where to download
You can get compat-wireless-old from:
Building and installing
Extract:
Extract the content of the package:
Build:
Build the latest Linux wireless subsystem:
Install:
We use the updates/ directory so your distribution’s drivers are left intact.
Uninstall:
This nukes our changes to updates/ so you can go back to using your distribution’s supported drivers.
Unload:
Since you might be replacing your old mac80211 drivers you should first try to unload all existing mac80211 and related drivers. Note also that broadcom, zydas, and atheros devices have old legacy drivers which you need to be sure are removed first. We provide a mechanism to unload all old and legacy drivers first so you should run to be sure:
Load:
Before loading modules you must first unload your old wireless subsystem modules. Read above how to do this. If you know what module you need you can simply load the module using modprobe. If you simply are not sure you can use, just reboot the box.
Drivers
Here is the list of all the drivers we support in this package.
Known issues
On distribution releases with old udev rules you may end up with strange network device names, for example, wlan0_rename. You may also end up with master device names such as eth3, when this was actually intended to be named wmaster0. This happens because master interface has the same MAC address as the real interface, and it is created first. The old udev rule, which keys on the MAC addres, may rename it to device names like eth3, for example. Then the real interface is created, udev sees that it has already renamed an interface with that MAC and gives it the wlan0_rename name.
If you delete the generated rename rules, it should create the correct ones on the next boot. Alternately, you could add:
selector to your current rule. Debian puts these autogenerated udev rules in /etc/udev/rules.d/z25_persistent-net.rules. Other distributions may vary slightly.
Kernels ⇐ 2.6.22 now get nl80211 support, however, genl_multicast_group won’t work. This compatibility cannot be extended to older kernels as the struct genl_family was extended on 2.6.23 to add the struct list_head mcast_groups. Without this you will not be able to use nl80211 events which uses this heavily. The compat-wireless-old release does not have nl80211 events though so you should not care about this.
To revert back to bcm43xx you can run:
If MadWifi is present the build system will detect this and disable it. It does this by simply renaming ath_pci.ko to ath_pci.ko.ignore. This lets us disable the MadWifi driver without blacklisting it which could cause issues with users later. If you would like to enable MadWifi at a later time and disable ath5k you can run:
To revert back to ath5k you can run:
Building for external kernels
If you have a kernel you do not have installed but yet want to build the compat-wireless-old drivers for it you can use this syntax:
If you’ve found a bug you are expected to fix it as this is not being actively developed. Patches are always welcomed of course.
How about compatibility work for kernels older than 2.6.21 ?
Sure, feel free to send patches. The main work was designed to support kernels >= 2.6.22 as that was when mac80211 was introduced. Some drivers are available for 2.6.21 but not all drivers can work on that kernel due to an CRC-ITU-T algorithm dependency.
ChangeLog
compat-wireless-old ChangeLog
See the compat-wireless-old ChangeLog to view changes made necessary in order to keep advancing this package.
License
This work is a subset of the Linux kernel as such we keep the kernel’s Copyright practice. Some files have their own copyright and in those cases the license is mentioned in the file. All additional work made to building this package is licensed under the GPLv2.
Developers
Hacking on compat-wireless-2.6-old
The old compat-wireless tree is used for kernels ⇐ 2.6.26. We don’t have an automatic script to update it. It is updated manually, as such if you want it updated please send patches to linux-wireless mailing list and hack on it as you would with the kernel using git on its own tree.
RHEL5, Centos5, and Debian etch seems to be stuck on 2.6.18. Patches are welcomed.
Patches for compatibility work
For kernels >= 2.6.27 please send patches against
Checking out compat-wireless-2.6-old.git tree
To checkout the compat-wireless-2.6.git tree you do:
Note: you do not need a wireless-testing clone to use or hack on this tree.
Источник
Download latest Linux wireless drivers
You can now download a package which lets you compile and install the latest advances on the Linux wireless subsystem and get some of our latest drivers without having to recompile your entire kernel. We started providing compatibility support since 2.6.22 as that is when mac80211 was introduced onto the stock kernel but we have now added initial support for older kernels, starting at 2.6.21. This package adds mac80211, mac80211 drivers, and any new FullMAC driver which has had fairly recent updates worth getting such as libertas, ipw2100 and ipw2200.
If you’d like to keep the wireless-testing.git repository local as well, please read out git-guide which explains how to achieve this. With a local git repository you can update the compatibility package yourself. For more information on how to do this please refer the Developers section below. Please keep in mind though that if you do this it is advised you start your compat-wireless-2.6 tree through the git tree that holds it. This way if changes are made to add support for a new driver of a new compatibility feature all you need to do is pull from the repository (git-pull). Please read Checking out compat-wireless-2.6.git tree section for details on how to do this.
Requirements
You need two things:
A kernel >= 2.6.21 (limited support for 2.6.21)
Please be very sure you have your kernel headers installed before reporting any sort of build issues with this package. This usually will mean having this symlink point to a valid directory with kernel headers in it:
The exception to this is if you are building the package targeting a kernel you are not running. Users doing this should read the Building for external kernels section.
Additionally, the kernel you’re building for needs a valid «.config» file, if it isn’t present compat will assume you have PCI, USB and PCMCIA built into your kernel and if not, fail building.
Linux wireless version table
The following is the latest release versions for code taken from wireless-testing.git and on compat-wireless.git. This is updated automatically every day. The version represents the git-describe output.
wireless-testing.git: v2.6.26-rc4-8783-gef28eab
compat-wireless.git: 3.0-16-ge67fc86
Where to download
You can download this package here:
This package is updated daily. It reflects the latest on wireless-testing.git tree.
Directly downloading the tarball
We have enabled anti-hotlinking to the compat-wireless-2.6.tar.bz2 tarball. This ensures users directed to this tarball from random tutorials online will hopefully read this page. Anti-hotlinking prevents users from accessing the tarball directly before seeing this page. In summary, you cannot directly (for example using wget) this tarball before having viewed this introductory page. If you try to do so you will be redirected here. You can, however, directly download a dated version of the tarball, for example compat-wireless-2008-03-25.tar.bz2.
You can find the latest dated tarball in the compat-wireless-2.6 download directory.
Archive of compat-wireless-2.6 tarballs
linuxwireless.org only hosts the latest dated compat-wireless-2.6 tarball but if you would like an older release please check the compat-wireless-2.6 archive, which is hosted by Orbit.
Building and installing
Extract:
Extract the content of the package:
Build:
Build the latest Linux wireless subsystem:
Install:
We use the updates/ directory so your distribution’s drivers are left intact.
Uninstall:
This nukes our changes to updates/ so you can go back to using your distribution’s supported drivers.
Unload:
Since you might be replacing your old mac80211 drivers you should first try to unload all existing mac80211 and related drivers. Note also that broadcom, zydas, and atheros devices have old legacy drivers which you need to be sure are removed first. We provide a mechanism to unload all old and legacy drivers first so you should run to be sure:
Load:
If you know what module you need you can simply load the module using modprobe. If you simply are not sure you can use:
Note that this will run make unload first, just in case you forgot. This unloads your old wireless subsystem drivers and loads the new shiny ones. For example if ipw3945 and its proprietary daemon are found it’ll be stopped and the module unloaded and then iwl3945 will be loaded. If you are simply upgrading a mac80211 driver this will unload the old one and the old mac80211 drivers and load the new ones.
Drivers
Here is the list of all the drivers we support in this package.
Known issues
Lets clarify device names first. Regularly you should only see two new device names:
- wmaster0
- wlan0
The wmaster0 device is what we call the master device. The master device is an internal master device used only by mac80211. It should be ignored by users. If possible we will try to hide it from users later.
On distribution releases with old udev rules you may end up with strange network device names, for example, wlan0_rename. You may also end up with master device names such as eth3, when this was actually intended to be named wmaster0. This happens because master interface has the same MAC address as the real interface, and it is created first. The old udev rule, which keys on the MAC addres, may rename it to device names like eth3, for example. Then the real interface is created, udev sees that it has already renamed an interface with that MAC and gives it the wlan0_rename name.
If you delete the generated rename rules, it should create the correct ones on the next boot. Alternately, you could add:
selector to your current rule. Debian puts these autogenerated udev rules in /etc/udev/rules.d/z25_persistent-net.rules. Other distributions may vary slightly.
Kernels won’t work. This compatibility cannot be extended to older kernels as the struct genl_family was extended on 2.6.23 to add the struct list_head mcast_groups. Right now nothing is using this though so you should be able to use the existing nl80211 userspace applications.
- b43:
b43 and b43legacy now load. Since there was an old softmac broadcom driver we provide a load script for this driver. To load the new generation drivers (b43 and b43legacy) you can run:
To revert back to bcm43xx you can run:
If MadWifi is present the build system will detect this and disable it. It does this by simply renaming ath_pci.ko to ath_pci.ko.ignore. This lets us disable the MadWifi driver without blacklisting it which could cause issues with users later. If you would like to enable MadWifi at a later time and disable ath5k you can run:
To revert back to ath5k you can run:
Why was this work done?
It was done for users or developers stuck on older kernels that want to help test or patch wireless work. Additionally if you’re on a recent kernel this lets you get the latest and greatest wireless-2.6 git work without much effort. This may mean new drivers for some users. Last but not least we hope this will encourage vendors and developers to post patches upstream first rather than forking or maintaining their own mac80211 releases with their own patches for their own drivers.
- prism54, p54pci, p54usb?
We don’t provide prism54 in this package because distributions already provide it. p54 is its replacement. prism54 works only with full MAC cards. p54 works with both full MAC and soft MAC cards. p54 just doesn’t yet support ad-hoc, and AP mode. Should prism54 get any new updates we’ll start packaging it here.
- What about net/ieee80211/softmac/ and their drivers?
Documentation/feature-removal-schedule.txt is being updated to mark this for removal. Here is the relevant text:
If your driver needs firmware please be sure to check the driver page for that driver here:
What’s the difference between compat-wireless-2.6 and John Linville’s tree?
This package is based on John’s tree, we just add compatibility support for older kernels.
Do I need this on Fedora?
John Linville actually builds Fedora kernels whenever he makes any updates to wireless-testing.git and these kernels are based on wireless-testing.git so you should just have to upgrade your kernel. What you get from these kernels will be exactly what you will get out of this package. Therefore you really only need compat-wireless-2.6 package on Fedora if you are using a really old kernel and you can’t upgrade for some reason. Note that yum update is reasonably useful, although it can be weeks behind. If you want to be sure to get the latest Fedora kernels which have wireless-testing.git code in you can get them here:
These are the kernels that John builds for Fedora.
Building for external kernels
If you have a kernel you do not have installed but yet want to build the compat-wireless-2.6 drivers for it you can use this syntax:
If you’ve found a bug please report it to our linux-wireless mailing list:
Report the bug because you are working with the latest and greatest. If your bug is compatibility-related then we should still try to fix it within the compat.[ch] work.
How about compatibility work for kernels older than 2.6.21 ?
Sure, feel free to send patches. The main work was designed to support kernels >= 2.6.22 as that was when mac80211 was introduced. Some drivers are available for 2.6.21 but not all drivers can work on that kernel due to an CRC-ITU-T algorithm dependency.
ChangeLog
wireless-testing ChangeLog
See the wireless-testing ChangeLog to see the list of latest changes to all wireless drivers, the wireless core and mac80211. Since this package is based on the wireless-testing.git latest means patches which John has accepted today!
compat-wireless ChangeLog
See the compat-wireless-2.6 ChangeLog to view changes made necessary in order to keep advancing this package.
License
This work is a subset of the Linux kernel as such we keep the kernel’s Copyright practice. Some files have their own copyright and in those cases the license is mentioned in the file. All additional work made to building this package is licensed under the GPLv2.
Developers
Please try adding new drivers, test them and if they work enable them. You can then send patches. Compatibility work goes into compat/compat.[ch]. If using those files do not suffice additional actual code changes can go into compat/compat.diff.
If you have your own wireless-testing.git tree, before running admin-update.sh be sure to set your GIT_TREE variable. For example:
Compatibilty work for 2.6.18 –> 2.6.20
RHEL5, Centos5, and Debian etch seems to be stuck on 2.6.18. Patches are welcomed.
- Dialog (make menuconfig) option for this package
Patches for compatibility work
Please send patches against:
Checking out compat-wireless-2.6.git tree
If you have a local wireless-testing.git tree already you can just check out the compat-wireless-2.6.git tree yourself and make updates manually. To checkout the compat-wireless-2.6.git tree you do:
Every now and then you want to pull to get the latest updates:
Patches for drivers
If you’d like to send patches for a driver though you can send it using our Submitting Patches guidelines.
Источник