Linux Unwired [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Linux Unwired [Electronic resources] - نسخه متنی

Edd Dumbill, Brian Jepson, Roger Weeks

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید








2.4 Linux Wi-Fi Drivers in Depth


Most Linux distributions include a number of wireless drivers. In many cases, the driver that
you need will be available. However, there are a number of situations
where you must obtain the driver source and build it yourself. This
is true for many newer Wi-Fi cards, particularly cards that support
802.11a, 802.11g, or both. The drivers for these cards are still
under development and are not included with most Linux distributions.

A second reason to obtain the driver source and build it yourself is
if you wish to build your own access point. (The details of Linux
access points are covered in Chapter 6.)
However, the drivers that enable you to have your own Linux AP all
require that you obtain the source code and compile it.


In addition to the drivers described in this chapter, there are two
ways you can get Windows drivers to load on your Linux system.
NdisWrapper
(http://ndiswrapper.sourceforge.net/) is an
open source project that loads Windows drivers, and
Linuxant
(http://www.linuxant.com/) is a
proprietary product that also accomplishes this.
We'll talk more about Linuxant in Chapter 4, where we discuss using Wireless Protected
Access (WPA) with non-Prism cards.


2.4.1 orinoco_cs


There are two original
drivers available for the Lucent WaveLan/Orinoco radio cards:
wvlan_cs and wavelan2_cs. wvlan_cs was the first driver for Linux
that supported the WaveLan IEEE (802.11 and 802.11b) radio cards.
wavelan2_cs is a binary driver released by Lucent. The downside of
the binary driver is that it's limited to i386
architecture, and the source is not available. With the sale of
Orinoco to Proxim, development of the wavelan2_cs driver stopped.
However, Agere continues to build the chipsets for the Orinoco
radios, and has developed a driver called wlags49 based on the
wavelan2_cs code. Details on wlags49 are found in Chapter 6.

The orinoco_cs driver was written by David Gibson, who was
maintaining the wvlan_cs driver and was not satisfied with the code
or the performance of the driver. orinoco_cs was written based on
low-level parts of the wlan-ng driver and BSD drivers. The driver
also supports Prism II radio cards, Symbol Spectrum 24, and Apple
AirPort (but not AirPort Extreme) cards, with varying degrees of
feature support. This driver is primarily written for support of the
Lucent WaveLan IEEE cards, which are also known as Orinoco and are
also sold by Agere and Avaya. Proxim is now selling cards branded
"Orinoco" for 802.11a and 802.11g,
which are based on the Atheros chipset.

The orinoco_cs driver can be obtained in several ways. Red Hat,
Debian, and SuSE all have installation packages with names similar to
kernel-pcmcia-modules-2.4.x. Choosing this
package during installation or adding it later will install the
orinoco_cs driver. The orinoco_cs driver has been merged into the
kernel sources since kernel Version 2.4.3.

The pcmcia-cs software package, which comprises the PC Card Services
for Linux, also includes the orinoco_cs driver. As with the kernel
PCMCIA modules, pcmcia-cs can be installed as a package in most Linux
distributions, or it can be installed from source. Both options are
covered earlier in this chapter. pcmcia-cs is the only option for
kernel Version 2.2 users.

Finally, you can download the most current beta version of the
orinoco_cs driver from the download section of Jean
Tourrilhes's web page: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Orinocol.
As of this writing, the most current version is 0.13e. The README on
the download page does explain that unless you have a 2.2 kernel or
you need some of the experimental features of the beta orinoco_cs
driver, you would be better off using the kernel version.

In the download section, there is a list of patches to the orinoco_cs
driver. Of note is the orinoco_usb driver, which is a separately
maintained software package and supports Orinoco USB Wi-Fi adapters.

Also of note is the Shmoo Group's patch for the
orinoco_cs driver that enables monitor mode for Versions 0.13e and
earlier. If you need monitor mode with your Orinoco card, this is one
option. The other option is to obtain the CVS code of the orinoco_cs
driver, now in 0.14 alpha from
http://savannah.nongnu.org/cvs/?group=orinoco.

To compile the orinoco_cs driver, download the latest
tar.gz file from the aforementioned web site.
You need the kernel source for whatever kernel version your Linux
system is running. Major Linux vendors include the kernel source on
their installation media as a package, and also as an optional
package on their web or FTP sites. For example, on a Pentium 4 Debian
system running the 2.4.18 kernel, use apt-get to install the package
titled kernel-source-2.4.18 from the
installation CD. If you have upgraded your kernel, install
kernel-source-2.4.21 (or later) from one of the
Debian update sites. It's worth noting that when you
retrieve the kernel source files in this manner, apt does not
uncompress them. You will have a
kernel-source-2.4.21.tar.bz2 file located in
/usr/src, which you must extract. For
information about using apt-get, consult the Debian web pages at
http://www.debian.org/doc/user-manuals#apt-howto.

You can also download kernel sources from http://www.kernel.org or http://www.kernel.org/pub/linux/kernel/2.4/linux-2.4.21.tar.gz.

Compilation of the orinoco_cs driver also assumes that the symbolic
link of /lib/modules/<version>/build
points to the kernel source of your current kernel. For example,
/lib/modules/2.4.21-5-686/build should be a
symbolic link that points to
/usr/src/linux-2.4.21-5-686. To create this
link, execute the following command:

# ln -s /usr/src/linux-2.4.21-5-686 /lib/modules/2.4.21-5-686/build

To build the driver, unpack the tar.gz file and
change into the top-level directory:

# tar xzvf orinoco-0.13e.tar.gz
# cd orinoco-0.13e

To compile and install the driver, run the following:

# make
# make install

If you try to load the driver and receive the error message
"Card Services release does not
match," the driver was compiled against the Kernel
PCMCIA drivers, but the system is actually using the drivers from the
pcmcia-cs package. To fix this, you must edit the
Makefile in the
orinoco-0.13e directory and set the PCMCIA_CS
variable to reflect your local source for the pcmcia-cs package.

Once the driver is installed, you can execute:

# modprobe orinoco_cs

to load the driver module.


2.4.2 hostap_cs


The HostAP
driver is one of the drivers for Prism II radio cards. (wlan-ng is
another widely used driver that is discussed in the following
section.) The HostAP driver has a couple of noteworthy features not
found in the wlan-ng driver. First, it supports access point mode on
Prism II radio cards. wlan-ng supports only access point mode with a
"tertiary firmware" loaded on the
Prism II card. This firmware is not widely available. Second, the
HostAP driver is well integrated with the Linux Wireless Tools. The
wlan-ng driver provides its own set of tools.

The access point mode of a Prism II card does not provide a full
802.11b access point. What it does do is broadcast the beacon frames
that advertise an access point. The HostAP driver, in this case,
actually takes care of the 802.11 management. In a standalone access
point, this function is usually in firmware. The tertiary firmware
mentioned for Prism II cards turns a Prism II card into a full access
point, which is what allows the wlan-ng driver to utilize this mode
as an access point.

The author and maintainer of the HostAP driver is Jouni
Malinen. His
web site for HostAP is located at http://hostap.epitest.fi. In addition to the
source for HostAP, the web site hosts a useful mailing list and
anonymous CVS access to the source code.

The hostapd
daemon is also available. When used in conjunction with the HostAP
driver, it provides support for 802.1X, dynamic WEP rekeying, RADIUS
Accounting, and minimal support for IAPP (802.11f). Use hostapd with
a RADIUS server to provide authenticated access to 802.11b networks.

The hostap driver not only supports Prism II cards in a PCMCIA bus,
but it also supports PCI cards (hostap_pci) and PLX cards; these cards
look like they are a PCMCIA-to-PCI bridge adapter card, but actually,
they are another beast altogetherhostap_plx.

Debian users can use apt-get to install a hostap source package from
the stable package tree. To locate the hostap packages, use the
apt-cache utility to search through the available package lists:

# apt-cache search hostap
hostap-source - Software access point driver for Prism2 based 802.11b cards
hostap-utils - Utilities and configurations for the hostap driver
hostapd - 802.11x access daemon for hostap driver

To install any of these packages, or all three, use the
apt-get install command:

# apt-get install hostap-source hostap-utils hostapd

This example installs all three
hostap packages and may require you
to install additional packages as well. For more information on how
to use apt-get and its associated utilities, consult the Debian web
pages at http://www.debian.org/doc/user-manuals#apt-howto.

Note that HostAP is a kernel driver, so the aforementioned apt-get
command installs the source only for HostAP. It does not install the
actual binary kernel driver. The source is downloaded and placed in
/usr/src/hostap-modules.tar.gz. You must extract
this file and follow the compilation instructions.

Mandrake users can find HostAP RPMs for HostAP at http://www.rpmfind.net. Kernel RPMs for Red
Hat Versions 8 and 9 can be found at http://www.cat.pdx.edu/~baera/redhat_hostap/.
The maintainer of this site has recompiled the production Red Hat
kernels with the HostAP 0.0.3 kernel driver and made the RPMs
available. As with the testing tree in Debian, you should use these
RPMs at your own risk. You should note that these kernels are out of
date since the latest stable release of HostAP is 0.1.2, and the
development versions are 0.2.0 and higher.

The best option for most distributions is to compile the HostAP
driver from source. As of this writing, the most current version is
0.1.3; the latest version can be downloaded from http://hostap.epitest.fi/releases/ (see the
HostaAP homepage for a link to the most recent stable and development
releases). To compile kernel modules from source, you must have the
configured kernel source for your kernel. This generally means that
you have configured and compiled your own Linux kernel. While it is
certainly possible to compile kernel modules against Linux kernels
provided by a stock distribution, it can be tricky. For more on
compiling your own kernel, see Section 2.3.2 earlier in this chapter.

The HostAP distribution includes three
files, hostap-driver-x.y.z.tar.gz,
hostap-utils-x.y.z.tar.gz, and
hostapd-x.y.z.tar.gz. To build hostap-utils and
hostapd, extract the tarball with tar xzvf
filename, cd into the top-level directory,
and run make and then make
install
as root.

To begin compiling the driver,
unpack the tar.gz file and change into the
top-level directory (the file and directory name will be different if
you are using a more recent version):

# tar xzvf hostap-driver-0.1.3.tar.gz
# cd hostap-driver-0.1.3

How you proceed in the compilation at this stage depends on whether
your system is using the kernel tree PCMCIA subsystem or the external
pcmcia-cs subsystem.

If you are using the kernel tree PCMCIA, you must edit the
Makefile in the
hostap-driver-x.y.z
directory. As with the orinoco_cs driver, you need the kernel source
for the kernel that your Linux distribution is currently running. The
KERNEL_PATH variable should be set to the location of your kernel
source.

Once you have set the KERNEL_PATH variable, there are two commands to
compile and install the hostap_cs driver:

# make pccard
# make install pccard

Once the driver is compiled and installed, you must restart the
PCMCIA card services. On must Linux distributions, the
rc file for this is located in
/etc/init.d/pcmcia, so you can execute:

# /etc/init.d/pcmcia restart

to restart the PCMCIA card services.

If you are using the external pcmcia-cs, you have two compilation
options:

You must set the KERNEL_PATH variable as in the previous example. You
also must set the PCMCIA_PATH variable to point to the source for the
pcmcia-cs. So, for example, if you download and extract the pcmcia-cs
source code into /home/barfoo/pcmcia-cs-3.2.5,
you must set
PCMCIA_PATH=/home/barfoo/pcmcia-cs-3.2.5.

Once the PCMCIA_PATH variable is set, you should be able to run the
make commands shown previously to compile the hostap_cs driver.

Copy the entire contents of the driver
subdirectory except for
driver/modules/Makefile to the root of the
pcmcia-cs source directory, so that
driver/modules/hostap.c ends up in the
pcmcia-cs/modules directory. The README for
installing HostAP recommends doing the following:

# make sure that Makefile does not overwrite old Makefile in pcmcia-cs
mv driver/modules/Makefile driver/modules/Makefile-not-used
cp -a driver/* home/barfoo/pcmcia-cs-3.2.5

Once the copy is finished, compile and install pcmcia-cs with the
hostap_cs driver included in the process using the commands:

# make config
# make all
# make install

This second method installs both pcmcia-cs and HostAP; therefore,
complete the compilation and install, and you'll
have successfully installed both the PCMCIA card services and HostAP.
See Section 2.3.3 earlier in this
chapter for information on compiling pcmcia-cs from source.

There are specific instructions in the README for installing the
driver for use with PCI or PLX adapter cards. Consult the
README if your card falls into one of these categories.

There are two excellent sources of information and assistance you can
consult if you run into problems with the hostap driver. The first is
the well-populated
hostap mailing list. Subscribe at
http://lists.shmoo.com/mailman/listinfo/hostap.
The mailing list archives can be read at http://sisyphus.iocaine.com/pipermail/hostap/.
Use Google to search through lists like hostap, because the archives
do not have a search function. For example, if you want to search for
the text "compile error," enter the
following search parameters at Google: compile error
site:lists.shmoo.com
. Before posting to the mailing lists,
it is advisable to read through both the FAQ and the README files,
located on the main hostap page at http://hostap.epitest.fi.


2.4.3 wlan-ng


The wlan-ng
driver is the other available driver for Prism II chipsets. The
developer and maintainer of wlan-ng is AbsoluteValue Systems, which
first released the linux-wlan driver supporting Prism I 802.11
chipsets in 1999, and followed that with linux-wlan-ng to support
Prism II and later 802.11b in August of 2000. According to its web
pages at http://www.linux-wlan.com, one of its
cofounders was employed at Harris Semiconductor where the original
Prism chipsets were developed, and three of its employees are voting
members of the IEEE.

One thing that is mentioned on the front page of the wlan-ng web site
is that AbsoluteValue Systems's approach to writing
this driver is different from other available Linux wireless drivers
because "everything is based on the IEEE 802.11
standard."

In a practical sense, this means that just about everything in the
wlan-ng driver is different from most other Linux Wi-Fi drivers. For
starters, wlan-ng does not support the Linux Wireless Tools (although
certain Wireless Tools commands will work with this driver); instead,
it has its own set of utilities. You don't configure
wlan-ng in /etc/pcmcia like other drivers; it
has its own configuration directory in
/etc/wlan.

The driver does support PCMCIA, PCI, and PCMCIA cards in PLX
adapters, and USB adapters, all using Prism II, 2.5, or 3 chipsets.
By and large, most cards you find on the market are still based on
Prism II. Prism 2.5 cards are integrated PCI cards, so you
won't find a Prism 2.5 PCMCIA card. Prism 3 was
announced in 2002 and has made its way into products from Linksys,
among others.

There are several methods to install the wlan-ng driver. As with
HostAP, there are packages available for Debian Linux in the testing
and unstable trees. In order to do this, you must modify the
/etc/apt/sources.list file, which defines where
apt-get downloads package lists and the corresponding packages. To
add the testing tree to apt, add the following line to
sources.list:

deb http://ftp.us.debian.org/debian/testing main contrib non-free

Once you have added this line to sources.list,
you must execute the following command:

# apt-get update

This command updates the lists of packages from the sources defined
in sources.list. Because you have added the
testing tree to your sources, you now have a list of packages that
are in testing mode. A caveat: packages in the testing and unstable
trees are just that - designed for testing and/or may be unstable.
Use them at your own risk.

To locate the wlan-ng packages, use the apt-cache utility to search
through the available package lists:

# apt-cache search wlan-ng
linux-wlan-ng - utilities for wireless prism2 cards
linux-wlan-ng-doc - documentation for wlan-ng
linux-wlan-ng-modules-2.4.20-3-386 - drivers for wireless prism2 cards
linux-wlan-ng-modules-2.4.20-3-586tsc - drivers for wireless prism2 cards
linux-wlan-ng-modules-2.4.20-3-686 - drivers for wireless prism2 cards
linux-wlan-ng-modules-2.4.20-3-686-smp - drivers for wireless prism2 cards
linux-wlan-ng-modules-2.4.20-3-k6 - drivers for wireless prism2 cards
linux-wlan-ng-modules-2.4.20-3-k7 - drivers for wireless prism2 cards
linux-wlan-ng-modules-2.4.20-3-k7-smp - drivers for wireless prism2 cards

At a minimum, you need the linux-wlan-ng package and the correct
set of linux-wlan-ng-modules for your processor architecture. Note
that these modules are compiled against kernel Version 2.4.20-3.
apt-get checks dependencies for these packages, and if you do not
have kernel Version 2.4.20-3 as your current kernel, it requires you
to install 2.4.20-3 as part of the package install process. To
install the necessary packages, use the following command:

# apt-get install linux-wlan-ng linux-wlan-ng-modules-2.4.20-3-686

This example installs the utilities and kernel drivers for a Pentium
Pro/II/III/IV and may require you to install additional packages as
well. For more information on how to use apt-get and its associated
utilities, consult the Debian web pages at http://www.debian.org/doc/user-manuals#apt-howto.

The FAQ for wlan-ng, available at wlan-ng RPMs for Red Hat Linux can be
found on the web at http://prism2.unixguru.raleigh.nc.us. RPMs
are available for RedHat 7.3, 8, and 9. The page is maintained by Tim
Miller and is
kept up to date. As with other independently maintained packages, use
these at your own risk. You need three different RPM files to get all
of the wlan-ng functionality installed under RedHat:

kernel-wlan-ng-<architecture>: the base
package

kernel-wlan-ng-<usb/pci/pcmcia-architecture>:
interface packages

kernel-wlan-ng-modules-<rh73/rh8/rh9-architecture>:
kernel-specific module packages


For example, to install the RPM packages for Red Hat 9, kernel
Version 2.4.20-20.9, i686 architecture, and a PCMCIA Prism II card,
execute:

# rpm --install kernel-wlan-ng-0.2.0-7.i686.rpm
# rpm --install kernel-wlan-ng-pcmcia-0.2.0-7.i686.rpm
# rpm --install kernel-wlan-ng-modules-rh9.20-0.2.0-7.i686.rpm

Your other option, as always, is to compile the driver from source.
It is available at Section 2.3.2 earlier in
this chapter.

If your Prism II card is a PCMCIA-based card, you also need the
configured source code for pcmcia-cs to be available. Again, this
means that you have configured and compiled pcmcia-cs from source,
and you have that source available, usually located in
/usr/src/pcmcia-cs-version.

To begin compiling the driver, unpack the tar.gz
file and change into the top-level directory (if you are using a more
recent version, the filename and directory will differ):

# tar xzvf linux-wlan-ng-0.2.1-pre12.tar.gz
# cd linux-wlan-ng-0.2.1-pre12
# make config

You'll be asked a series of questions, including
which type of interfaces you want the driver to support (pcmcia, pci,
plx, usb) and where your kernel and pcmcia-cs sources are located.
Once you've stepped through the config, compile and
install the driver:

# make all
# make install


2.4.4 madwifi


The Atheros
chipsets were eagerly awaited by the open source community, because
Atheros was the first vendor to ship 802.11a equipment, and among the
first to ship dual-mode and tri-mode radio chipsets.

The Atheros hardware is designed for use as a
"software-defined radio," which
means that the hardware itself is very basic, and on a Windows
platform, the operating parameters of the card are all handled by the
software driver. The development of a driver for the Atheros chipset
was very difficult from an open source standpoint. Sam
Leffler
originally developed a BSD driver for the Atheros chipset with the
help of Atheros. However, the driver did not enforce valid modes, so
it violated FCC regulations by allowing the setting of invalid radio
modes.

The solution to this was for Atheros to develop a Hardware
Abstraction Layer (HAL), which is in binary form. It sits between the
driver and the hardware to enforce valid FCC operating modes. As
discussed earlier, the Atheros chipset design presents some problems
for open source driver development.

The Multiband
Atheros Driver for WiFi (madwifi) driver that is now available for
BSD and Linux is currently the only working implementation of a
driver for Atheros chipsets. There is a complete GPL driver
implementation in the works. According to Jean
Tourrilhes's page, some anonymous people and
companies have worked to get documentation on the Atheros chipset
made available, and are supporting the development of the GPL driver.
This driver is known as "ar5k," and
the web page for it is http://team.vantronix.net/ar5k/. As of this
writing, the ar5k driver is not yet functional, and development seems
to be stalled.

The FCC mandates that the manufacturers of software radios must
prevent the software from being modified so that it can operate
outside the FCC regulations. This mandate also makes it very
difficult for maintainers of Linux distributions to include the
madwifi driver as a package. The package cannot be redistributed
under the GPL because the source is not freely available. As such,
there are no Debian packages or RPMs of the madwifi driver available.

The following is from the README in the madwifi installation source:


The ath_hal module contains the Atheros Hardware Access Layer (HAL).
This code manages much of the chip-specific operation of the driver.
The HAL is provided in a binary-only form in order to comply with FCC
regulations. In particular, a radio transmitter can only be operated
at power levels and on frequency channels for which it is approved.
The FCC requires that a software-defined radio cannot be configured
by a user to operate outside the approved power levels and frequency
channels.

This makes it difficult to open-source code that enforces limits on
the power levels, frequency channels and other parameters of the
radio transmitter. See http://ftp.fcc.gov/Bureaus/Engineering_Technology/Orders/2001/fcc01264.pdf
for the specific FCC regulation. Because the module is
provided in a binary-only form it is marked
"Proprietary"; this means when you
load it you will see messages that your system is now
"tainted".


As of this writing, the most current version of the
madwifi
driver can be obtained from the SourceForge project page at
http://sourceforge.net/projects/madwifi. The
driver supports both MiniPCI and Cardbus devices. The driver can be
built as a module or linked into the kernel and depends on two other
modules: wlan.o and
ath_hal.o.

The madwifi driver has been written and tested with kernel Version
2.4.20 and the Linux Wireless Tools v25. As the README says,
"expect some rough edges if you deviate from that
combo," particularly with older kernel or Wireless
Tools versions.

In order for the madwifi driver to compile and run successfully, make
sure a number of things are compiled into your kernel:

Kernel-tree PCMCIA (CONFIG_NET_RADIO)

Wireless Tools (CONFIG_NET_WIRELESS)

ACPI Support (CONFIG_ACPI)

PCI Hotplug Support (CONFIG_HOTPLUG_PCI, CONFIG HOTPLUG_PCI_ACPI)


Note that the ACPI and PCI Hotplug features are considered
experimental in the 2.4 kernel tree.

To begin compiling the driver, unpack the .tgz
file and change into the top-level directory (if you are using a more
recent version, the filename and directory will differ):

# tar xzvf madwifi-20030802.tgz
# cd madwifi-20030802

The Makefile.inc should automatically determine
the location of your running kernel and modules. If not, you may need
to edit Makefile.inc manually and specify the
KERNEL_PATH and MODULE_PATH variables.

On most Linux distributions, you should simply be able to execute
these commands:

# make
# make install

make install copies the drivers to the appropriate
location, i.e., /lib/modules/<kernel
version>/<net>
. You can then run
modprobe or insmod from inside
the source directory to load the modules:

# insmod wlan/wlan.o
# insmod ath_hal/ath_hal.o
Warning: loading ath_hal/ath_hal.o will taint the kernel:
non-GPL license - Proprietary
# insmod driver/ath_pci.o

Support for 802.11a and 802.11g cards in Linux is very new. The
madwifi driver in particular is still being actively worked on. As
such, there is every possibility that the last stable release of code
will not work with your kernel or your hardware. Until development on
madwifi settles down (keep your eye on the web site), we suggest that
you check out the latest CVS code of the driver to get the most
current updates.

CVS is a revision control system used by many open source project
developers. Open source development sites like SourceForge
(http://www.sourceforge.net)
provide CVS access both for developers and for end users.

CVS is required to access a CVS repository. Most distributions
install CVS by default, located in /usr/bin/cvs.
Debian users can install CVS by executing the commands
apt-get update; apt-get install cvs. Red Hat users
can find the CVS RPM on their installation CDROM or from a Red Hat
source mirror. Many other distributions that use RPM can find CVS at
http://www.rpmfind.net.

To obtain the latest CVS code for the madwifi driver, change to a directory
where you want the code located and execute the following command:

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi

This will log in to the CVS server at sourceforge.net as an anonymous
(read-only) user and check out (co) the madwifi source tree. It will
place the source code in a directory titled
madwifi in the directory you were in when the
command was executed.

Once you have obtained the CVS code, you should be able to follow the
compilation instructions described earlier. However, be aware that
CVS code can change frequently, sometimes daily. CVS code is
development code, which means it can have bugs. It may not compile on
your system at all.

There are two excellent sources of information and assistance you can
consult if you run into problems with the madwifi driver. The first
is the excellent madwifi-users mailing list. Subscribe at
http://lists.sourceforge.net/lists/listinfo/madwifi-users.
The mailing list archives can be searched at http://sourceforge.net/mailarchive/forum.php?forum=madwifi-users.
Second, a FAQ has been created by a volunteer member of the mailing
list and has several tips for getting the CVS code to compile in
various situations. The FAQ is located at http://www.mattfoster.clara.co.uk/madwifi-faq.


/ 100