2.4 Linux Wi-Fi Drivers in Depth

 <  Day Day Up  >  

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/Orinoco.html. 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 ftp://ftp.kernel.org. This is the primary archive site for all Linux kernel sources and is your best source for kernel code. For example, download the 2.4.21 kernel sources from 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 altogether ”hostap_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 ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/FAQ, states:

Q: Can I get Debian packages of linux-wlan-ng?

A: Packages of linux-wlan-ng are available in the Debian unstable and testing trees now, and will eventually be shipped with a stable Debian release. The Debian packages include support for configuring linux-wlan-ng interfaces via /etc/network/interfaces, among other things. Complete details about the Debian-specific parts of these packages, including instructions for building a linux-wlan-ng modules package for your kernel can be found in the file /usr/share/doc/linux-wlang-ng/README.Debian.gz.

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 ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/. As of this writing, the most recent version is linux-wlan-ng-0.2.1-pre12.tar.gz .

To compile kernel modules from source, you need 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.

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.htm.

 <  Day Day Up  >  


Linux Unwired
Linux Unwired
ISBN: 0596005830
EAN: 2147483647
Year: 2004
Pages: 100

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net