The Linux Wireless LAN Howto is an Open Source project
sponsored by Hewlett Packard
(through my contribution) since 1996, and built with the
contribution of many Linux users all over the world.
I first got involved in the Wireless LAN world by hacking the Wavelan
drivers for Linux. I'm quite curious, so I start gathering information
to know how the damn beasty was working.
Then, I realised that there was no central point where you could find
all this information, links to the drivers and issues with Linux. So,
I start stuffing it on my web pages, and it slowly evolved to what you
see now.
I'm no longer active on the Wavelan drivers, but I'm also still
following the work of Wireless LAN (called as well WLAN or Radio
Ethernet), especially in relation with Linux. So, once every century,
I update my Linux Wireless LAN Howto (html and pdf available
below) and the collection of URLs (after the howto). I hope
that it is usefull to someone...
I've decided to collect all the information about Wireless LANs and
Linux that I was able to find. The goal was also to document my work
and to become famous :-) You will find all that information in the
Linux Wireless LAN Howto, available in PostScript,
PDF and HTML (see below).
The original Linux Wireless LAN Howto is available as 3
postscript or acrobat (PDF) documents, which contains the same
material but with the original presentation. So if you wish to enjoy a
better reading experience or to print it, use those documents :
The translation of the Howto to HTML lack the presentation but is more
browser friendly, with cross references, external web links and
support of HTML
navigation. It is composed of the following documents :
Lot's of people are working to make Linux better in supporting
Wireless LANs, you will find down here some link to their web
pages. This is only some shortcuts, you will find the complete list of
drivers and all the details in
the Howto.
Release notes for the Linux
Wavelan drivers, that support only the very old Wavelan
cards (now obsolete).
Release notes for the Linux
Orinoco driver, that support most Orinoco cards,
Symbol HR cards and PrismII cards.
David Gibson
is the author and maintainer of the Orinoco Linux driver. He
has a mailing
list about it.
Pavel Roskin
maintains the Symbol-CF version of the Orinoco driver.
Manuel Estrada Sainz
was maintaining the Orinoco-USB version of the Orinoco driver.
Mark
S. Mathews is the maintainer of the Prism and
Prism II based cards Linux drivers and is doing lot's or
work on implementing a 802.11 layer for Linux. He has a couple
of mailing list about it.
Thomas
Corey has developed a driver for the Raytheon Raylink
802.11 wireless LAN (his old homepage).
Reyk Floeter was
working on a GPL driver for the various cards based on the ATHEROS
802.11a chipset, and had preliminary source code available (not
yet functional).
Jörg
Albert is maintaining the old driver for the Elsa MC2 and ZCOM
WL24 devices originally written by ZCOM and Elsa. He has a mailing
list about it.
Bas Vermeulen
has developed a driver for the No Wires Needed 802.11 wireless
LAN.
James Ketrenos and
many people are working on the Intel ieee80211 stack. This
stack is currently in the Linux kernel 2.6.14+, is used by various
Intel Centrino drivers and is derived from the HostAP driver.
Michael Buesch and
Larry Finger are working on the SoftMAC layer for the
Intel ieee80211 stack. This layer is currently in the Linux
kernel 2.6.17+ and used by various drivers (Broadcom, Zydas...).
Jiri
Benc and Jirka Bohac are working on the mac80211 kernel
stack (formerly ieee80211 DeviceScape stack). This stack is
currently in the Linux kernel 2.6.22+ and used by a few drivers
(RealTek...).
A very long time ago InfoTech was developing a
802.11 software stack for Linux, including the Access Point
functionality.
Wireless Linux Distributions
Most distributions support some Wireless cards out of the box, and
have the infrastructure to support other cards when the proper driver
is installed. Those distributions have a specific focus on Wireless
LAN.
IT-University KTH has released Flying Linux, a Linux
distribution with native support for wireless LANs (mostly
Wavelan IEEE & Mobile IP).
Vladimir Ivaschenko has
created parprouted, a daemon for transparent IP (Layer 3)
proxy ARP bridging. This allow to do "IP bridging" on any
802.11 card (instead of MAC bridging).
Till
Straumann has created a Linux distribution for Airport (to
run Linux directly on the Airport or RG-1000 Access Point).
Instant 802 Networks, Inc
have created OpenAP, a
Linux distribution which directly on Prism II Access Points (such as
the US Robotics, SMC or Addtron Access Points). This is based on the
HostAP driver.
OpenWRT is a wireless
distribution targetting various Home Wireless Routers, such as
the famous Linksys WRT54G Access Points.
DD-WRT is a derivative of
OpenWRT, adding a better user interface and Radius.
Coova is
another derivative of OpenWRT, adding a better user interface
and Radius.
WISP-Dist is
as embedded Linux distribution for wireless routers based on LEAF Bering and that support
Orinoco/Aironet/PrismII cards.
Sputnik
Gateway is a distribution that turn a regular PC with a wireless
card into a Sputnik Gateway.
ROSE is a Linux distribution
that Radionet use to deploy WiFi HotSpots. Like many others, it
is based on the HostAP driver.
BlueTooth support
BlueZ is the official
BlueTooth stack for Linux. You may also want to consult the mailing lists.
OpenBT is
the alternative BlueTooth stack for Linux, which also has its
own mailing
list.
The security included in all Wireless LAN is cost effective, so
if you want security over your Wireless LAN, you may want to check
those packages.
Generic security solutions
Generic security protocols are totally independant of the underlying
technology, so will work on any kind of wired or wireless
connection. Those solutions are often classical, well defined and
proven.
FreeS/WAN is the
popular IPsec package for Linux. Only available with 3DES
encryption.
WaveSec is a part of the
FreeS/WAN project looking at how it FreeS/WAN applies to Wireless
LANs. They provide tools, documentations and sample
configurations.
Cerberus, an
IPsec implementation from NIST. This implementation contain
many different encryption cypher (including all the AES finalists),
but is subject to US export controls.
OpenSSH, an Open Source
implementation of the SSH protocol. A favorite for Unix users.
802.11 specific solutions are more complex and depend on hardware
support. They come in two parts, the first part runs between the card
and the Access Point (802.1x, WPA), the second part runs between the
Access Point and an authentication server (Radius).
Open1x xsupplicant is an Open
Source implementation of the 802.1x protocol (capable of using
EAP/TLS to authenticate) for Linux and BSD. Recent version add support
for the WPA and WPA2 protocols.
Adam
Sulmicki has written a FAQ on how to setup 802.1x with
Radius under Linux.
wpa_supplicant is complete
implementation of the WPA and WPA2 protocols, providing
enhanced privacy and security.
PortSlave is
the default Radius server of the LRP (Linux Router Project).
FreeRADIUS, a Radius
server with LDAP and SQL support, the official descendant of Cistron RADIUS.
There is a lot of good documentation out there ;-)
Roberto
Arcomano has written a good detailed Wireless Howto covering in
depth the setup of some Wireless LANs.
Dries
Buytaert has written an excellent Linux-wlan FAQ, answering
common question mostly related to the linux-wlan-ng Linux
driver for Intersil PrismII based cards.
Anindya has done a
complete installation Howto for the PrismII and Aironet cards.
Craig has done
some technical installation Howto for the TI, Atmel and ADMtek
cards.
The Linux Wireless
wiki has some good information on more technical details.
The Arlan Wireless
Router Howto explain how to use any wireless LAN as a point to
point data link between distant houses.
Another excellent Wireless
link Howto, where they describe in details all the step by step
operations (theory, hardware, software...) of using the Symphony (or
other Wireless LAN) as a point to point connection between
distant houses. And they have a comprehensive list of links...
Simon
Anderson has a Linux Wireless Access Point HOWTO, which
include lot's of good information on various AP topics (HostAP, DHCP,
DNS, routing, firewalling, NoCat...).
Yang-Hwee
TAN has a quick Howto about Building a Secure Wireless Access
Point using the HostAP driver and FreeS/WAN.
Jason
Boxman has a pretty extensive Howto on how to use the HostAP
driver, especially to set up an Access Point.
Ross
Finlayson explain in details how to use Linux as a Wireless
router for their wireless ISP (LIVE.COM).
Yunus
Bookwala explain how to set-up a Wireless HotSpot, using
OpenWrt and focusing mostly on the accounting/security
back-end.
John
G. Faughnan has a page on home networking, including
Wireless LANs and Linux.
Harald
Roelle has a page on how to set up a Wavelan IEEE under
Linux-PPC and how to connect it to the "UFO" (the Apple Airport
base station).
Elan
Digital Systems has a very complete FAQ on how to setup
PCI-Pcmcia bridges under Linux.
Jun Sun's
has a howto on how to flash PrismII firmwares under Linux or
Windows.
If after reading all the documentation above you still can't find the
info you are looking, here are a couple of source of help to get in
touch with other Linux users.
The Linux Pcmcia
web site has the Pcmcia FAQ and some Pcmcia
Wireless forums for all questions regarding drivers included in
the Linux Pcmcia package and the Linux kernel.
For questions regarding point to point links, the Wavelan
users in Autralia have set up a very useful mailing list...
Some individual drivers have specific mailing lists associated
with them, those are listed in the
Howto...
If you don't want to play alone with your wireless equipement, there
are lots of people setting up public wireless networks using Linux. I
just picked a few of those with interesting info on their pages.
WiFiMaps has some
maps of public wireless connectivity, and allow you to
locate those public wireless Access Points.
Linux users in Australia are
using the good old Wavelan or the Wavelan IEEE to create
point to point data link between distant houses. They have set
up a mailing
list, which is not Wavelan specific and very useful.
Guerilla Net aim to setup a
free network in the area of Boston.
Consume the net
want to do the same in the area of London. Many mailing lists.
Elektrosmog wants
fast Internet everywhere, starting in Sweeden.
Seattle Wireless wants
to build a next-generation community wireless network.
Personal Telco want to
build alternative communication networks in the area of
Portland. Their web site contains a mountain of information, such as
this Wireless
FAQ.
NYCwireless wants Free
Public Wireless Internet for New York City. They have some mailing
lists.
BAWUG, the Bay Area
(California) Wireless User group is pretty active and has some mailing lists.
Reseau Citoyen is deploying
their wireless network in Bruxelles, Belgium, and has an
extensive amount of information in french.
LIVE.COM want you to
enjoy wireless coffee in Mountain View, California.
The Shmoo Group has setup
a database of public Wireless LAN networks.
Various people maintain some approximate list of the hardware that is
compatible with Linux :
Of course, I list a number of vendors in the various sections of
the Howto...
Absoval
has one of the most exaustive list of wireless cards, and list
compatibility of PrismII cards with their own linux-wlan
driver.
Hendrik-Jan Heins is
now maintaining an updated version of the exaustive list from
Absoval. This is very difficult task, so don't be surprised if you
find minor errors.
Personal
Telco has a short list of PrismII cards (for which many
Linux drivers are available).
Seattle
Wireless has a pretty long list of cards, but the
information on this page is not always correct, so double check.
Kismet
Wireless list card compatible with Kismet, and the
corresponding driver.
Nicolai
Langfeldt has a short list of 802.11g cards comaptible with
Linux.
Jacek
Pliszka has many tips on how to identify the various card,
especially USB devices.
Jason
Hecker maintains a list of all Atmel USB devices.
Tarmo Järvalt has long lists
of cards containing various chipsets, one page per chipset,
including some Google Ads.
The
NetworkManager team has a complete list of hardware and drivers
that works properly with NetworkManager.
Just a few reviews and guides here, not Linux specific.
Most manufacturer web sites are listed in the
Howto...
Tim Higgins has a
huge amount of 802.11 information on his web site (FAQ,
articles, reviews, links), which is acurate, detailed and up to date.
Practically
Networked lists and compares the main Wireless LAN products
available on the market. Their list is long and they have reviewed in
details a lot of products.
I've found a really good web page on the
different radio products available (now quite outdated).
Network Computing has a long and complete article comparing
various 802.11 products. Definitely worth a read, even if they
don't mention Linux support ;-)
I've developed the SWAP MAC protocol for Home RF
before they decided to change course due to political pressures...
Roger Coudé
has developped an impressive package to predict the performance and
coverage of a radio system based on the characteristic of the
environment.
Ben Gross has more
links about Wireless (mostly Linux related, and quite up to
date).
Jacco Tunnissen has lot's
of links about Wardriving and Wireless Security.
Bernard
Adoba has created The Unofficial 802.11 Security Web Page,
with many links about security issues in wireless networks and
802.1x.
Delbert
K. Matlock used to have a very complete page on Linux BlueTooth
support, linking to all information available on the net on this
subject, but hasn't updated it in since 2001.
Foo
Chun Choong has a web page that link to various BlueTooth
research projects and papers.
The NTIA maintain a chart of the
frequencies in use in the US. Try to find the unlicensed
bands ;-)
You may also want to check my
paper page, especially if you look for either my
publications or SWAP information.
The Linux Pcmcia
package. Most Wireless LAN cards are nowadays comming in Pcmcia
form, and that's what you need. David maintains a very neat and
useful package. Note that Pcmcia development has migrated to the
kernel, you can follow this on the new Pcmcia
mailing list.