The devices, the drivers - 802.11a, 802.11g and 802.11n


Jean Tourrilhes

25 July 07



The who's who of Wireless LANs under Linux.

This section list devices going beyond the IEEE 802.11b standard, such as those based on the IEEE 802.11a, 802.11g and 802.11n standards (see section 8), offering bitrates higher than 11 Mb/s in the 2.4 GHz and 5.2 GHz bands.

4.1 TI ACX100 OpenSource driver (All 802.11b+ cards)

Driver status : beta
Driver name : PCI : acx100_pci.o
Version : 0.3.36 [20070101]
Where : http://acx100.sourceforge.net/
http://lisas.de/~andi/acx100/
http://rhlx01.fht-esslingen.de/~andi/acx100/
http://www.cmartin.tk/acx/
Contact : ACX100 OSS driver project team <acx100-users@lists.sf.net>
Maintainers : Denis Vlasenko <vda at port.imtp.ilyichevsk.odessa.ua>
Andreas Mohr <andim2 at users.sourceforge.net>
Jeff Williams <angelbane at users.sourceforge.net>
Carlos Martin Nieto <carlos@cmartin.tk>
Benjamin Schrauwen <bschrauw at users.sourceforge.net>
Moritz Angermann <sfoi at users.sourceforge.net>
Frederic Deletang <ziga at users.sourceforge.net>
Mailing list : http://sourceforge.net/mail/?group_id=75380
Documentation : Readme file, Wiki
http://www.houseofcraig.net/acx100_howto.php
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : Yes
Interoperability : 802.11b and PBCC, 802.11g depending on hardware
Other features : Experimental support for HostAP mode
Non implemented : "4X" mode, USB support (WIP), CF support, packet fragmentation, AutoRate
Bugs : some configurations may lockup or loose packets
License : MPL
Vendor web page : http://www.ti.com/
http://www.dlink.com/products/
http://www.linksys.com/products/
http://www.gemtek.com.tw/
http://www.smc.com/
http://www.netgear.com/

4.1.1 The device

In 2001, TI (Texas Instruments) decided to make a big push on the 802.11 market. Because there was already many other 802.11 vendors, TI needed to differentiate themselves. Their solution was to introduce a chip with faster data rate. TI introduced a new modulation, PBCC (Packet Binary Convolutional) at 5.5, 11 and 22 Mb/s, which offers higher speed and longer range than 802.11b modulations (CCK).

However, to get the market to accept PBCC, TI needed the stamp of approval of the IEEE standard group. Other vendors within the IEEE were not keen to give TI any advantage, and decided to base 802.11g on the OFDM modulation rather than PBCC. After much political fight, the final 802.11g standard include both OFDM (mandatory) and PBCC (optional). Because PBCC is only optional and slower, I don't expect anybody else than TI to implement it.

The ACX100 was one of the first second generation 802.11b chipset. It is based on a ARM7 core, and offer both a PCI/Cardbus and USB interface. The use of PCI busmaster allow to reduce CPU utilisation compared to 16 bit cards. The MAC includes all the common 802.11 features, the Phy implement the regular 802.11b modulations and PBCC. The design goal seems to have been performance and features.

As soon as TI released its ACX100 chipset, many usual vendors started selling PCI, Cardbus and USB cards based on it, for example the D-Link 520+ and 650+ cards based on it. All the cards that support up to 22 Mb/s are based on this chipset.

The ACX100 is known for its requirement for PCI2.2 mainboards (lack thereof or some other reason may lead to conflicts with other cards such as SB Live! and crashes). This is not specific to the ACX100, other modern wireless chipsets also tend to require PCI2.2.

Note that TI has released newer chipsets, the TNETW1100b/1130/1230 chipsets, also called ACX111, which add support for 802.11g and 802.11a, and don't seem to be driver compatible with the ACX100. All cards supporting both 22 Mb/s and 802.11g/a are based on those chipsets. Note that for 802.11g, a name including "plus" does not imply a TI chipset, D-Link has a range of 802.11g "plus" cards including Atheros chipsets.

4.1.2 The driver

From the start, TI has refused to give any help towards a Linux driver and have decided to totally ignore the Linux community. Toward the end of 2002, a binary Linux driver was leaked on the net. Because this binary driver is not officially released by any vendor, its legal status is unclear (and therefore it is not listed here). Moreover, this driver was compiled for a very specific kernel and was overall very problematic to install and use.

A group of people using this driver got fed up with the situation and decided to reverse engineer the binary driver by disassembling it. This is a huge task, as this hardware and driver are fairly complex, and most other reverse engineering project I've heard off eventually failed. After a few month of work, they eventually released their first version of the ACX100 opensource driver.

The initial driver was very experimental, but it evolved fairly rapidly, as Andy was working hard on the driver fixing bugs. Most basic features are now working (Ad-Hoc and Infrastructure mode, WEP, Wireless Extensions, statistics...), and some advanced features are implemented (monitor mode, 2.6.X support...). However, there are still lockups or eventual traffic loss on some machines/networks, power management/hotplug is experimental. Preliminary support for USB and ACX111 devices has been added, but this is not yet complete. Denis joined and fixed support for ACX111, as well as ton of other bugs.

Around mid 2005, Denis created a branch of the driver targeted at inclusion in kernel 2.6.X. He dropped support for 2.4.X and some non standard features such as the old firmware loader, and fixed many bugs. For example, support for USB dongles, 64 bits, SMP is now functional. This driver was included in Andrew's kernels (-mm version), and meanwhile can be made to compile for standard kernels. This version got almost included in the Linux kernel but was eventually rejected, and also dropped from -mm kernels.

The initial ACX100 driver contains its own 802.11 code. When the SoftMAC 802.11 stack became available in 2005 (see section 4.13), Andi and Denis ported the driver to it. This SoftMAC driver is currently in alpha stage. This driver was included in wireless-2.6 GIT repository, in preparation for inclusion in the kernel, and later dropped. The concern is that there was no clean separation between the people that did the reverse engineering and those who wrote the driver, unlike what was done for the Broadcom driver (see section 4.13).

In 2006, Jeff and Carlos started porting the driver to the new mac80211 kernel stack (see section 4.9). Their intention is to initially replace the SoftMAC driver, and eventually replace the initial driver. The driver is currently in experimental stage.

In parallel, the branches of the initial driver from Andi and Denis were merged. Andi has still been busy fixing various bug and keeping this driver up to date with respect to kernel changes. This is the version of the driver recommended for maximum stability.

