A generic ieee80211 networking stack for the Linux kernel.
To use, simply download one of the tarballs from the downloads section, untar it, and follow the
installation instructions (for example):

% tar xzvf ieee80211-1.0.1.tgz
% less ieee80211-1.0.1/INSTALL

A note on the development process...

The ieee80211 subsystem is being developed in multiple locations at
once, and keeping them all synchronized is problematic.

The ieee80211 subsystem used here attempts to keep pace with inclusion
of patches submitted to the netdev mailing list as well as to LKML, as
well as potentially destabalizing patches.

The goal is to keep those users that want to keep a functioning system
functioning up and running while still moving to new kernel releases.
In that regard, the ieee80211 development project acts as a screen and
testing ground for patches going into the subsystem.

You can also obtain the latest release and code from the ieee80211
GIT-delta repository. This is not a full GIT tree and provides an
overlay of object cache and SHA data. For more information, see the
ieee80211 GIT page.

status: The same as mainline 2.6.22 with trival compatibility patches
for kernels since 2.6.9

Add compatibility patch for linux-2.6.22 sk_buff structure change

Fix remove-old not to remove mac80211 related files

Apr 02 2007 Changes in 1.2.17

status: Not in mainline yet, but the change is trival (add more
definitions in the radiotap header. If you are using kernel
2.6.20-rc1 or newer, can use the ieee80211 subsystem provided with
your kernel instead of installing this package.

Fix connection problem with an encrypted AP (WPA and WEP) on kernels
earlier than 2.6.18 (This problem only exists on 1.2.16).

Makefile suggests to use bash if it is not the default SHELL.

Makefile keeps quite if Modules.symvers doesn't exist.

Jan 05 2007 Changes in 1.2.16

status: Merged in mainline commit-id 3eb546057dd65ec75c900c9948684ffd5e617630
available as of 2.6.20-rc1. If you are using kernel 2.6.20-rc1 or newer, you
can use the ieee80211 subsystem provided with your kernel instead of
installing this package.

Remove IEEE80211_VERSION_API macro and symbol ieee80211_api_version

Crypto cipher fix for kernel 2.6.19 and above

Fix a WLAN_GET_SEQ_SEQ() select the wrong region bug

Aug 21 2006 Changes in 1.2.15

Status: Merged in mainline commit-id f09fc44d8c25f22c4d985bb93857338ed02feac6
available as of 2.6.18-rc4. If you are using kernel 2.6.18-rc4 or newer, you
can use the ieee80211 subsystem provided with your kernel instead of
installing this package.

The 2.6.13 series currently contains an ieee80211.h include file that is
not compatible with this version of the ieee80211 subsystem. The
ieee80211 subsystem make file should detect the in-kernel version. If
you build the ieee80211 subsystem targetted to install into your kernel
sources, you can then rebuild the kernel using those files:

% make IEEE80211_INC=/lib/modules/`uname -r`/build/include install

That will install ieee80211.h and ieee80211_crypt.h into the include/net
directory contained within the installed kernel build sources.

NOTE: To apply a patch you
download the patch, then
use the patch utility:

% patch -p1 -d TARGETDIR < PATCHFILE

Where TARGETDIR is the location of the package source file and PATCHFILE
is the path to the (you guessed it)... patch file. If you are running
the command from within the project directory then you do not need to
provide the '-d TARGETDIR' parameter.

For example:

% patch -p1 -d ~/my_project < ieee80211-some_fix.patch

would apply the patch 'ieee80211-some_fix.patch' in the directory
'~/my_project'.