v1.75,  6 march 2000

 

1. Preface

1.1 A word from the maintainer of this FAQ.

1.2 Where can I find the latest edition of this FAQ?

1.3 What is a FAQ?

2. General information.

2.1 What is the Linux WLAN project, anyway?

2.2 Why would I want a wireless LAN?

2.3 What is the best WLAN card?

2.4 What cards are supported and which aren't?

2.5 What is IEEE 802.11?

3. Compiling and installing.

3.1 What software do I require?

3.2 What modes and protocols are supported by the latest drivers and which aren't?

3.3 Why won't the linux-wlan drivers compile on my RedHat system?

3.4 Why does the PCMCIA card manager identify my card as 'anonymous memory card'?

3.5 Why do I get 'wlantcl: card detect ioctl failed' (ISA-to-PCMCIA)?

3.6 Why is the wrong PCMCIA module loaded by the card manager?

3.7 Why does my computer freeze after 'am930_cs: io=0x100 irq=3'?

3.8 The WLAN script fails because (after my card is detected) the second argument to wlan is empty: 'wlan start '.

3.9 Why do I get these 'tx attempt, not joined, frame dropped' messages?

3.10 I think my card is initialized correctly but why aren't the leds (if any) working properly?

3.11 Why can't I ping other stations on a BSS that I have sucessfully joined?

3.12 Why am I able to make a connection, but then lose it occasionally for no apparent reason?

3.13 Is there any reason why DHCP could not be used across a WLAN?

3.14 Why does my WLAN have such 'high' latency compaired with a wired LAN?

4. Vendor specific.

4.1 ZoomAir's ISA-to-PCMCIA bridge on multi-processor machines. (ISA-to-PCMCIA)

4.2 Do the Siemens Gigaset cordless phones interfer with my WLAN?

5. Miscellaneous.

5.1 How to (un)subscribe to the WLAN mailing lists?

5.2 Where can I find more information about WLANs?


1. Preface

1.1 A word from the maintainer of this FAQ.

This is very incomplete attempt to create a FAQ for the Linux WLAN project. Please feel free to improve this FAQ and to keep it up-to-date. The preferred way of doing this is to post to the WLAN mailing list in case you have a question that isn't answeredhere. I, the maintainer of this FAQ, am subscribed to the mailinglists myself and continously monitor for new FAQ-related material.

It should be stressed that most of the questions and answers have been provided by the people participating on the Linux WLAN mailing lists.