4.2 Atheros MADWiFi driver (most cards with 802.11a or 108 Mb/s)
Driver status : stable
Driver name : ath_pci.o
Version : 0.9.3.1
Where : http://madwifi.org/
http://sourceforge.net/projects/madwifi
Maintainers : Sam Leffler <sam@errno.com>
Michael Renzmann <netdev@nospam.otaku42.de>
Greg Chesson <greg@atheros.com>
Mailing list : http://sourceforge.net/mail/?group_id=82936
Documentation : Readme file
http://www.mattfoster.clara.co.uk/madwifi-faq.htm
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc, Master (HostAP)
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : HostAP mode
Non implemented : Ad-Hoc mode
Bugs : -
License : Binary only for the HAL + BSD driver
Vendor web page : http://www.atheros.com/
http://actiontec.com.tw/
http://www.proxim.com/
http://www.dlink.com/products/
http://www.linksys.com/products/
http://www.gemtek.com.tw/
http://www.smc.com/
http://www.netgear.com/

4.2.1 The device

Atheros was the first company to release a complete 802.11a solution, and therefore most existing products are based on it. Proxim was the first company releasing products based on the Atheros chipset, but other familiar names such as Linksys, D-Link and SMC did follow quickly.

Most vendor offer a CardBus card (32 bits Pcmcia) and Access Points, and a few offer PCI solutions.

The first Atheros chipset, ar5210, implement the full 802.11a standard. The MAC protocol is identical to 802.11b, the Atheros chipset offer both infrastructure and ad-hoc mode, enhanced WEP with per link keys (for 802.1x) The radio modem use OFDM in the 5 GHz band (8 separate channels), with speeds from 6 Mb/s to 54 Mb/s (depending on range).

The Atheros chipset has a few proprietary features, such as its X2 mode (turbo) that allow to double the rate by using two channels in parallel (unfortunately, it also increases the sensitivity to interferences, decrease the number of channels and is incompatible with 802.11a).

The Atheros cards offer a busmaster host interface, allowing high performance and low CPU utilisation (almost all 802.11b cards are limited to PIO, which keeps the CPU busy). The card deals only with the low level of the MAC protocol, and the driver has to deal with all the 802.11 management (making driver development more complicated). The other main characteristics of the Atheros chipset is that it's a fully CMOS solution (including the radio), which reduces the cost.

Atheros has released its second generation chipset, derived from the initial ar5210, that have better performance and are no longer limited to only 802.11a. The ar5211 support both 802.11a and 802.11b, whereas the ar5212 support 802.11a, 802.11b and 802.11g. The following chipsets from Atheros (ar5213, ar5214, ar5413, ar5414, ar5513) kept the basic same design and features and mostly added a wide range of proposed enhancements to the 802.11g/a standard, add 802.11e QoS or proprietary extensions, such as Turbo mode (bound two channels), bursting and proprietary MIMO.

After that, Atheros released a number of more specialised chipsets, such as single-chip solutions (integrating both MAC and radio on the same chip) and PCI-Express chipsets. Their USB chipset AR5007UG is the former ZyDAS ZD1211 (see section 4.14). Their new generation chipset, such as the ar5416, support draft-802.11n MIMO (up to 300 Mb/s), and obviously adds new proprietary extensions.

There is many products on the market using Atheros chipsets. In fact, the vast majority of 802.11a cards are based Atheros chipset. Most all the 802.11g cards that advertise 108 Mb/s are also based on Atheros chipsets.

4.2.2 The driver

Sam, with the help of Atheros, had created a BSD driver for those cards some time ago. Unfortunately, he was unable to release it because of the FCC regulations. The Atheros hardware is basic and doesn't enforce that valid operating parameters are set (such as frequency and power level) and does not ensure compliance to the various radio regulations, however the regulatory organisations, such as the FCC and ETSI, mandate that end user should not be able to set invalid operating parameters. Eventually, Atheros managed to find a solution that was acceptable : they created a HAL, a binary layer that sits between the hardware and the driver and enforces that radio regulations are respected. The downside is that the HAL is available only for selected architectures (i386, PPC, Arm, Mips, SH4, Alpha and Sparc64).

In the mean time, Sam had ported is original BSD driver to Linux, and integrated into Linux. Like the BSD driver, the initial MADWiFi driver is based on the HAL, however it supports Wireless Extensions and Wireless Scanning (which are Linux specific). This driver requires a recent 2.4.X kernel or 2.6.X kernel, and requires Wireless Extensions V14 or later.

As the hardware is basic, a lot of the 802.11 functionality is handled in the driver (as opposed to firmware). To handle this, Sam has created a 802.11 stack for this driver that became the de-facto 802.11 stack of BSD operating systems. This is a lot of code, and for the first release there was still some bugs and many features and optimisations missing (for example, Ad-Hoc mode is not yet functional). The good news is that over time, the performance and functionality of this driver increased. Lately, WPA support has been added to the driver (which is a lot of work).

In early 2005, the project went into hibernation, no new release was done and activity slowed down. Then, in mid 2005 the project was re-energised, and Michael took over the driver maintenance. He is coordinating the work on a new branch of the driver called madwifi-ng created by Atheros to support more recent cards and their features. This is now the main branch of the driver, seeing active development, and the old branch has been deprecated.

This driver has a vast number of features and good hardware compatibility, thanks to the support from Atheros and the close integration with the 802.11 stack. Nearly all features of the hardware are supported (QoS and performance enhancements). The driver also support virtual network interfaces (called VAP), which allow one card to act as multiple 802.11 devices.

The MadWiFi project has recently added two other branches of the driver. The first branch is called DadWiFi and is a port of the driver to the new mac80211 kernel stack (see section 4.9). Currently, the mac80211 stack does not offer much more than the 802.11 stack in the madwifi-ng driver, but with time it may change.

The other branch is called OpenHAL, it is a replacement of the binary only HAL with OpenSource code. The OpenHAL is mostly a port from the OpenBSD Atheros driver called ar5k from Reyk Floeter, which itself is derived from the vt_ar5k driver for Linux written by Reyk, which was listed in this document a few years ago. The work on OpenHal and the port to mac80211 would make this driver more likely to go in the Linux kernel at some point in the future.

4.3 Intersil Prism54 FullMac (802.11a/802.11g)

Driver status : stable
Driver name : Cardbus : prism54.o
PCI : prism54.o
Version : 0.2
Where : Linux kernel (2.6.19)
http://prism54.org/fullmac.html
Authors : W. Termorshuizen
R. Bastings
Maintainers : Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
Frederik Kunz <frederik.kunz@web.de>
Sebastian Schoeps <sebastian@schoeps.org>
Aurelien Alleaume <slts@free.fr>
Herbert Valerio Riedel <hvr@gnu.org>
Mailing lists : http://prism54.org/mailing.html
Documentation : Readme, web page
Configuration : Wireless Extensions & configuration tool
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc, Master (FirmwareAP)
Security : WEP, AES
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : yes
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : Encryption, Access Point mode, WDS, Firmware loading via HotPlug.
Non implemented : SoftMAC firmware support
Bugs : ?
License : GPL
Vendor web pages : http://www.dlink.com/products/
http://www.smc.com/
http://www.netgear.com/
http://www.gemtek.com.tw/
http://www.conexant.com/

