Contents
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 provide compatibility support since 2.6.22 as that is when mac80211 was introduced onto the stock kernel. For now, this adds only mac80211 and mac80211 drivers as we go on testing them.
If you'd like to keep the wireless-2.6 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.
Where to download
You can download this package here:
http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
This package is updated daily. It reflects the latest on wireless-2.6.git 'everything' branch.
Building and installing
Build:
Build the latest linux wireless subsystem
make
Install:
We use the updates/ directory so your distribution's drivers are left intact.
sudo make install
Uninstall:
This nukes our changes to updates/ so you can go back to using your distribution's supported drivers.
sudo make uninstall
Load:
This unloads your old mac80211 and wireless 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.
sudo make load
Drivers
We'll add more as we go on testing them throughout the old supported kernels. Only tested drivers will be added.
Known issues
- Strange wireless device names:
On Ubuntu and Fedora you may end up with strange network device names, for example, wlan0_rename. This is a known issue and will be worked on.
More compatibility work is needed to add nl80211
- b43:
We still need to iron out some compatibility issues in order to enable b43.
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:
sudo athload madwifi
To revert back to ath5k you can run:
sudo athload ath5k
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.
Bugs
If you've found a bug please report it to our linux-wireless mailing list:
linux-wireless@vger.kernel.org
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.22 ?
Sure, feel free to send patches. The main work was designed to support kernels >= 2.6.22 as that was when mac80211 was introduced.
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.
scripts/admin-clean.sh - Cleans the compat-wireless-2.6 tree scripts/admin-update.sh - Updates compat-wireless-2.6 with your git tree scripts/admin-refresh.sh - Does the above two
To add new drivers:
- Add directory to scripts/admin-update.sh $DRIVERS variable
- Add new compat-wireless-2.6/ dir to obj-y on the local Makefile
- Update compat patch:
cd .. cp -a compat-wireless-2.6/ compat-wireless-2.6.old cp compat-wireless-2.6/drivers/foo/Makefile compat-wireless-2.6/.old/drivers/Makefile.old # edit drivers/foo/Makefile and make necessary changes to enable module diff -u compat-wireless-2.6.old/drivers/foo/Makefile.old \ compat-wireless-2.6/drivers/foo/Makefile >> \ compat/compat.diff # Append to compat/compat.[ch] any new changes needed # to support the driver, please be specific about the reasons # for your additions
- Refresh and test:
./scripts/admin-refresh.sh
- Send patches of the work
Patches for compatibility work
Please send patches against:
git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat-wireless-2.6.git
To: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu> CC: linux-wireless@vger.kernel.org Subject: [PATCH] compat-2.6: add driver foo
Patches for drivers
If you'd like to send patches for a driver though you can send it using our Submitting Patches guidelines.