This file is created and currently maintained by Dries Buytaert (dries.buytaert@uia.ua.ac.be), with contributions from Mark Mathews (mark@absoval.com) and is prepared in co-operation with the development team. Special thanks to Peter Teuben (e-mail: teuben@astro.umd.edu, ftp://ftp.astro.umd.edu/pub/teuben/) and Thomas R. Collins (tom.collins@gtri.gatech.edu) for their contributions.

1.2 Where can I find the latest edition of this FAQ?

The latest edition of this FAQ can be found at http://linux.grmbl.be/wlan/.

I try to update this FAQ on a two-weekly basis (if time permits) so check for updates every now and then.

1.3 What is a FAQ?

The Online Jargon Files written by Eric Raymond defines a FAQ as:

    FAQ /F-A-Q/ or /fak/ n. 

    [Usenet] 1. A Frequently Asked Question. 2. A compendium of
    accumulated lore, posted periodically to high-volume 
    newsgroups in an attempt to forestall such questions.  Some
    people prefer the term FAQ list or FAQL /fa'kl/, reserving 
    FAQ' for sense 1.


    RTFAQ /R-T-F-A-Q/ imp. 

    [Usenet: primarily written, by analogy with RTFM] Abbrev.
    for Read the FAQ!', an exhortation that the person addressed
    ought to read the newsgroup's FAQ list before posting 
    questions. 


    RTFM /R-T-F-M/ imp. 
     
    [Unix] Abbreviation for "Read The Fucking Manual". 1. Used by
    gurus to brush off questions they consider trivial or annoying.
    2. Used when reporting a problem to indicate that you aren't 
    just asking out of randomness. "No, I can't figure out how
    to interface Unix to my toaster, and yes, I have RTFM."  
    Unlike sense 1, this use is considered polite.

       
    user n. 

    1. Someone doing 'Real work' with the computer, using it as a 
    means rather than an end. Someone who pays to use a computer.
    2. A programmer who will believe anything you tell him.  One 
    who asks silly questions. [GLS observes: This is slightly 
    unfair.  It is true that users ask questions (of necessity). 
    Sometimes they are thoughtful or deep.  Very often they are 
    annoying or downright stupid, apparently because the user 
    failed to think for two seconds or look in the documentation
    before bothering the maintainer.] See luser.  3. Someone who 
    uses a program from the outside, however skillfully, without
    getting into the internals of the program.  One who reports 
    bugs instead of just going ahead and fixing them. 
      

[ top | home ]

2. General information

2.1 What is the Linux WLAN project, anyway?

The goal of the Linux WLAN project is to develop a complete, standards based, wireless LAN system using the GNU/Linux operating system. What differentiates this project from the Linux wireless extensions and other Linux wireless projects is that we're basing everything on the recently approved IEEE 802.11 standard.

The WLAN package, written by Mark Mathews (mark@absoval.com), can be obtained from http://www.absoval.com/ and contains a device driver and support utility for GNU/Linux supporting the Intersil reference design PRISM Direct Sequence Spread Spectrum (DSSS) Wireless LAN (WLAN) Adapters (PRISM cards for short). This design uses the PCMCIA interface and form factor.

The PRISM card is an IEEE 802.11 compliant 2.4 GHz DSSS WLAN network interface card that uses the Intersil PRISM chipset for its radio functions and the AMD PCNet-Mobile chip (AM79C930) for its Media Access Controller (MAC) function.

2.2 Why would I want a wireless LAN?

A wireless LAN (WLAN) is a flexible data communication system implemented as an extension to, or as an alternative for, a wired LAN. Often the use of cables is impractical if not impossible, in which case WLANs have proven their effectiveness: very portable, no need to wire every workstation and every room, entire networks can be easily moved without the requirement to additional wiring, cable drops or reconfiguration of the network. Different LANs at distant locations can be connected (bridged). For instance, to connect 2 offices across the street. Not to mention the fact it will make the geek in you go nuts.

2.3 What is the best WLAN card?

Who are we to judge? It depens on your needs (performance, coverage, reliability, infrastucture) and - of course - your budget. No single vendor can provide all of the products and services to meet every mobile computing need.

We do have a list of vendors that sell cards that fall under the umbrella of the IEEE 802.11 standard and have proven to work with the Linux WLAN drivers:

  • Zoom Telephonics
  • Intalk/Nokia
  • Samsung (Korea)
  • DDBTEL (Taiwan)
  • GemTek (Taiwan)
  • MELCO (Japan)
  • Bay Networks

It is also worth mentioning that there exist other fine fully 802.11 compliant cards which have Linux drivers as for instance: Wavelan IEEE, Aironet Arlan, Webgeat Aviator2.4, Raytheon Raylink, etc.

2.4 What cards are supported and which aren't?

The following vendors are selling hardware using a similar design as the Intersil PRISM card. The following vendors have proven to have compatible hardware:

  • Zoom Telephonics
  • Intalk/Nokia
  • Samsung (Korea)
  • DDBTEL (Taiwan)
  • GemTek (Taiwan)
  • MELCO (Japan)
  • Bay Networks

If you have a card that is not supported by the Linux WLAN project, then you might want to check the Linux Wireless LAN HOWTO, where you can find a list of other known Linux WLAN drivers.

2.5 What is IEEE 802.11?

IEEE 802.11 specifies a wireless LAN standard developed by the IEEE (Institute of Electrical and Electronic Engineering) committee. The 802.11 working group took on the task of developing a global standard for radio equipment and networks operating in the 2.4GHz unlicensed frequency band for data rates of 1 and 2Mbps. The standard does not specify technology or implementation but simply specifications for the physical layer and Media Access Control (MAC) layer. The standard allows for manufacturers of wireless LAN radio equipment to build interoperable network equipment.

The IEEE 802.11 standard defines the protocol for two types of networks: (1) ad-hoc and (2) infrastructure networks. A simple network where communication is established between multiple stations in a given coverage area without the use of an access point or server is refereed to as an ad-hoc network. In order for all stations to have fair access to the wireless media, the standard specifies the rules that each station must observe so that they all have fair access to the wireless media. To ensure that throughput is maximized for all of the users, it also provides methods for arbitrating requests to use the media. The infrastucture network uses an access point that controls the allocation of transmit time for all stations and allows mobile stations to roam from cell to cell. The access point is used to handle traffic from the mobile radio to the wired or wireless backbone of the infrastructure network. This arrangement ensures proper handling of the data traffic. The access point routes data between the stations and other wireless stations or to and from the network server.

A complete overview of the IEEE 802.11 standard is beyond the scope of this FAQ, so point your browser to http://grouper.ieee.org/groups/802/11/ for all specification details about the physical layer (PHY) and medium access control layer (MAC). Required material for those who want to help out with the development of the Linux WLAN drivers and a typical monday-morning headache is guaranteed: you just can't miss it.

[ top | home ]

3. Compiling and installing.

3.1 What software do I require?

You need at least Linux kernel version 2.0.36 or later and pcmcia-cs version 3.0.9 or later. The latest Linux kernel can be obtained from http://www.kernel.org/ and the latest pcmcia-cs version from ftp://hyper.stanford.edu/ in /pub/pcmcia/.

3.2 What modes and protocols are supported by the latest drivers and which aren't?

Linux WLAN is meant to be at least a partial implemention of IEEE Standard 802.11 D10.0.

There are two modes of interest to most users: WLAN mode and Ethernet conversion mode.

The WLAN mode defines the topology and some of the protocol characteristics of a WLAN node. There are three basic modes for any 802.11 WLAN station. Unfortunately, not everyone uses the same name for the same mode, the following table gives some of the mode names in common usage:

802.11 Official Common Usage Vendor
Independent BSS (IBSS) Ad-Hoc Peer to Peer
BSS or ESS Station Infrastructure Structurenet
BSS Access Point Infrastructure AP n/a


An IBSS is a collection of stations that are able to communicate with each other directly. There is no central collection point for packets. IBSS networks can be created at any time and by any station. Once one station creates an IBSS, other stations may join that IBSS. The IBSS will exist as long as one of the stations that created or joined the IBSS is still running. If one of the IBSS peer stations is a router and the other peers have the router as their default gateway, then wireless packets have the means to enter and leave a wired network (and hence reach the internet).

An ESS Station is considered by some to be a 'client' on an Infrastructure network. An infrastructure network is created by a centrally coordinating station that has additional functionality. That central station is called an Access Point or AP. Once the AP has created the network, 'client' stations may join that network, authenticate with the access point and associate with the ESS network that the AP represents. According to the standard, all traffic within an infrastructure network passes through the AP. When one 'client' station wishes to send a packet to another 'client' station, the packet first goes to the AP and the AP forwards it to its destination. APs also commonly provide an 'Integration' function, that is, the AP provides the means for wireless packets to be forwarded to a wired network. Since all traffic in the infrastructure network passes through the AP, APs are commonly implemented as bridges.

BSS Access Point mode is available in some driver sets (and is the target functionality for Linux WLAN). According to 802.11 an AP is a wireless station with all the same functionality of an ESS station, but it also includes additional functions.

Ethernet conversion modes are NOT specified as part of 802.11 but are necessary in bridges and in station drivers that make the host OS think the WLAN card is an ethernet card (just about every driver, including linux-wlan, does this). The ethernet conversion specifies how ethernet frames will be converted to 802.11 frames and vice-versa. The most common modes are:

Encapsulation: (simplest) The allowed length of 802.11 data frames is 2340 (data field is 2312). Therefore a maximum length ethernet frame can be tucked into the data field of an 802.11 frame, and that's precisely what this mode does.
RFC1042: In its simplest terms, RFC1042 moves the protocol number in a DIXII ethernet frame into an LLC+SNAP header.
IEEE 802.1h: An addendum to a bridging standard. Allows for a receiving station to be able to tell if a frame with an LLC header was originally a DIXII frame.


From a user's perspective, the details of each mode don't matter that much. You just need to make sure that all of your stations and APs use a matching mode. Unfortunately, some vendors use their own naming conventions for the various modes. Check the README. for additional information in newer releases.

The latest stable linux-wlan driver is version 0.3.4, and supports both the Ad-Hoc and access point mode (infrastructure).

3.3 Why won't the linux-wlan drivers compile on my RedHat system?

Most probably you will encounter the following error on RedHat systems:
   pcmcia/config.h: No such file or directory.

If you do, you'll need to get the source pcmcia-cs (if you haven't already). Once you have the source, you need to run the configure script for it. Directions on this are in the root directory of the pcmcia package. It will ask a question from where to get the configuration. It can deduce the settings from the running kernel/pcmcia modules.