4.3.1 The device

The Prism Indigo, Prism GT and Prism Duette are the third generation of chipsets from Intersil, logical follower of the second generation PrismII and Prism3 chipsets (see section 3.6). The Prism Indigo was released first, and support 802.11a (5 GHz band). The Prism GT support 802.11g (and 802.11b - 2.4 GHz band). The Prism Duette support both 802.11a and 802.11g (in both the 2.4 GHz and 5 GHz band).

Because of the limitations of the previous PrismII design, those new chipsets feature a totally new design, much cleaner and much more efficient, and doesn't share much in common with the earlier Prism designs, but is more likely to be related to the NWN MAC that Intersil acquired (see section 3.17).

The chipset is highly integrated (2 or 3 chip solutions). Like previous Prism chipsets, most of the 802.11 management is handed in firmware. However, the bus interface is now PCI DMA only (less CPU overhead, faster). The MAC support the usual 802.11 features, and hardware WEP and AES encryption, and the firmware fully act as an Access Point. The Radio implement the OFDM modulation necessary to support 802.11a and 802.11g.

There doesn't seem to be any products using the Prism Indigo chipset (most card offering 802.11a are based on Atheros chipset - see section 4.2), and I don't expect to see any in the future. A few of the usual Intersil partners, such as Netgear and SMC, have started selling 802.11g cards based on the Prism GT and Prism Duette chipsets.

Note that there are two types of firmware for this card, the FullMAC firmware, that can handle most of the 802.11 functionality by itself, and the SoftMAC firmware, that delegates it to the driver. Older revision of the hardware can handle both types of firmware, whereas newer revisions can only handle the SoftMAC firmware. Cards that can support the older FullMAC firmware are now very difficult to find.

After releasing this chipset, the wireless division of Intersil (formerly part of Harris) was bought by GlobespanVirata, and after a few month, GlobespanVirata merged with Conexant. Therefore, the Prism chipsets are now sold by Conexant.

4.3.2 The driver

This driver was written and released as GPL by Intersil themselves ! This is a much stronger commitment to OpenSource than some other vendors have made. Unfortunately, after the aquisition by Conexant, they stopped contributing to the OpenSource community.

Luis, Frederik and Sebastian are taking care of this driver after the initial release from Intersil and helping people with the driver. They are fixing bugs and improving compatibility with the various kernels and configurations. Aurelien has done a tremendous work on Wireless Extensions support.

After an initial frenetic pace of changes and reorganisation, the driver has stabilised and matured, and is now included in the Linux 2.6.X kernel. The driver requires firmware download (through the standard HotPlug support) and has full support for Wireless Extensions (including Wireless Scanning) and monitor mode. The driver also can act as an Access Point through a FirmwareAP mode (all the AP management is handled by the firmware). Full support for WPA has been added recently to the driver.

One of the limitation of the driver is that it does not support the new SoftMAC devices, which means that it only works with older Prism54 devices. For SoftMAC devices, you will need the SoftMAC driver (see section 4.4).

4.4 Intersil Prism54 SoftMac (islsm)

Driver status : beta
Driver name : islsm.o
Version : 0.7
Where : http://prism54.org/newdrivers.html
http://jbnote.free.fr/
http://islsm.org/~jb/islsm/islsm.git/
Maintainer : Jean-Baptiste Note <jean-baptiste.note@m4x.org>
Jean-Baptiste Note <jbnote@gmail.com>
Mailing lists : ?
Documentation : ?
Configuration : ?
Statistics : ?
Modes : ?
Security : ?
Scanning : ?
Monitor : ?
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : ?
Non implemented : ?
Bugs : ?
License : GPL
Vendor web pages : http://www.dlink.com/products/
http://www.smc.com/
http://www.netgear.com/
http://www.gemtek.com.tw/
http://www.conexant.com/

4.4.1 The device

After Conexant acquired the Prism54 family of chipsets (see section 4.3), the Prism54 chipsets changed their mode of operation from FullMAC, where the firmware handle all the 802.11 protocol, to SoftMAC, where the driver has to handle all the 802.11 protocol. This allows to reduce the cost of the cards by decreasing the on-board memory and flash. However, the chipset is no longer compatible at the driver level, because the firmware is different. Older devices can support both types of firmwares, newer card with less memory can not accommodate the FullMAC firmwares. All the Prism54 USB devices and most recent PCI/Cardbus cards can only support SoftMAC operation.

Conexant also released the Prism WorldRadio, an enhanced version of the Prism Duette with 802.11a and 802.11g support with proprietary bit rate enhancement. Then, they released the CX85510, which adds QoS and more security features, and the CX3110x, a single chip solution.

4.4.2 The driver

Up to that point, Intersil had a long tradition of being one of the most friendly vendor towards Linux, and they did help the many Linux drivers and even released themselves the Prism54 FullMAC driver (see section 4.3). However, after being acquired by Conexant and with the release of SoftMAC devices, they decided to ignore the Linux community. The Prism54 team tried for months to negotiate the release of specs in vain.

Jean-Baptiste has led the effort to reverse engineer the Windows driver and create a driver for the Prism54 SoftMAC devices. He reversed engineered the driver by loading it with ndiswrapper and spying on the USB traffic, as opposed to other effort that actually disassemble a driver.

Jean-Baptiste is mostly concentrating on support for USB devices, however support for PCI devices was added as well to the Prism54 SoftMAC driver. The driver is based on the 802.11 stack from the MadWifi project (see section 4.2). The driver is claimed to work, but at the time of writing not tarball or release seems to be available.

4.5 Intersil Prism54 mac80211 driver (p54)

Driver status : alpha
Driver name : PCI/Cardbus : prism54pci.o
USB : prism54usb.o
Version : ?
Where : wireless-dev GIT
Maintainers : Michael Wu <flamingice@sourmilk.net>
Christian Lamparter <chunkeey@web.de>
Jean-Baptiste Note <jbnote@gmail.com>
Mailing lists : -
Documentation : -
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : Yes
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : mac80211 features, Firmware loading via HotPlug
Non implemented : -
Bugs : ?
License : GPL
Vendor web pages : http://www.conexant.com/

4.5.1 The device

This is the same device as the previous entry (section 4.4).

4.5.2 The driver

When Jean-Baptiste decided to write the SoftMAC Prism54 driver (see section 4.4), he decided to use the 802.11 stack from the MadWifi project (see section 4.2), which is one of the most fully featured 802.11 stack available. Since then, the Linux kernel developers decided to standardise on the mac80211 stack (see section 4.9), and therefore a driver using another stack can not be included in the kernel.

