||
The who's who of Wireless LANs under Linux.
Driver status : | obsolete (see section 3.2) |
Driver name : | wvlan_cs.o |
Version : | v1.0.7 |
Where : | Pcmcia package (3.1.25) |
Maintainers : | Anton Blanchard <anton@samba.org> Andreas Neuhaus <andy@fasta.fh-dortmund.de> Harald Roelle <harald@roelle.com> Moustafa A. Youssef <moustafa@cs.umd.edu> |
Web pages : | http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wavelan-IEEE.html http://www.fasta.fh-dortmund.de/users/andy/wvlan/ http://www.roelle.com/wvlanPPC/index.html http://www.cs.umd.edu/~moustafa/mwvlan/mwvlan.html |
Mailing list : | http://lists.samba.org/pipermail/wireless/ |
Documentation : | man page, headers |
Configuration : | Wireless Extensions & module parameters |
Statistics : | Wireless Extensions |
Modes : | Managed, Ad-Hoc and Ad-Hoc-demo |
Security : | WEP (based on hardware support) |
Scanning : | No |
Monitor : | No |
Multi-devices : | Yes |
Interoperability : | 802.11-DS and 802.11-b, interoperate with Windows |
Other features : | MTU selection, multicast, promiscuous mode, power management, WEP hardware encryption, SMP, multi-firmware and PPC support. |
Non implemented : | Some optimisations... Does not support HermesII. |
Bugs : | May have some performance issues |
License : | GPL |
Vendor web page : | http://www.wavelan.com/ http://www.proxim.com/ http://www.enterasys.com/wireless/ http://www.elsa.com/ http://www.hp.com/notebooks/us/eng/products/wireless/ http://www.buffalotech.com/ http://www.1stwave.de/ http://www.artem.de/ |
To confuse the issue, Lucent has renamed the Wavelan IEEE as Orinoco (Wavelan was better IMHO), and this division was part of Lucent spin-off into a new company called Agere. Avaya (another Lucent spin-off) is also selling the Orinoco. Enterasys is also selling the Wavelan IEEE as RoamAbout 802 (a company formerly known as Cabletron, which was the former DEC networking division). Elsa is selling it in Europe as AirLancer 11 (on the other hand, the 2 Mb/s version is quite different). In Japan (and maybe also in Europe), Melco is selling it as Buffalo WLI-PCM-L11. Lately, more vendors have been joining the club, such as HP (HP 802.11b Wireless LAN), IBM (IBM High Rate Wireless LAN), Dell (Dell TrueMobile 1150 - on the other hand, the 1100 is an Aironet card), Compaq (Compaq WL 110, WL 210 and WL 215 - the WL100 and WL200 are PrismII based), 1stWave (1stWave PC-Card) and ARtem (ARtem ComCard). The Apple Airport is also derived from the Wavelan IEEE (see section 3.5).
The Wavelan IEEE saga never ends. Proxim bought the card and access point business of Agere (Agere kept the chipset and radio part), so now the same Orinoco cards are sold by Proxim under the name Orinoco Classic or Orinoco World (841X - with the big square antenna and using the same Agere Hermes chipset). In a bold marketing move, Proxim renamed all it's other lines of wireless cards as Orinoco, however those cards are not based on the Agere chipset but on Atheros chipset (846X, 847X and 848X). The Orinoco 11b (842X - 802.11b only with a short antenna) are based on the Agere HermesII chipset, which is different from the old chipset (and therefore not compatible with the usual Orinoco drivers). So, if the Proxim Orinoco card doesn't have a big square antenna and do support 802.11a or 802.11g, you can be sure it's not a true Orinoco.
The Wavelan IEEE appears to the PC as a standard network card and interfaces naturally with the networking stack. The configuration includes only setting the network name (ESSID), the rest is automatic (finding the equivalent BSSID and channel). As usual for Lucent, the documentation and website are rich.
The Lucent Wavelan IEEE is based on the Lucent Hermes chipset. As with all IEEE 802.11 products, the Hermes offer a fully featured MAC protocol, including MAC level acknowledgement (good news for all of us having dealt with the old Wavelan card), optional RTS/CTS, fragmentation, automatic rate selection, roaming. This seems exhaustive, but is mandatory for IEEE 802.11 compliance. Different version of the card include different level of security (bronze is basic, silver is with WEP (RC4-40 bits) and gold is with proprietary 128 bit encryption.
The MAC support both Managed and Ad-Hoc modes. However, the initial firmware for those cards did support only a non-compliant Ad-Hoc mode (called Ad-Hoc demo mode - which interoperate with most PrismII cards). In order to gain WiFi compliance, Lucent added in recent firmware (6.06 and greater) a second Ad-Hoc mode which is fully 802.11 compliant (called Peer to Peer mode or IBSS Ad-Hoc mode - and which interoperate with Aironet cards). Of course, the two Ad-Hoc modes are not interoperable.
The 2.4 GHz modem is an enhanced version of the previous generation, Direct Sequence Spread Spectrum (11 chips encoding), using both 1 and 2 Mb/s signalling rate (using effectively 22 MHz of bandwidth) and 5.5 and 11 Mb/s in second generation cards, diversity antennas and with 13 different frequencies (depending on the regulations).
Initially, the Wavelan was only offering 1 and 2 Mb/s bit rates (basic IEEE 802.11 DS standard). For a while, Lucent was also selling a "turbo" version of the card, which was adding 5 and 10 Mb/s bit-rates for shorter range using Lucent proprietary modulations (so, not compatible with 802.11-b).
Later, Lucent introduced the second generation of the Wavelan IEEE, still based on the same Hermes chipset, which is much cheaper and fully compliant with the new 802.11-b standard, supporting 1, 2, 5.5 and 11 Mb/s bit-rate (compatible with other 11 Mb/s products).
All Wavelan IEEE cards do not offer the exact same set of features, because Lucent keep changing the firmware. From firmware 1.00 to 4.52, Lucent was mostly adding features (encryption, power saving) and keeping it backward compatible, but firmware 6.04 and later created a major incompatibility. Firmware 6.06 and later implement a fully 802.11 compliant IBSS Ad-Hoc mode (on top of the Ad-Hoc demo mode). Firmware 6.04 dropped Fragmentation Threshold setting in favor of microwave oven robustness (an automatic fragmentation scheme). Firmware 6.16 did fix a few bugs with the IBSS Ad-Hoc mode (security, ESSID="any").
Agere has recently released a new HermesII chipset, derived from the venerable Hermes chipset. The most notable improvements are a higher integration (smaller & cheaper), a PCI interface with DMA support and a USB interface. The chip interface and firmware is not compatible with the old Hermes chipset, requiring specific driver support for HermesII. To my knowledge, this chipset is only used in the Proxim 842X cards.
Andreas has done a very good job into providing features like Wireless Extensions (I must admit that I did help him quite a bit ;-) and many configuration parameters (station name, channel, mtu size). The new version adds Power management and encryption setting, change of the operating mode via Wireless Extensions, promiscuous and multicast support...
Andreas has done a lot of debugging of the driver and it seems now much more stable. Lastly, the ISA to Pcmcia and PCI to Pcmcia bridges may be a source troubles under Linux. The latest version of the driver fixes SMP support, multi-cards configuration, improve wireless.opts support, add IBSS Ad-Hoc mode support and support properly and sanely the various firmware releases.
Harald Roelle has developped a patch for this driver in order to fully support the PPC architecture. This patch mostly contain some bit order fixes. This patch should help other architecture with endianess issues. His patch was eventually integrated (with major changes) by David Hinds in version 1.0.6 of the driver. I added firmware detection support in 1.0.6 to properly handle all the various firmware releases and their variations (in particular the two Ad-Hoc modes), and fixed the remaining SMP bugs.
The driver does not support the USB and Mini-PCI version of the Wavelan.
Nowadays, Anton Blanchard is the official maintainer of the driver, with the help of David Gibson. David has done a complete rewrite of the driver (see section 3.2), so this driver won't be maintained anymore...
Moustafa has released a version of this driver with scanning support.
Note that Lucent has also released a binary library driver (see section 3.3) which is maybe more solid and performant than the driver of Andreas but lack complete support for Wireless Extensions.
3.2 Wavelan IEEE/Orinoco, PrismII and Symbol cards
Driver status : | stable |
Driver name : | Pcmcia : orinoco_cs.o PLX : orinoco_plx.o PCI : orinoco_pci.o |
Version : | v0.15, CVS |
Where : | Linux kernel (2.4.21 ; 2.6.18) Pcmcia package (3.1.34) http://www.ozlabs.org/people/dgibson/dldwd http://savannah.nongnu.org/projects/orinoco/ |
Maintainers : | David Gibson <hermes@gibson.dropbear.id.au> Pavel Roskin <proski@gnu.org> |
Web page : | http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Orinoco.html |
Mailing list : | http://sourceforge.net/mail/?group_id=44338 |
Documentation : | man page, headers |
Configuration : | Wireless Extensions only |
Statistics : | Wireless Extensions |
Modes : | Managed, Ad-Hoc and Ad-Hoc-demo |
Security : | WEP (based on hardware support), 802.1x |
Scanning : | Wireless Extensions (v0.14 and later) |
Monitor : | Yes (v0.14 and later) |
Multi-devices : | Yes |
Interoperability : | 802.11-DS and 802.11-b, interoperate with Windows |
Other features : | MTU selection, multicast, promiscuous mode, power management, SMP, multi-firmware, multi vendors, PPC & ARM support, PLX and PCI support. |
Non implemented : | Does not support HermesII. |
Bugs : | WEP not functional on old Prism2 firmwares, some older driver versions don't handle properly some Symbol cards. |
License : | MPL and GPL |
Vendor web pages : | [Too many to list here] |
However, even though those devices use the same MAC controller and the same driver, those devices are not the same. Each vendor has its own firmware, so the set of features of those cards vary. Some differences are visible to the user (for example 128 bits key support), some are more related to performance and robustness tuning of the MAC.
Moreover, those devices don't use the same radio modem (mostly Lucent or Intersil) and same antennas. For PrismII cards, even the actual layout of the radio components on the card can make a huge difference. This will mostly translate into difference of coverage between the various cards (range and resistance to interference). The range between some cards may vary by a factor 2 in some conditions.
The HCF (the low level library provided by Lucent) hadn't been maintained since the initial release of the driver and was quite difficult to read and understand. While the higher layer of the driver had gone a long way and were robust and fully featured, the HCF was a mess and the cause of many problems (TxTimeout, driver corruption/crashes and else).
Rather than put up with that, David looked deeply in the low level of the wlan-ng driver from Mark (see section 3.6) and the FreeBSD driver and wrote a totally new driver combining a new low level core and the high level features of wvlan_cs. The end result was a driver much more readable, robust and well behaved than wvlan_cs. In the process, David added support for PrismII cards. Then, I fixed a few Wireless Extensions bugs, added some support for Symbol cards, and we pushed the driver in the kernel. The driver was initially named dldwd_cs and was renamed orinoco_cs at this point. Later on, David Hinds backported this driver to the Pcmcia package for users of earlier kernels.
The main goal of the driver is to support Wavelan IEEE/Orinoco cards and OEM. The driver support all the firmwares and features of those cards properly and fully (Ad-Hoc demo mode, IBSS mode, bit-rate, encryption keys...), and support all the features available in wvlan_cs (except module parameters) with less bugs.
Ben has added Airport support to this driver (see section 3.5), and the support of those cards is similar to Orinoco cards (i.e. most features supported properly).
Starting in release v0.6d, the support of Symbol cards and OEM is complete, at least for firmware 1.5 and 1.7. Bit rate, mode of operation (managed, ad-hoc IBSS and ad-hoc demo), encryption and power management are fully working. The release v0.8 added full support for later Symbol firmware 2.00 and 2.20. On firmware 2.20 and later, Power Management is disabled. Version of the driver from v0.10 to v0.12b don't work properly with Symbol cards due to a bug, so avoid those releases. Symbol CF cards are very different and supported in their own driver (see section 3.13).
The support of PrismII cards and clones is in progress. More debugging and testing need to be done, but the driver can set most features to some degree (Ad-Hoc demo mode, IBSS mode, bit-rate, encryption keys have been seen to work). It seems the upgrading firmware fixes problems related to encryption. However, the wlan-ng and HostAP drivers still have more features and are more tested...
Starting in release v0.8, the orinoco driver collection also support PLX adapters that are sold with some PrismII cards (via the orinoco_plx driver). Those adapters are not real Pcmcia adapters and the card looks to the system like a PCI card. The driver also support Pcmcia cards in regular ISA to Pcmcia or PCI to Pcmcia adapters, as long the Pcmcia adapter is recognised and configured properly by the Pcmcia package (which might be tricky).
Starting in release v0.11a, the orinoco driver collection also support PCI cards (all of them being PrismII cards - via the orinoco_pci driver). The standard driver does not support the various USB versions of the cards. There is various kind of MiniPCI implementation of the card, the driver support some of them (Pcmcia based - Lucent ; PCI based - PrismII) but not most (USB based - PrismII).
The latest version (v0.13b) seems to have fix most of the hardware reset problems of previous versions and seems to have fixed problems with Symbol firmwares. Pavel has integrated in v0.14 many previously external patches, such as as support for Wireless Scanning and Wireless Events, support for Monitor mode and support for 802.1x. Pavel also fixed support for kernel 2.6.X, dramatically improved Symbol firmware support and fixed a tons of bugs in v0.14.
Version 0.15-rc2 of the driver was merged into kernel 2.6.12. This brought all the features and bugfix above in the kernel. Since then, Pavel is continuing to fix and update the driver, pushing those changes into recent kernels, but he is no longer using version number (so I guess we are still at 0.15).
3.3 Lucent Wavelan, Enterasys Roamabout and Proxim Orinoco 8420
Driver status : | stable, beta |
Driver name : | wavelan2_cs.o, roamabout_cs.o and wlags49_cs.o |
Version : | v6.16, v7.18 and v7.22 |
Where : | http://greenblaze.com/proxim.html http://www.agere.com/mobility/wireless_lan_drivers.html http://www.agere.com/support/drivers/index.html http://www.cs.umd.edu/~moustafa/mwavelan/mwavelan.html |
Contact : | Lucent support <usasupport@wavelan.com> |
Maintainers : | Richard van Leeuwen <rleeuwen@lucent.com> Dean W. Gehnert <deang@tpi.com> Moustafa A. Youssef <moustafa@cs.umd.edu> |
Documentation : | Extensive readme |
Configuration : | Module parameters, Wireless Extensions |
Statistics : | Wireless Extensions |
Modes : | Managed, Ad-Hoc and Ad-Hoc-demo |
Security : | WEP (based on hardware support), WPA |
Scanning : | Wireless Extensions |
Monitor : | No |
Multi-devices : | yes, but the ISA to Pcmcia bridge must be reconfigured |
Interoperability : | 802.11-DS and 802.11-b, interoperate with Windows |
Other features : | Power management and microwave oven robustness. Support HermesII cards (v7.08). WPA support. |
Non implemented : | Do not support all firmware releases |
Bugs : | ? |
License : | Binary only for the core + OpenSource Linux wrapper (up to v6.16), GPL (v7.08) |
Vendor web page : | http://www.wavelan.com/ http://www.enterasys.com/wireless/ |
Dean has written the code interfacing between Linux and the library, and has put together a nice package easy to install and with documentation. As expected, the binary driver is probably more stable and than the full source driver mentioned above, with a slightly different set of feature, and offers all the features of Lucent Window drivers, plus a nice integration with Linux. This driver supports both the basic version of the card and the "turbo". The major drawback is the binary core, preventing the use on other architectures (PPC, Arm...).
Now, the driver is supported by Lucent, and they keep adding in it the same features they add to the Windows drivers (such as microwave oven robustness). Their also have added support for the IBSS Ad-Hoc mode (see discussion above). The latest version adds support for 2.4 kernel and many common Wireless Extensions. Note that Enterasys/Cabletron is also distributing a slightly modified version of this driver (usually an older one).
Moustafa has released a version of this driver with scanning support.
Recently, Agere has released a new version of this driver which is fully Open Source. This new version has support for the HermesII chipset found in the Proxim Orinoco 842X cards (but it seems it no longer support the old Orinoco cards - use the older driver version). It has also improved Wireless Extension support. Agere is still working hard on the driver and has recently added support for Wireless Scanning and WPA.
3.4 Orinoco USB cards and HP/Compaq multiport
Driver status : | beta |
Driver name : | orinoco_usb.o |
Version : | 0.1.4 |
Where : | http://www.nongnu.org/orinoco/ http://savannah.nongnu.org/projects/orinoco/ |
Maintainer : | Manuel Estrada Sainz <ranty@debian.org> Ramon Rey Vicente <ramon.rey at hispalinux.es> |
Mailing list : | http://sourceforge.net/mail/?group_id=44338 |
Documentation : | headers |
Configuration : | Wireless Extensions only |
Statistics : | Wireless Extensions |
Modes : | Managed, Ad-Hoc and Ad-Hoc-demo |
Security : | WEP (based on hardware support) |
Scanning : | Wireless Extensions, with optional patch |
Monitor : | With optional patch |
Multi-devices : | Yes |
Interoperability : | 802.11-DS and 802.11-b, interoperate with Windows |
Other features : | MTU selection, multicast, promiscuous mode, power management, multi-firmware. |
Non implemented : | - |
Bugs : | - |
License : | MPL and GPL |
Vendor web pages : | http://www.wavelan.com/ http://www.proxim.com/ http://www.hp.com/ |
Lucent, Agere and Proxim are directly selling this Orinoco device. HP/Compaq sells it as WL215 (standalone) and W200 (multiport option for Compaq laptops). Other vendors such as Melco are also selling this hardware. One of the particularity of this hardware is that the USB-Pcmcia bridge doesn't contain a firmware, so the driver need to upload the firmware at power up. On the other hand, the Pcmcia card behind the USB-Pcmcia bridge already contains its own firmware.
Note that most USB 802.11b cards are based on either the Intersil PrismII chipset (see section 3.6) or the Atmel chipset (see section 3.20), and are quite different from this hardware.
The big difference with the standard Orinoco driver is firmware uploading. You will need to extract the firmware for the USB-Pcmcia bridge from the Windows driver using the tools provided on the driver web page. The firmware uploading support in Linux needed for this driver is currently being finalised, so check the latest driver documentation. On the other hand, the driver offer no support for updating the firmware in the Pcmcia card.
This driver was merged into the CVS of the Orinoco driver (see section 3.2). However, because the Orinoco maintainers are not happy with the locking strategy of this driver, this driver was never included in any release of the Orinoco driver and is not included in the kernel. The latest version of the driver may be found in the Orinoco CVS (see section 3.2).
Linux Wireless LAN Howto - jt@hpl.hp.com Converted to html from Frame Maker - 16 september 97 Updated 25 July 07 Copyright © 1996-2007 Jean Tourrilhes | Project hosted and sponsored by : |