Once you have run the configure the config.h file that the WLAN drivers are looking for will be there and the compilation should work without errors.

3.4 Why does the PCMCIA card manager identify my card as 'anonymous memory card'?

This problem is described in the Linux PCMCIA-HOWTO as 'IO port and memory port scan failure' (sections 3.3.4 and 3.3.5). The symptoms are more specific:

    Inserting the card generates a high beep followed by a low beep.
    The card is identified as `anonymous memory cards'.
    The system log reports that various memory ranges have been excluded.

In order to fix this problem you should try to vary the excluded/included IRQ and i/o ranges. Also make sure you included the WLAN config file: this can be easily done by adding 'source ./yourpath/wlan.config' to the end of your PCMCIA config file.

3.5 Why do I get 'wlantcl: card detect ioctl failed' (ISA-to-PCMCIA)?

It's an indication of IRQ/IO/memory conflicts: obviously you need to make sure that the IRQ and IOBASE you want to use are not in use by somebody else. One of the symptoms might be that you don't see any interrupts on the card, so commands like "wlanctl" may never finish. Check /etc/pcmcia/config.opts to make sure sure you aren't incurring any IRQ or IO conflicts. If you have the Linux /proc-filesystem installed on your system you could use /proc/interupts and /proc/ioports to check for possible conflicts. If there are no conflicting IRQs or overlapping IO-ports according to the /proc-filesystem, then you might have excluded to many IO ports and/or IRQs. Eventually, you might to exclude particular interrupts like for instance the conflicting IRQ. Also make sure the IRQ of interest is allocated for ISA use in your BIOS setup.

3.6 Why is the wrong PCMCIA module loaded by the card manager?

Check wether you included the WLAN config file (wlan.config): this can be easily done by adding 'source ./yourpath/wlan.config' to the end of your PCMCIA config file (/etc/pcmcia/config).

3.7 Why does my computer freeze after 'am930_cs: io=0x100 irq=3'?

This is a typical PCMCIA configuration issue which indicates there are IRQ/IO/memory conflicts. You can solve this problem by editing the /etc/pcmcia/config.opts file: vary the excluded/included irq and i/o ranges. You should also check your BIOS settings for IRQs that are reserved for PCI or PnP devices....the ones you are trying to use for PCMCIA (i.e. wireless) should be reserved for ISA use.

3.8 The WLAN script fails because (after my card is detected) the second argument to wlan is empty: 'wlan start '.

In case you see a line like 'am930_cs: io=0x100 irq=3' in your logs which is not followed by a Firmware message like for instance 'Firmware Banner: PCnetMobile:v2.10 033098 API004', the driver and card aren't initializing properly and cardmgr can't pick up the device name before calling the script. The most common reasons for initialization failure are IRQ/IO/memory conflicts. Check /etc/pcmcia/config.opts to make sure sure you aren't incurring any IRQ or IO conflicts. If you have the Linux /proc-filesystem installed on your system you could use /proc/interupts and /proc/ioports to check for possible conflicts. If there are no conflicting IRQs or overlapping IO-ports according to the /proc-filesystem, then you might have excluded to many IO ports and/or IRQs. Eventually, you might to exclude particular interrupts like for instance the conflicting IRQ. Also make sure the IRQ of interest is allocated for ISA use in your BIOS setup.

3.9 Why do I get these 'tx attempt, not joined, frame dropped' messages?

The error means that a BSSJOIN or a BSSCREATE was not done by your station. This usually means that you haven't got your DESIRED_SSID and/or SSID set right so your scan is not finding the BSS of interest.

3.10 I think my card is initialized correctly but why aren't the leds (if any) working properly?

You shouldn't pay any attention to the LEDs on the cards. The Linux WLAN driver supports various cards made by different vendors: different vendors tend to use the LEDs for different purposes and we didn't actually want to worry with trying to match the behavior of each vendor individually.

3.11 Why can't I ping other stations on a BSS that I have sucessfully joined?

There are some reasons for this that are not unique to wireless networks, so make sure you've eliminated these. One way to do this is to substitute a wired ethernet card for the wireless card, using all the same routes, servers, and protocols. Make sure TCP/IP is installed at both ends, with correct routes, gateways (if necessary), and so on. If you still have the same problem, then there may be something wrong with the network configuration at one or both ends of the ping. Find a good networking reference and fix this first. If the wired connection works, then there may be something wrong with the frame conversion within the driver. Windows machines and some access points may require RFC1042 conversion -- use the setting P80211_CONVERSION=rfc1042 in wlan.opts.

3.12 Why am I able to make a connection, but then lose it occasionally for no apparent reason?

Some access points (including the Nokia) may drop the association of wireless stations that show no activity for some specified period -- maybe as short as a few minutes. The manufacturer-supplied drivers for these devices probably will "autojoin" whenever they need to -- you may see mention of this in their documentation for their Windows drivers. To prevent your Linux system from dropping off the network, set up a cron job to ping the access point about once a minute.

3.13 Is there any reason why DHCP could not be used across a WLAN?

No, if the DHCP host is on the wireless segment, DHCP should work fine. If the DHCP host is not in the wireless segment, you can use a 'DHCP relay agent', available from http://www.isc.org/, which passes DHCP requests from one network segment to another.

3.14 Why does my WLAN have such 'high' latency compaired with a wired LAN?

Ping times (latency) will always be higher in wireless due to the nature of the fully acknowledged MAC protocol and the uncertainty of the medium. Additionally, you have the potential for MAC level retries and an RTS/CTS exchange. All of these things are in place to handle the uncertainties of the wireless medium. Additionally, if you are accessing a node on the wired network, there are bridging/routing delays to consider as well.

Wireless will _never_ be as fast as wired networks. That's like trying to ask why oceangoing boats/ships can't go as fast as cars/trucks on an interstate highway. The interstate highway system is an expensive, fully maintained, infrastructure that limits where you can go. But if you're going somewhere that the highway goes, it can get you there quickly and reliably. The ocean, on the other hand, is an inexpensive, unmaintained and risky travel medium. But, it _is_ highly flexible with the ability to take you to a vast number of destinations.

The value proposition in wireless isn't "replace wired networks". It is "Enhance the wired infrastructure to support mobility" and "Only replace the wired infrastructure where it is prohibitively expensive to maintain".

[ top | home ]

4. Vendor specific.

4.1 ZoomAir's ISA-to-PCMCIA bridge on multi-processor machines. (ISA-to-PCMCIA)

Buried deeply in the Zoom FAQs you'll read that they do not support SMP. Hence, you will only be able to use the ZoomAir ISA-to-PCMCIA bridge on single processor machines.

4.2 Do the Siemens Gigaset cordless phones interfer with my WLAN?

A couple of WLAN users reported that it is actually possible to use the Siemans Gigaset cordless phones (2.4Ghz spread spectrum): seems like live they can live happily together with 802.11 compliant wireless networks. However, be aware with other cordless phone systems as this issue is certainly vendor specific.

David T. Witkowski explained that Siemens Gigaset cordelss phones use DS (direct-sequence) spread-spectrum and that because of this, they will co-exist with a WLAN such as those from the Intersil/Intalk systems. The issue of interference comes up when you try to run the Siemens Gigaset near an FH system such as the Proxim RangeLAN.

However, even when using a DS system near a Siemens Gigaset there will be some interference, due to the non-ideal nature of the system. Inter-symbol interference, multipath, filter non-linearity, etc will all contribute to cases where clicks/pops will sometimes be heard on the Gigaset and/or packets in the wireless system will be blocked/corrupted.

4.3 What are valid IRQs for the AM79C930 chipset? (ISA-to-PCMICA)

The ISA cards should work fine on:
  IRQ: 9, 10, 11 and 12
  IOBASE: 0x240, 0x280, 0x2c0, 0x300, 0x340, 0x380, 0x3c0 (i.e. steps of 0x40)

According to the Am79C930 data book pp 64: "Any of the following channels within an ISA Plug and Play system may be utilized by the Am79C930 device: IRQ 4, 5, 9, 10, 11, or 12." but isapnptools is know to claim that a more restrictor set (9,10,11,12) are allowed. So, be careful with 4 and 5.

[ top | home ]

5. Miscellaneous.

5.1 How to (un)subscribe to the WLAN mailing lists?

For detailed information about the available mailing lists and how to subscribe and unsubscribe, point your browser to http://www.absoval.com/linux-wlan/lists.html.

5.2 Where can I find more information about WLANs?

[ top | home ]