Michael ported the work of Jean-Baptiste to the mac80211 stack, with the goal of merging it in the Linux kernel in the near future. The driver has two versions, one for PCI/Cardbus devices and one for USB devices. This driver is only available in the wireless-dev GIT repository, and not much documentation is available about it.

4.6 Intel PRO/Wireless 2200 802.11g and 2915 802.11ag (Centrino)

Driver status : Stable
Driver name : ipw2200.o
Version : 1.2.2
Where : Linux kernel (2.6.20)
http://ipw2200.sourceforge.net/
http://ieee80211.sourceforge.net/
Maintainer : James P. Ketrenos <ipw2100-admin@linux.intel.com>
Mailing list : http://lists.sourceforge.net/lists/listinfo/ipw2100-devel/
Documentation : Readme
Configuration : Wireless Extensions
Statistics : /proc interface and Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : Firmware loading via HotPlug, 802.11e (QoS)
Non implemented : -
Bugs : ?
License : GPL
Vendor web page : http://www.intel.com/
http://www.passys.nl/tips/tip40_en.htm

4.6.1 The device

The Intel PRO/Wireless 2200 is the second 802.11 product designed by Intel, following the previous PRO/Wireless 2100 product (section 3.28). It mostly adds support for 802.11g (i.e. faster data rates). The PRO/Wireless 2915 is their third 802.11 product, and adds support for 802.11a.

The design of the 2200 and 2915 are based on the original 2100, the main improvement are the new radio modems and better support for the new security protocols (WPA). The MAC core still support the same vast array of standard 802.11 features. The radio are obviously different, adding the OFDM bit-rates, up to 54 Mb/s, and support for 5 GHz frequencies for the 2915.

The marketing program is still the same, and the PRO/Wireless 2200 and 2915 Mini-PCI cards are exclusively sold as part of the Centrino package, therefore you will mostly find them integrated in various laptops, and not as a separate add-on card.

If you really want a separate add-on card, Intel also sells the Intel PRO/Wireless 2225, which is basically the PRO/Wireless 2200 in a half-height PCI card and sold separatly. And obviously, it's not called Centrino. And this card is very hard to find and buy, and is not listed on Intel web site.

Some people, such as Passys, have built PCI to Mini-PCI adapters for the PRO/Wireless 2200. This allows to put a standard Mini-PCI PRO/Wireless 2200 in any regular desktop, and it is supported by Linux.

4.6.2 The driver

Intel is actively supporting the driver for both the PRO/Wireless 2200 and 2915, like they do for the PRO/Wireless 2100 (section 3.28). James is still leading the development of this driver. The driver is fully OpenSource, and like for the 2100 require a specific firmware.

Obviously, the driver share a lot of code with the 2100 driver, it supports both the 2200 and the 2915 and offer a similar rich feature set (WEP, WPA, Scanning). The development is very active and many bug are being fixed and features added.

The 802.11 code originally taken from the HostAP driver (see section 3.8) was eventually spin-off into the separate Intel ieee80211 stack (see section 3.28). This driver and the 802.11 stack was included in Linux kernel 2.6.14.

4.7 Intel PRO/Wireless 2200/2915 with HostAP mode

Driver status : Beta
Driver name : ipw2200.o
Version : 0.3
Where : Linux kernel (2.6.20)
http://sourceforge.net/projects/ipw2200-ap
Maintainer : York Liu <york_liu@linux.intel.com>
Mailing list : http://sourceforge.net/mail/?group_id=149502
Documentation : Readme
Configuration : Wireless Extensions
Statistics : /proc interface and Wireless Extensions
Modes : Managed, Ad-Hoc, Master
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : Firmware loading via HotPlug
Non implemented : -
Bugs : ?
License : GPL
Vendor web page : http://www.intel.com/

4.7.1 The device

This is the same device as the previous entry (section 4.6).

4.7.2 The driver

Intel is one of the most active company when it comes to Linux wireless drivers. After releasing the standard driver for the PRO/Wireless 2200 and 2915 (see section 4.6), they released an alternate driver with Access Point mode (HostAP mode), which let you use your card as an Access Point.

The driver is still based on the 802.11 code originally taken from the HostAP driver (see section 3.8), it is a variant of the Intel ieee80211 stack (see section 3.28) that includes the HostAP functionality. This driver requires a specific firmware for the card, provided by Intel. This driver seems to be updated less often than the standard drivers.

4.8 Intel PRO/Wireless 3945ABG 802.11g/802.11ag (Centrino)

Driver status : Stable
Driver name : ipw3945.o
Version : 1.2.1
Where : http://ipw3945.sourceforge.net/
http://ieee80211.sourceforge.net/
Maintainer : James P. Ketrenos <ipw2100-admin@linux.intel.com>
Zhu Yi <yi.zhu@intel.com>
Mailing list : https://lists.sourceforge.net/lists/listinfo/ipw3945-devel
Documentation : Readme
Configuration : Wireless Extensions
Statistics : /proc interface and Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : Firmware loading via HotPlug, 802.11e (QoS), binary daemon
Non implemented : -
Bugs : ?
License : GPL, except the binary daemon
Vendor web page : http://www.intel.com/

4.8.1 The device

The Intel PRO/Wireless 3945 is the third 802.11 product designed by Intel, following the previous PRO/Wireless 2200 product (see section 4.6). The main goal was to reduce the cost and the size of the previous chipset, however Intel has added a few novel features such as WakeOnWLAN and better VoIP support.

Like their previous chipset, the 3945 is only available as a MiniPCI card for Intel Centrino processor, integrated in various laptops, and not available as a separate add-on card.

4.8.2 The driver

Like for all their previous chipset, Intel decided to release a driver for this chipset. However, they were faced with a problem. To achieve reduced cost, a lot of functionality was moved from the hardware/firmware into the driver. The task of insuring compliance with various radio regulations was moved out of the hardware, which is an issue because regulatory organisations, such as the FCC and ETSI, mandate that end user should not be able to set invalid operating parameters. This is the reason why the Atheros drivers contains a binary HAL (see section 4.2).

Intel opted for a different approach, they created a fully OpenSource driver and moved regulation compliance to a binary userspace daemon interacting with the driver. This is technically better than using a binary driver, as the driver could be included in the kernel and the user just need to add the binary daemon to his system, which is simpler than adding a kernel driver. However, this has similar downside as a binary driver, the platform support is limited (currently only to x86 and x86-64).

The driver is similar to the ipw2200 driver (see section 4.6), it share a lot of code with it, has a similar set of features and uses the same Intel ieee80211 stack (see section 3.28).

Note that Intel has a second driver for this hardware using the new mac80211 kernel stack (see section 4.9).

4.9 Intel PRO/Wireless 3945ABG mac802.11 driver

Driver status : Experimental
Driver name : iwl3945.o
Version : 0.1.3
Where : http://intellinuxwireless.org/?p=iwlwifi
http://intellinuxwireless.org/?p=mac80211
Maintainer : James P. Ketrenos <ipw2100-admin@linux.intel.com>
Zhu Yi <yi.zhu@intel.com>
Mailing list : https://lists.sourceforge.net/lists/listinfo/ipw3945-devel
Documentation : Readme
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : Firmware loading via HotPlug, 802.11e (QoS)
Non implemented : -
Bugs : ?
License : GPL
Vendor web page : http://www.intel.com/

4.9.1 The device

This is the same device as the previous entry (section 4.8).

4.9.2 The driver

With all their previous drivers, Intel were using their Intel ieee80211 stack (see section 3.28), derived from the HostAP driver (see section 3.8). This stack is a good match for the previous Intel chipsets, however it is not well suited to the 3945 and other modern wireless chipset from other vendors due to the fact that it does not handle the MAC management functionality. The SoftMAC addition to Intel ieee80211 stack adds such function (see section 4.13), but is very limited in functionality compared to modern 802.11 stacks such as the MadWiFi stack (see section 4.2).

For these reasons, various driver maintainers decided to standardised on a new stack, the mac80211 stack. This stack was initially released in middle 2006 by DeviceScape, a Linux consulting company, and was mostly designed by Jouni Malinen, author of the HostAP driver (see section 3.8). After this release, the DeviceScape stack was very heavily reworked by Jiri Benc, Michael Wu and Zhu Yi and the rest of the Linux wireless community, to become mac80211. The mac80211 stack was included in kernel 2.6.22, but it is still experimental and a lot of work remains. For example, early version of mac80211 have deadlocks and are not SMP safe.

Intel was obviously interested in this new mac80211 stack, as in the long term it makes their driver better and easier to maintain. Intel is contributing to the mac80211 stack, and they also have their own branch of mac80211 with features needed by their driver and not found yet in the kernel stack (but planed to be merged later).

Intel also ported their driver for the 3945 chipset to the new mac80211 stack, as part of the iwlwifi package. The driver is still experimental and under heavy development.

The previous driver for the 3945 requires a binary daemon for regulation compliance, but this turned out to be not satisfactory. Intel decided to rewrite the firmware for the 3945 to ensure regulation compliance. This means that the iwlwifi Linux driver requires its own specific firmware, and that the driver can be fully OpenSource without binary daemon. This represents an impressive commitment to the Linux community.

4.10 Intel PRO/Wireless 4965AGN draft-802.11n (Centrino)

Driver status : Experimental
Driver name : iwl4965.o
Version : 0.1.3
Where : http://intellinuxwireless.org/?p=iwlwifi
http://intellinuxwireless.org/?p=mac80211
Maintainer : James P. Ketrenos <ipw2100-admin@linux.intel.com>
Zhu Yi <yi.zhu@intel.com>
Mailing list : https://lists.sourceforge.net/lists/listinfo/ipw3945-devel
Documentation : Readme
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : Firmware loading via HotPlug, 802.11e (QoS)
Non implemented : -
Bugs : ?
License : GPL
Vendor web page : http://www.intel.com/

4.10.1 The device

The Intel PRO/Wireless 4965 is the fourth 802.11 product designed by Intel, following the previous PRO/Wireless 3945 product (section 4.8). It mostly adds support for draft-802.11n support, i.e. MIMO.

MIMO uses multiple antennas to simultaneously transmit or receive signal, and using some clever processing can achieve much greater range or speed than regular transmissions. The 802.11n standard is not yet finalised, which is why those products are called draft-802.11n compliant. It offer bitrate up to 300 Mb/s (most users won't see that in practice), and may double the range indoors.

Like their previous chipset, the 4965 is only available as a MiniPCI card for Intel Centrino processor, integrated in various laptops, and not available as a separate add-on card.

4.10.2 The driver

For the 4965, Intel decided to directly based their driver on the new mac80211 kernel stack (see section 4.9). This driver is part of the iwlwifi package, and currently requires a version of mac80211 with Intel changes to support draft-802.11n. This driver also require a specific firmware the ensure regulation compliance.

4.11 Ralink RT2500 and 2570 cards

Driver status : Beta
Driver name : rt2500.o
PCI : rt61.o
USB : rt73.o
rt2x00.o
Version : 1.1.0 (beta) and 2.0.4 (alpha)
Where : http://rt2x00.serialmonkey.com/
http://rt2400.sourceforge.net/
http://www.ralinktech.com/supp-1.htm
Maintainers : Paul Lin
Mark Wallis <markwallis at users.sourceforge.net>
Ivo van Doorn <ivd at euronet.nl>
Mailing list : http://sourceforge.net/mail/?group_id=107832
Documentation : Text files, Howtos
Configuration : Wireless Extensions and specific graphical tool
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g and 802.11a depending on hardware
Other features : -
Non implemented : -
Bugs : SMP problems
License : GPL
Vendor web page : http://www.ralinktech.com/
http://minitar.com/
http://rt2x00.serialmonkey.com/wiki/index.php/Hardware

4.11.1 The device

Ralink may have been late in releasing a 802.11b chipset, the RT2400 (section 3.27), however it was fairly quickly followed by the RT2500, a 802.11g chipset. The RT2500 is a evolution of the RT2400, and share many characteristics with it.

Like other 802.11g chipsets, it supports standard OFDM bitrates up to 54 Mb/s and all modern 802.11 features such as WPA and QoS (802.11e). On top of that, it support a proprietary 72 Mb/s bitrate. The RT2500 is designed for MiniPCI and CardBus interfaces, and the RT2570 is designed with a USB 2.0 interface.

As usual, this chipset is sold by a wide variety of vendors under different model names, and some of those use the same model name for different chipsets. The project pages includes a long list of cards including this chipset. A special mention to Minitar which has a dedicated Linux support forum.

The RT2500 was quickly followed by other 802.11g chipsets. The RT61 family includes the rt2561 and rt2661 PCI chipsets and adds support for turbo bit rate (100 Mb/s) and for the rt2661 only proprietary MIMO (not 802.11n compatible). The RT73 family includes the RT2573 and RT2571 USB chipsets, and is the equivalent of the RT61 (but without the MIMO chipset). Those chipset are available with two radio options, 2.4 GHz only, or 2.4 GHz plus 5 GHz, for additional 802.11a support.

Ralink has now released the RT2800 family. The main feature of those chipset is the addition of draft-802.11n MIMO support.

4.11.2 The driver

Like for the RT2400, Ralink wrote a Linux driver for the RT2500 and RT2750, but this time they decided to release it themselves as GPL. Moreover, the driver is functional, full of features and with a graphical utility, so this represent a very generous contribution to the OpenSource community. The driver supports WEP, WPA, Scanning and Monitor mode...

Mark integrated this driver in the existing SourceForge project for the RT2400 driver and started to maintain it. Many patches have been integrated to improve the stability and functionality of the driver.

After that, Ralink released the RT61 driver and the RT73 driver, to support the new 802.11g chipset. Those drivers are GPL and have the same features as the RT2500 chipset. Mark has integrated this driver in the existing SourceForge project, and the community is provided various improvement to those drivers.

Ivo has started a rewrite of those drivers, called rt2x00, his goal is to have a source code easier to integrate in the Linux kernel and to maintain. His rewrite targets both the RT2400 (see section 3.27), the RT2500, the RT61 and RT73. The initial version of this new driver was using the Intel ieee80211 stack from the Centrino driver (see section 3.28).

Then, Ivo ported the driver to the new mac80211 kernel stack (see section 4.9), and lots of development has happened on that version of the driver. This alternate version is available in the wireless-dev GIT repository and in the CVS, and should appear in a Linux kernel in the future.

4.12 Ralink ural-linux driver (BSD driver)

Driver status : Alpha
Driver name : ural.o
Version : 0.8.2
Where : http://etudiants.insia.org/~jbobbio/ural-linux/
Maintainers : Jeremy Bobbio <jeremy.bobbio@etu.upmc.fr>
Mailing list : -
Documentation : -
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, WPA
Scanning : Wireless Extensions
Monitor : No
Multi-devices : ?
Interoperability : 802.11b and 802.11g
Other features : -
Non implemented : -
Bugs : -
License : BSD
Vendor web page : http://www.ralinktech.com/

4.7.1 The device

This is the same device as the previous entry (section 4.11).

4.7.2 The driver

Jeremy has ported the BSD driver for the RT2750 to Linux. This port is based on the 802.11 stack from the MadWifi project (see section 4.2) and support only USB devices. This driver is experimental and has not seen much work since 2005.

4.13 Broadcom 43xx cards

Driver status : Beta
Driver name : bcm43xx.o
Version : ?
Where : Linux kernel (2.6.22)
http://bcm43xx.berlios.de/
http://linux-bcom4301.sourceforge.net/
Maintainers : Michael Buesch <mbuesch@freenet.de>
Martin Langer <martin-langer@gmx.de>
Stefano Brivio <st3@riseup.net>
Danny van Dyk <kugelfang@gentoo.org>
Andreas Jaggi <andreas.jaggi@waterwave.ch>
Larry Finger <Larry.Finger@lwfinger.net>
Mailing list : https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Documentation : README files
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : -
Non implemented : 802.11a
Bugs : -
License : GPL
Vendor web page : http://www.broadcom.com/
http://www.linksys.com/
http://www.usr.com/

4.13.1 The device

Broadcom is a company that is developing all king of networking solutions, and well known for its Ethernet chipsets. When it decided to enter the Wireless LAN market, they decided a bold strategy. Instead of releasing a 802.11b product, which was the only standard at that time, they decided to release a product based on the upcoming 802.11g specification that was still one year from completion. Most competitors were taken by surprise, consumer were attracted by the higher speed and Broadcom quickly gained a good market share. When the 802.11g standard was eventually released, Broadcom quickly upgraded to it, and for a while the vast majority of 802.11g card were based on Broadcom chipsets. Many laptops of that period also included Broadcom chipsets. The Apple Airport Express is also based on the Broadcom chipset.

Eventually, the competition caught up, started offering more features than Broadcom or cheaper prices, and a lot of vendor using Broadcom chipsets migrated to other chipsets. Linksys is still a Broadcom stronghold, and a large portion of their 802.11g products are based on Broadcom chipsets (but not exclusively). A lot of laptops today that offer 802.11 includes either an Intel Centrino or a Broadcom chipset.

Like most 802.11g chipsets, the BCM43xx chipsets support standard OFDM bitrates up to 54 Mb/s and all modern 802.11 features such as WPA and QoS (802.11e). Broadcom has a complete family of chipsets, each iteration lowering the price or adding features. Their newer chipsets add support for 802.11a and pre-802.11n MIMO, and also add USB and PCI-Express interfaces.

Broadcom first proprietary extension is SpeedBooster, Broadcom's name for Packet Bursting, which is part of the 802.11e standard. They have few proprietary extension, their newer chipsets include a proprietary 125 High Speed Mode : this is not a enhanced modulation at 125 Mb/s, the card still use 54 Mb/s and a combination of protocol enhancement and compression. In fact, if a card advertise 125 Mb/s (which is misleading), it's a good clue that it's most likely a Broadcom card. Broadcom also advertise BroadRange, which is mostly a higher radio sensitivity.

Broadcom has two main firmware version, V3 and V4. Most cards can run both firmware, however older cards do not support V3 (such as the BCM4301 chipset, which is 802.11b only). Firmware V4 is necessary for most of the more advanced features.

4.13.2 The driver

Like TI (see section 4.1), Broadcom quickly gained a reputation as being very unfriendly to Linux. It was known that Broadcom internally had a fully functional Linux driver, but it was unwilling to release it in any form (even binary), and was not answering call for chipset specifications. However, soon people realised that the Linksys WRT54G, a router/access point with a Broadcom chipset, was based on Linux. Linksys was made aware that, because Linux is GPL, they had to release the full source code of the WRT54G firmware, which they promptly did. This source code contained a binary Linux driver for the Broadcom chipset.

A team of people led by Brett Wooldridge, Joe Jezak and Johannes Berg started to reverse engineer this driver by disassembling it, like it was done for the TI driver (see section 4.1). They did not write directly a driver, they produced a set of documentation so that the driver development would be legally separate from the reverse engineering effort.

A second team of people led by Michael started to write a driver based on those documents. They based their driver on the Intel ieee80211 stack from the Centrino driver (see section 3.28), and added a SoftMAC layer. The SoftMAC layer add all the MAC management functionality missing from the Intel ieee80211 stack. Both the driver and the SoftMAC stack were merged in the Linux kernel 2.6.17.

The driver and SoftMAC have seen tremendous development and reached a point where they are usable and stable. Support for more variations of the Broadcom chipset was added, such as PCI-E, support basic and advanced encryption was added. This driver only supports firmware V3.

In 2006, Michael started porting the driver to the new mac80211 kernel stack (see section 4.9). Along the way, the driver was significantly changed, this version only supports firmware V4 (so dropped support for older cards), and should offer support for the advanced features not supported in the SoftMAC driver, such as 802.11a. The mac80211 version is only available in the wireless-dev GIT repository, and should appear in a Linux kernel in the future.

In parallel, Larry has reused the SoftMAC driver and the mac80211 driver above to create an alternate driver for the mac80211 kernel stack that support only firmware V3. This driver supports cards that are not supported by the other mac80211 driver. Note that the names of all those drivers is currently in flux.

4.14 ZyDAS ZD1211 driver (USB dongles)

Driver status : Stable
Driver name : zd1211.o
Version : 2.18.0.0
Where : http://sourceforge.net/projects/zd1211/
http://zd1211.ath.cx/zd1211
http://www.zydas.com.tw/downloads/download-1211.asp
Maintainers : Markus Karg <markus-karg@users.sourceforge.net>
ZyDAS
Mailing list : http://sourceforge.net/mail/?group_id=129083
Documentation : Web pages
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, WEP256, WPA
Scanning : Wireless Extensions
Monitor : No (need external patch)
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : 64 bit support
Non implemented : -
Bugs : -
License : GPL
Vendor web page : http://www.atheros.com/

4.14.1 The device

After the release of the ZD1201 (see section 3.29), the logical step for ZyDAs was to release a 802.11g chipset, the ZD1211. This chipset has similar features as other 802.11g chipset, such as advanced security features, and it seems that some version also support 802.11a.

The main feature of ZyDAS chipsets is their small size and low power consumption, making them especially suitable for USB dongles. Actually, it seems that this chipset is only found in USB dongles, even though it support other interfaces (PCI and Pcmcia). USB 2.0 is needed for full 802.11g operation.

ZyDAS was acquired by Atheros, and the ZD1211 is now known as Atheros AR5007UG.

4.14.2 The driver

Like for the ZD1201 (see section 3.29), ZyDAS themselves released a driver to support the ZD1211 under the GPL license.

At this point, a community organised around this driver : many people contributed patches and created branches of the driver. Most of the branches, which were aiming at simplifying the driver code or integrating it in the kernel, seems to have died. Instead, a new driver was written (see section 4.15).

Meanwhile, ZyDAS continues to release new version of the driver including bug fixes and patches from the community. Markus is hosting this driver and many patches on his web site.

4.15 ZyDAS ZD1211 SoftMAC driver

Driver status : Stable
Driver name : zd1211rw.o
Version : -
Where : Linux kernel (2.6.23)
http://zd1211.wiki.sourceforge.net/
http://www.linuxwireless.org/en/users/Drivers/zd1211rw
Maintainers : Daniel Drake <dsd@gentoo.org>
Ulrich Kunitz <kune@deine-taler.de>
Mailing list : http://sourceforge.net/mail/?group_id=129083
Documentation : Web pages
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : -
Non implemented : Automatic bitrate selection, Ad-Hoc mode
Bugs : -
License : GPL
Vendor web page : http://www.atheros.com/

4.15.1 The device

This is the same device as the previous entry (section 4.14).

4.15.2 The driver

Various effort to cleanup and simplify the ZyDAS driver failed (see section 4.14), so Ulrich and Daniel decided to write a new driver for the ZD1211 USB.

The driver was developped based on the SoftMAC 802.11 stack (see section 4.13), saw a rapid development and was included in kernel 2.6.18. After that, it was gradually improved with new features and more hardware support. However, some important features, such as automatic bitrate selection, are missing from this driver, and users have to manually select a bitrate. The performance is also not as good as the official driver, but it is very stable.

Many of the shortcomings of the SoftMAC driver are due to function not implemented in the SoftMAC 802.11 stack. Rather than implement those features in their driver, Daniel and Ulrich decided to port their driver to the new mac80211 kernel stack, which include those features (see section 4.9). This new driver currently does not have the same level of features and stability as the SoftMAC driver. This alternate version is currently only available in the wireless-dev GIT repository.

4.16 Realtek RTL8185L & RTL8187L (802.11g)

Driver status : Experimental
Driver name : PCI : r8180.o
USB : r8187.o
Version : 0.22
Where : http://rtl-wifi.sourceforge.net/
http://rtl8180-sa2400.sourceforge.net/
Maintainers : Andrea Merello <andreamrl *at* tiscali.it>
Hauke Mehrtens <hauke@hauke-m.de>
Discussion forums : https://sourceforge.net/forum/?group_id=186406
Documentation : Readme files
Configuration : Wireless Extensions
Statistics : ?
Modes : Managed, Ad-Hoc
Security : WEP
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : -
Non implemented : SMP
Bugs : -
License : GPL
Vendor web page : http://www.realtek.com.tw/

4.16.1 The device

Like all the other 802.11b chipset manufacturer, Realtek introduced a new 802.11g chipset based on their earlier design, the RTL8180L (see section 3.25). It mostly adds support for the OFDM bit rates (up to 54 Mb/s), and some version also support 802.11a. The RTL8185L has a PCI/Cardbus interface, whereas the RTL8187L has a USB 2.0 interface. Realtek offers a proprietary turbo mode with 72 Mb/s, but other chipsets do as well (see section 4.11).

4.16.2 The driver

With those new chipsets, Realtek changed their driver strategy. Instead of releasing a binary driver (see section 3.25), they decided to team up with Andrea who produced the GPL driver for their previous chipset (see section 3.26). They sent him a few reference design cards (prototypes) and specifications to help him.

Andrea has added preliminary support for those cards in the new branch of the RTL8180L driver, called rtl8180-sa2400. He also created a driver for the USB dongle called rtl8187-dev. Those branches are using their own 802.11 code.

To gain robust 802.11 support, he decided to create a new versions of the driver based on the Intel ieee80211 stack from the Centrino driver (see section 3.28), those branches are called respectively rtl818x-newstack and rtl8187-newstack.

Mid 2005, Andrea stopped this work, leaving his work on the new branches unfinished, and later started helping the mac80211 driver (see section 4.17). Beginning 2007, a group of users led by Hauke restarted working on the driver, with a new project page and new repository. Their main work so far has been updating the driver to work with the latest kernel.

4.17 Realtek RTL8187L mac80211 driver

Driver status : Experimental
Driver name : rtl8187.o
Version : -
Where : Linux kernel (2.6.23)
Maintainers : Michael Wu <flamingice@sourmilk.net>
Andrea Merello <andreamrl *at* tiscali.it>
Discussion forums : https://sourceforge.net/forum/?group_id=186406
Documentation : -
Configuration : Wireless Extensions
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b, 802.11g, 802.11a depending on hardware
Other features : -
Non implemented : SMP
Bugs : -
License : GPL
Vendor web page : http://www.realtek.com.tw/

4.17.1 The device

This is the same device as the previous entry (section 4.16).

4.17.2 The driver

Michael and Andrea decided to port the USB driver written by Andrea (see section 4.16) to new mac80211 kernel stack (see section 4.9). Michael did most of the work, with Andrea helping with the tricky parts about the hardware.

This driver was included in the Linux kernel 2.6.23. It will be the first driver included in the kernel to use the new mac80211 kernel stack, and as such it may be a bit rough for a while. Because it uses the mac80211 stack, the driver offer a wide array of features, such as monitor mode, WPA and virtual interfaces, and as mac80211 evolves this set of features should increases.

4.18 Marvel Libertas (802.11g)

Driver status : Stable
Driver name : libertas.o
Version : -
Where : Linux kernel (2.6.22)
Maintainers : Dan Williams <dcbw@redhat.com>
Mailing list : http://lists.infradead.org/mailman/listinfo/libertas-dev
Documentation : Readme files
Configuration : Wireless Extensions and debugfs
Statistics : Wireless Extensions
Modes : Managed, Ad-Hoc, Mesh
Security : WEP, 802.1x, WPA
Scanning : Wireless Extensions
Monitor : Yes
Multi-devices : ?
Interoperability : 802.11b and 802.11g
Other features : Firmware loading via HotPlug, 802.11e (QoS)
Non implemented : -
Bugs : ?
License : GPL
Vendor web page : http://www.marvell.com/

4.18.1 The device

Marvell is a networking company mostly based in the Silicon Valley, they design various networking and storage chips. When Marvell decided to release a 802.11 product, the market was already very crowded. Obviously, they would have to include all the features of the latest standard, but they would also need a few differentiators.

The Libertas chipset was designed mostly for the embedded market and access point market. Embedded devices don't have much resources, and use all kind of weird software platforms, therefore Marvell decided to push as much functionality as possible in the chip, so that interfacing to the chip and writing driver would be simplified and use less resources. The Libertas chipset includes an ARM core and the whole 802.11 stack, including management and security, runs on that core. This is very similar to the architecture of early 802.11b chipsets (FullMAC).

The Libertas chipset has all the features of a modern 802.11g chipset, such as security (802.1x, WPA) and QoS (802.11e). Libertas also added proprietary extensions to increase bitrate and range.

One of the interesting thing of the architecture of this chipset is that some additional code can be run on the ARM core. For example, in the case of the Access Point version of this chipset, all the access point functionality is running on the ARM core and the chip doesn't need an external CPU. The One Laptop Per Child project contracted CozyBit to develop a proprietary mesh functionality running inside the Libertas chipset. The advantage of such an implementation is that packet in the mesh can be forwarded without having to wake up and go through the CPU.

4.18.2 The driver

The One Laptop Per Child (OLPC) project wanted integrate wireless mesh capability into their devices. Their desire was to be able to off-load the mesh functionality to the chipset, to save battery power, however nearly all modern 802.11 design are softmac, a simple hardware with all the 802.11 intelligence in the driver. One of the few candidate was the Marvell Libertas, however there was no Linux driver and Marvell was restrictive about sharing information. The OLPC project convinced Marvell to allow them to write a Linux driver and release it.

The driver was written for OLPC by Red-Hat, lead by Dan (who also wrote NetworkManager). The driver does not use any 802.11 stack, because such functionality is implemented in the firmware, and it offers all modern functionality such as Scanning and WPA support. The Linux driver also supports the proprietary mesh functionality when using the appropriate firmware. The driver has been developped and tested in the OLPC source tree for a long time, and after various changes required for kernel inclusion, it was eventually included in kernel 2.6.22.

4.19 AirgoNetworks AGNX00 (TrueMIMO)

Driver status : None yet
Driver name : -
Version : -
Where : http://airgo.wdwconsulting.net/mymoin
Maintainers : Jeff Williams <jeff AT SPAMFREE esawireless DOT com>
Mailing list : -
Documentation : -
Configuration : -
Statistics : -
Modes : -
Security : -
Scanning : -
Monitor : -
Multi-devices : -
Interoperability : -
Other features : -
Non implemented : -
Bugs : -
License : -
Vendor web page : http://www.airgonetworks.com/
http://www.cdmatech.com/products/wlan.jsp

4.19.1 The device

AirgoNetworks was a small startup based in the Silicon Valley, and one of the pioneers in MIMO designs. AirgoNetworks decided to apply their expertise of MIMO to the successful 802.11 standard, and released in 2003 some 802.11g products with a proprietary MIMO extension. Their MIMO extension is branded TrueMIMO and initially delivered bitrate of 108 Mb/s, further version increased it to 240 Mb/s.

MIMO uses multiple antennas in the radio transmitter and in the receiver to exploit the physical diversity of the channel, especially indoor where you typically have multipath. The radio path between each pair or transmitting and receiving antenna is different, and therefore using clever techniques on both sides, it is possible for the receiver system to properly decode multiple simultaneous transmissions from the transmitter system. Using MIMO, it is possible to increase bandwidth by sending multiple data streams in parallel, the bandwidth increase depends on the number of antenna used. By using more robust encoding, it is also possible to increase range (at lower speed).

Shorty after the release of AirgoNetwork products, the IEEE 802.11 committee decided to create the new 802.11n standard, a 802.11 standard using MIMO technology. The new 802.11n standard was not planned to be compatible with TrueMIMO, and as of 2007 has not been yet finalised. Because there is not standard yet, any devices that is compliant with the evolving 802.11n draft is called pre-802.11n, and as the draft evolves future compatibility is unknown.

The strategy of AirgoNetworks was quite successful, and the vast majority of the early and non pre-802.11n devices were based on their chipset. However, the other major 802.11 vendor reacted quickly, first by releasing their own proprietary MIMO chipset, and then by releasing pre-802.11n products. The 802.11n standard is now gaining momentum, therefore the newer chipsets of AirgoNetworks are compliant with the 802.11n draft, with bitrate up to 315 Mb/s.

AirgoNetworks was acquired by Qualcom, most likely because of its patent portfolio on MIMO technology. Qualcom sells the former AirgoNetworks chipset under a new name but with the same TrueMIMO branding.

4.19.2 The driver

Like a lot of 802.11 vendors, AirgoNetworks does not want to release any driver of specification to the Linux community, even though they have internally a Linux driver (used on their Access Point platform).

Jeff Williams started reverse engineering the binary Linux driver of AirgoNetworks, and documented the interface for the AGN100 and AGN300 chipsets. Jeff previously led the reverse engineering on the TI ACX driver (see section 4.1), and because of the problems with the ACX driver, he is using the methodology of the team who wrote the Broadcom Linux driver (see section 4.13) : he is not implementing any driver and only publishing the specification of the chipsets.

Currently there is no Linux driver available, but hopefully some people will use the work of Jeff to produce a Linux driver.

next


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 :
HP home page