Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2887440
  • 博文数量: 674
  • 博客积分: 17881
  • 博客等级: 上将
  • 技术积分: 4849
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 10:15
文章分类

全部博文(674)

文章存档

2013年(34)

2012年(146)

2011年(197)

2010年(297)

分类: LINUX

2011-05-15 11:07:14

Presentation
The Linux Wireless Extension and the Wireless Tools are an Open Source project sponsored by (through my contribution) since 1996, and build with the contribution of many Linux users all over the world.

The Wireless Extension (WE) is a generic API allowing a driver to expose to the user space configuration and statistics specific to common Wireless LANs. The beauty of it is that a single set of tool can support all the variations of Wireless LANs, regardless of their type (as long as the driver support Wireless Extension). Another advantage is these parameters may be changed on the fly without restarting the driver (or Linux).

The Wireless Tools (WT) is a set of tools allowing to manipulate the Wireless Extensions. They use a textual interface and are rather crude, but aim to support the full Wireless Extension. There are you can use with Wireless Extensions, however Wireless Tools is the reference implementation.

  • iwconfig manipulate the basic wireless parameters
  • iwlist allow to initiate scanning and list frequencies, bit-rates, encryption keys...
  • iwspy allow to get per node link quality
  • iwpriv allow to manipulate the Wireless Extensions specific to a driver (private)
  • ifrename allow to name interfaces based on various static criteria

Most Linux distributions also have in their networking initialisation scripts, for easier boot-time configuration of wireless interfaces. They also include Wireless Tools as part of their standard packages.

Wireless configuration can also be done and distribution specific support, this enable the proper support of any removable wireless interface (Pcmcia, CardBus, USB...).

Any versions of the offer the possibility to do wireless configuration of Pcmcia and Cardbus card through the. This allow to fully integrate wireless settings in the Pcmcia scheme mechansism. However, this method is now deprecated in favor of distribution specific methods.

Please note that the Wireless Tools (starting with version 19) supports fully IEEE 802.11 parameters and devices, support older style of devices and most proprietary protocols, and are prepared to handle HiperLan as well. More recent versions of course adds more 802.11 support.
But, unfortunately not all support all these features...

Documentation & errata
The Wireless Tools package include extensive man pages for each of the tools, which are the most up to date and most detailed documentation on the capability of these tools.

The Wireless Tools package also includes two text documents on the usage of Wireless Tools to configure wireless cards automatically :

  • describes how various Linux distributions implement Wireless Extensions in their specific configuration scripts. Please read this, as most distributions no longer use wireless.opts. I need your help making this document better.
  • describes how to manage wireless interfaces using the HotPlug subsystem and the distribution specific support for wireless, and includes some more advanced material. This is a complement to .
  • describes the use of Pcmcia schemes and wireless.opts (i.e. configuration with the default Pcmcia scripts). This method is deprecated, but still work and has some advantages.

Some driver documentations (man page, web, README) describe what the driver support in term of Wireless Extension and how the various Wireless Extension parameters map to the capability of the card.

The contains a section about the , but it's a bit out of date for the details...

I have also the following errata and comments :

  • In the rare cases where your kernel isn't compiled with Wireless Extensions (/proc/net/wireless non-existent), you need to recompile it with Wireless Extensions (CONFIG_NET_RADIO enabled).
  • After recompiling a kernel with Wireless Extension, you have to recompile your driver or the Pcmcia package as well (and restart it).
  • All versions of Wireless Tools up to version 26 need to be compiled for the precise version of Wireless Extension present on the system. Starting with Wireless Tools 27, Wireless Tools can handle multiple versions of Wireless Extension without recompile.
  • The Wireless Extensions and Wireless Tools version numbers will not match with each other. The Wireless Tools and the Wireless Extensions (the underlying API) evolve independantly of each other. The command iwconfig --version gives you the detail of your setup.
  • Compilation of the Wireless Tools used to be tricky, especially in the header area. I believe this has been fixed for good.
  • For kernels before 2.2.14/2.3.30, use Wireless Tools version 19.
  • For kernel after 2.2.14/2.3.30 use Wireless Tools version 20 or greater.
  • For kernel after 2.6.13 use Wireless Tools version 27 or greater.
  • The tools and the wireless library are GPL.
  • In the old time, you could upgrade Wireless Extensions by just changing wireless.h. Starting with Wireless Extensions v12, this is no longer true, you need to apply the full patch to the kernel. See below for the patches.
  • Further down, you will find a .

The latest stable version of Wireless Tools is version 29, it is stable, most of the stupid bugs have been removed and it supports all Wireless Extensions (from version v11 to v21).

You can download Wireless Tools on this server :

  • the latest wireless tools package

For historical purpose, you can get earlier version here : , , , , , , , , , and . There is no point in using an old version, as the latest version can support all versions of Wireless Extensions.

The main features of the latest beta is support for non-ASCII ESSIDs (such as localised ESSID), support for displaying Scanning Capabilities, slightly bigger scan buffer, fixing minor bug iwconfig parser and minor enhancement to ifrename :

  • Wireless Tools (beta)

Experimental version of Wireless Tools (at your own risk) :

  • Wireless Tools 28 (alpha)

The detailed changelog of the Wireless Tools is in the package, what follows is a human readable version of it ;-).

Version 29 adds :

  • Support for long/short retry (WE-21).
  • Support power saving level, modulation (WE-21 - not in kernel).
  • Scanning options.
  • Better WPA support.
  • Enhanced command line parser in iwconfig.
  • sysfs symlinks and udev integration in ifrename.
  • More footprint reduction tricks.
  • Support for 32 bit Wireless Tools on 64 bits kernels.
  • Change dBm range to support positive dBm.

Version 28 adds :

  • Add preliminary display-only WPA support (WE-18).
  • Display AP-Address as 'Not-Associated' instead of a number.
  • Add sysfs selector to ifrename.
  • Make mac selector of ifrename accept any length MAC addresses, such as Firewire addresses.
  • Longer scanning timeout for driver having slow scanning, such as MadWifi.
  • Add iwmulticall and stripping option to reduce footprint of the tools for memory starved systems.
  • Use glibc header instead of kernel header to ease iwlib use.
  • Better integrity check of scan results.
  • Forward compatibility to WE-21 (essid length)

Version 27 adds :

  • Ability to run with multiple version of Wireless Extensions. It means that all WE version mismatch are gone, and you don't need to recompile when changing between kernels with different WE version. The tool redirector is obsolete and removed.
  • Make libiw really usable by third party tools. This include the removal of the WE version dependancy, the stabilisation of the API and the addition of the easy Scanning API.
  • Add ifrename, to rename network interfaces based on various static criteria, and associated documentation
  • Add advanced documentation about network Hotplug and related stuff in
  • Support auto/fixed frequencies and relative tx-power (WE-17)
  • Support very large scan results and private definition lists (WE-17)
  • Optionally disable individual quality statistics (WE-17)
  • Support event capability in iwlist event (WE-17)
  • Display channel alongside frequencies in iwlist and iwevent
  • Display updated quality statistics with '=' instead of '(updated)'
  • Implement iwconfig XXX txpower on and fixed
  • Fix redirection of iwevent output to file/pipe
  • Add raw display and channel support in iwgetid
  • Various bugfixes, optimisations and cleanup

Version 26 adds :

  • Fix bugs in parsing encryption keys and setting encryption on in iwconfig.
  • Update distribitions specific documentation in
  • Really allow compile without maths library for embeeded platforms
  • Support new iwspy features (setthr and related event) (WE-16)
  • Add tool redirector for people having multiple kernels with different Wireless Extension versions (WE-16)
  • Various trivial bugfixes and cleanup
  • Various Makefile and and iwlib improvements

Version 25 adds :

  • Start document distribitions specific wireless configuration scripts in
  • Enumerate *all* network interfaces (fix problem with NWN drivers)
  • Improve private extension support : new types, sub-ioctls, iwpriv -a, handle more than 16 extensions... (WE-15)
  • Fix infinite loop with unknown Wireless Events (bad bug)
  • Add new Wireless Events : IWEVCUSTOM, IWEVREGISTERED and IWEVEXPIRED (WE-15)
  • Show current settings in iwlist for freq, rate and txpower
  • New iwgetid options : mode, freq, protocol
  • Implement --version to show tools and WE versions
  • Improve version warning messages to be hopefully less confusing
  • Allow compile without maths library for embeeded platforms
  • Makefile fixes, various other cleanups

Version 24 adds :

  • Fix a bug that prevents disabling encryption and setting authentication (introduced in version 23)
  • Change the way tools enumerate wireless interfaces. Tools no longer lists interfaces not supporting /proc/net/wireless, but lists interfaces which are down.
  • Wireless Event support (WE-14)
  • Scanning support (WE-14 - replaces now obsolete iwlist aplist)
  • Support iwconfig ethX ap auto/any/off
  • Man pages for iwevent and iwgetid
  • Improved system header definitions, more complete libiw, cleanups...

Version 23 adds :

  • Fix a problem when trying to use iwspy before the interface is configured
  • Add missing commands in the iwlist man page
  • Fix "make install" and install man pages
  • Automatic glibc/kernel header configuration
  • Nicer iwconfig error messages
  • Add iwconfig ethX commit (WE-13)

Version 22 adds :

  • Fix minor bugs in parsing command line
  • Most basic functions of the tools available as a library (libiw)
  • Add a few extra wireless statistics (WE-12)

Version 21 adds :

  • Improved power management support (WE-10)
  • Transmit Power parameter (WE-10)
  • Document and Pcmcia scheme usage (multi cards, multi setups)
  • Better Makefile, header options can be set there
  • Support for GLibc2.2
  • Check Wireless Extension version mismatch (WE-11)
  • Retry settings (WE-11)
  • Split iwspy into iwspy and iwlist

Version 20 was already adding :

  • Operation mode support (managed/ad-hoc) (WE-9)
  • Power saving support (WE-9)
  • New encryption support (WE-9)

However, the version 20 and later don't work for older kernels (prior to 2.2.14 and 2.3.30), for those kernel I recommend to use version 19, which is also very stable (but with less features). Note that most 802.11b drivers require Wireless Extension v9 or later, so won't work with those ancient kernels.

Usually, people don't have much trouble with Wireless Extensions. There are a few gotchas, here are the most common ones :
  • iwconfig doesn't list my card
    1. Make sure your card is plugged in the PC, and check its led.
    2. Make sure the system .
    3. Make sure the proper driver for your card is loaded using lsmod.
    4. Check if the driver did recognise the card using dmesg.
  • iwconfig says "no wireless extensions." for my card
    1. Enable the config option CONFIG_NET_RADIO in your kernel setup.
    2. Recompile and reinstall this kernel.
    3. Recompile and reinstall the kernel modules.
    4. Do cat /proc/net/wireless. If the command returns an error, you are using the wrong kernel. Try again.
    5. If you are using driver from the external Pcmcia package (kernel 2.2 and earlier), go into the Pcmcia package, do a make config
    6. Check that the following line appears : "Radio network interface support is enabled.".
    7. Recompile and install the Pcmcia package.
  • iwconfig still says "no wireless extensions.", displays garbage or crashes before displaying anything.
    1. Make sure you have fully checked all the steps of the second question.
    2. The driver or driver version you are using probably does not support Wireless Extension.
    3. Check status of Wireless Extension support for your driver in the .
    4. If your driver is listed, try a more recent version.
    5. If your hardware is listed, try the driver mentionned (there may be multiple of them).
    6. Make sure that Pcmcia is loading the driver you think it is loading. Hack the various files in /etc/pcmcia/ until it loads the correct driver (grep is your friend).
    7. If you still can't get it, or if you find no suitable driver, complain to the driver maintainer.
  • I try to change a specific parameter with iwconfig, it just returns an error message
    1. Check reading parameters and setting other parameters.
    2. If setting all parameters fail, see first two questions.
    3. No card support the full range of Wireless Extension, so your hardware or firmware may not have this feature.
    4. Check the Windows driver and card documentation to see if the feature exist.
    5. Then, your driver or your driver version may not export this particular feature. Try the latest version.
    6. For driver with otherwise rich support, it's more likely a hardware limitation. For driver with limited support, it might be a driver limitation.
    7. Check the driver documentation to see if the feature is supported.
    8. Lastly, ask the maintainer if it is a hardware, software or documentation limitation and what to do about it.
  • iwconfig crashes after displaying valid info...
    1. Use Wireless Tools version 27 or later, which fixes this issue.
  • iwlist scan crashes while iwconfig and other iwlist commands work fine
    1. Use Wireless Tools version 27 or later, which fixes this issue.
  • iwconfig says : "Warning: Driver for device XXXX has been compiled with version XX, while this program is using version XX"
    1. Use Wireless Tools version 27 or later, which fixes this issue.
  • iwconfig says : "Warning: Driver for device XXXX has been compiled with version XX, while this program supports up to version XX"
    1. Upgrade to the latest stable version of Wireless Tools.
    2. If this doesn't fix that issue, you may 
      • If nothing bad happens, just ignore the message.
      • Install a pre-release version of the Wireless Tools (see ).
  • iwconfig says : "Warning: Driver for device XXXX recommend version XX of Wireless Extension"
    • Ignore, unless you can't configure your card.
    • Upgrade your kernel, and recompile/reinstall kernel/modules/tools.
  • When compiling the Wireless Tools, it says "Wireless Extension earlier than XX detected"
    1. Ignore, unless you find a bug.
  • When compiling the Wireless Tools, it says "Wireless Extension later than XX detected"
    1. This is not problematic, but think of getting a newer version of the tools.
  • When compiling the Wireless Tools, it complains that IFLA_WIRELESS is undeclared
    1. Use Wireless Tools version 27 or later, which fixes this issue.
  • In the kernel log, it says "wlan0 (WE) : Buffer for request XXXX too small (0
    1. Find the wireless application that generates it
    2. Upgrade this application it to the latest version
    3. If the problem persist, file a bug on the application
  • In the kernel log, it says "wlan0 (WE) : Invalid/Unknown Wireless Event"
    1. Your kernel and your driver are out of sync
    2. Recompile/reinstall your kernel, kernel modules, pcmcia modules and external driver modules
  • I change stuff in wireless.opts, nothing happens
    1. Check that the MAC address prefix of the definition matches the MAC address of your card (with ifconfig).
    2. Check that no other previous definition would match your card (the first matching section is used, "*" matches everything).
    3. In particular, make sure that you have either commented or removed the "*,*,*,*)" at the top of wireless.opts.
    4. Check the scheme matching and the scheme you are currently using (with cardctl scheme).
    5. Restart the Pcmcia card manager.
    6. Check you system logs for error messages.
    7. See next question
  • My config in wireless.opts is still ignored, and I have no error message in the system log
    1. If your card is not a Pcmcia card, it's normal, because wireless.opts is part of the Pcmcia specific configuration. The workaround is to use a distribution with integrated support for Wireless Extensions.
    2. Most distributions don't use standard Pcmcia configuration but their own network configuration scripts. In this case, they will ignore wireless.opts.
    3. Most modern distributions have . When this is available, this is the easiest option, as you just need to add your settings the network configuration file of the distribution. Sometime you can even do wireless configuration in the graphical tools.
    4. For distributions that don't have integrated support for Wireless Extensions, file a bug report with the distribution and reinstall standard Pcmcia scripts, especially /etc/pcmcia/network.
  • When I set my configuration in wireless.opts, it complains in the system log that it can't find iwconfig
    1. Install Wireless Tools somewhere on the system, like in /usr/local/sbin
  • When I set my configuration in wireless.opts, I've got weird errors in the system logs
    1. Run iwconfig. See first two questions.
    2. Try to set the equivalent parameters directly using iwconfig to make sure that you get the syntax right and that the card support those.

A few bits of history for your amusement...

The oldest version of wireless tools that was made is v10, its release date is 08 december 1996. Obviously it does not have Copyright notice, Makefile, README or any kind of instructions.

Prior to that date, iwconfig was bundled with my version of the wavelan driver. The oldest version on my hard drive is v6, from 05 september 1996, and was not publically distributed (it is clearly not finished).

Users of the Debian distribution may want to use the ifscheme scripts to manually manage multiple configuration per wireless interface. Note that a Debian package exist, and is usually up to date, so you probably don't have much reason to pick the version here...
  • (version 1.7)

For automatic management, please check for various tools in the later section.

The Wireless Extensions support come as 3 parts :

  1. The Wireless Extension (the core API), part of the Linux kernel (mostly defined in wireless.h).
  2. Driver support, implementing some of those extensions for the specific hardware.
  3. Wireless Tools and other wireless applications, that the users manipulate.

Wireless Extension versions :

Version Kernel Features
WE-9 2.2.14, 2.3.30 Basic 802.11b support
WE-10 2.2.19, 2.4.0 Add TxPower setting
WE-11 2.4.4 Driver version check, retry setting
WE-12 2.4.13 Additional statistics
WE-13 2.4.19, 2.5.3 New driver API
WE-14 2.4.20, 2.5.7 Wireless Scanning, Wireless Events
WE-15 2.4.21, 2.5.37 Enhanced iwpriv support
WE-16 2.4.23, 2.5.70 802.11a/802.11g fixes, Enhanced iwspy support
WE-17 2.6.10 Event capability, large scan results
WE-18 2.6.13 WPA/WPA2/802.11i support
WE-19 2.6.14 Improved dBm reporting
WE-20 2.6.17 RtNetlink Wireless Extensions (dropped in 2.6.20)
WE-21 2.6.19 (partial WE-21) Full ESSID support, not just string
WE-22 2.6.21 Fix information leak on 64 bits

The core API is strongly versioned, so that application can detect changes in the API. The version number of Wireless Extensions specify which feature are available through the API, and is completely independant of the version of the tool using it, for example, each version of the Wireless Tools can support a wide range Wireless Extension versions. You can use iwconfig --version to get all the details on your current setup.

One common issue is that Wireless Extensions offers only source level backward/forward compatibility, not binary compatibility. Therefore, every time the core API is updated or changed on the system (kernel upgrade), both drivers and tools need to be recompiled. Version 27 and later of Wireless Tools can support multiple versions of Wireless Extensions without the need of a recompile.

Some wireless drivers require a minimum level of Wireless Extensions, and most often newer version of Wireless Extensions enable additional features in the driver. Usually, the simplest way to upgrade the Wireless Extensions is to upgrade your kernel (see table above). Most driver support the newer Wireless Extension only in their most recent version, so most often to get the benefit of the additional features you might need to upgrade your driver.

Alternatively, you can use the patches below. Those patches may not always apply properly to your kernel, they may crash or eat your hard drive, use at your own risks and don't expect much help, because I would rather have you upgrading your kernel. When upgrading from over version of Wireless Extensions to another, you need to apply all the patches for the versions in between in the proper order, otherwise the patches will reject. After patching the kernel, don't forget to recompile and reinstall the kernel itself, the kernel modules, the Pcmcia package modules and the various external driver modules.

  • Kernel 2.2.X patches
    • for kernel 2.2.25 : cummulative patch to upgrade directly from WE-10 to WE-15. Wireless Event is not available, the rest seems to work.
  • Kernel 2.4.X patches
    • for kernel 2.4.2, including various wireless drivers. Adds driver version check, retry setting. [Already in 2.4.3]
    • for kernel 2.4.12. Adds more statistics, move iwpriv ioctls to a private space. [Already in 2.4.13]
    • for kernel 2.4.18. Add the new driver API based on iw-handlers (to replace ioctl handler). [Already in 2.4.19-pre5]
    • for kernel 2.4.19. Add a Wireless Event dispatcher through rtnetlink (driver and set events) and support for Wireless Scanning (iwlist ethX scan). Also fix a stupid bug in WE-13 patch above (of by one). [Already in 2.4.20-pre2]
    • for kernel 2.4.20. Fix and enhance private extensions support, mostly for HostAP driver. Define additional Wireless Events. Get strict on buffer size for GET requests (this may break old applications using Wireless Extensions). [Already in 2.4.21-pre2]
    • for kernel 2.4.21. Rework iwspy support : simplify driver side iwspy support and add iwspy Wireless Event. Also increase the number of bit-rates in iwrange for complete 802.11a/802.11g support. [Already in 2.4.23]
    • for kernel 2.4.19 and earlier. Same as patch above, but apply to kernel 2.4.19 and earlier. Not a cumulative patch, you will need to apply after the v15 patch (and previous patches as needed). [Already in 2.4.23]
    • for kernel 2.4.29. Export driver event capacities, allow large scan requests and various minor fixes.
    • for kernel 2.4.30. WPA support, from Jouni Malinen. You will need WT-27-pre25 or later.
  • Kernel 2.5.X patches
    • for kernel 2.5.2. Add the new driver API based on iw-handlers (to replace ioctl handler). [Already in 2.5.3-pre3]
    • for kernel 2.5.6. Add a Wireless Event dispatcher through rtnetlink (driver and set events) and support for Wireless Scanning (iwlist ethX scan). [Already in 2.5.7-pre1]
    • for 2.5.15, fix a stupid bug in WE-13 patch above (of by one). [Already in 2.5.16]
    • for kernel 2.5.32. Fix and enhance private extensions support, mostly for HostAP driver. Define additional Wireless Events. Get strict on buffer size for GET requests (this may break old applications using Wireless Extensions). [Already in 2.5.37]
    • for kernel 2.5.64. Rework iwspy support : simplify driver side iwspy support and add iwspy Wireless Event. Also increase the number of bit-rates in iwrange for complete 802.11a/802.11g support. [Already in 2.5.70]
  • Kernel 2.6.X patches
    • for kernel 2.6.9. Export driver event capacities, allow large scan requests and various minor fixes. [Already in 2.6.10-rc2]
    • for kernel 2.6.11. WPA support, from Jouni Malinen. You will need WT-27-pre25 or later. [Already in 2.6.13-rc1]
    • for kernel 2.6.13. Misc updates and cleanups. You will need WT-27-pre25 or later. [Already in 2.6.14-rc1]
    • for kernel 2.6.16. Wireless-RtNetlink support : Allow to Set/Get Wireless Extensions through the RtNetlink socket. Final version, feature tested and complete.
    • for kernel 2.6.17-rc1. Add modulation, generic power saving, short/long retries. This is experimental and require both drivers and userspace modification (WT-28-pre14), especially around ESSID.
  • Aironet driver patches
    • The has already been converted to the new driver API (WE-13) and has scanning and event support (WE-14). [Already in 2.5.20 ; 2.4.20-pre1 and CVS]
    • Use new iwspy support (WE-16) in the . [Already in 2.6.0-test2 and CVS]
    • WE-17 support for the . For kernel 2.6.8. [Already in 2.6.10-rc1]
    • iwstats cleanups (WE-19) in the .
    • WE-19 support for the . For kernel 2.6.13. [Already in 2.6.14-rc1]
    •  : fix ESSID size, use short/long retry. For kernel 2.6.17-rc1.
  • HostAP driver patches
    • The has already been converted to the new driver API (WE-13), has scanning and event support (WE-14) and take advantage of the improved iwpriv support (WE-15). [Already in 2002-09-12]
    • Add support for "iwlist scan" in master mode in the . [Already in v0.0.1]
    • Add new iwspy support (WE-16) in the . [Already in v0.0.2]
    •  : allow large scan requests, export event capability. For hostap-driver-0.2.3. [Already in v0.3.0]
    •  : better statistics. For hostap-driver-0.3.9. [Already in v0.4.5]
    •  : use short/long retry. For kernel 2.6.17-rc1.
  • Orinoco driver patches
    • Conversion of the to the new driver API (WE-13).
    • Add some Wireless Events and Scanning (WE-14) to the .
    • has updated my patches to the Orinoco driver v0.11b (both WE-13 and WE-14 support : convert to new API and add Wireless Events and Scanning).
    •  : convert the Orinoco to the new API (WE-13), and add Wireless Events and Scanning (WE-14). Contributed by , based on the patch from Moustafa (see above). I didn't yet test that patch.
    •  : convert the Orinoco to the new API (WE-13), and add Wireless Events and Scanning (WE-14). Contributed by , based on the patch from Moustafa (see above). Also include scanning support for Symbol firmwares (from Jesus Molina). [Already in v0.15rc1 and kernel 2.6.13-rc1]
    •  : use the new iwspy support, export event capability. For orinoco-0.15rc1.
    •  : use the new iwspy support, export event capability. For kernel 2.6.13.
    •  : fix ESSID size, use short/long retry. For kernel 2.6.17-rc1.
  • Other current driver patches (Prism54, IPW...)
    •  : allow large scan requests, export event capability. For kernel 2.6.8. [Already in 2.6.10-rc1]
    • . For kernel 2.6.13. [Already in 2.6.14-rc1]
    • WE-17 support for the . For kernel 2.6.13. [Already in 2.6.14-rc1]
    • WE-17 support for the . For kernel 2.6.13. [Already in 2.6.14-rc1]
    • . For kernel 2.6.17-rc1.
    •  : fix ESSID size, use short/long retry. For kernel 2.6.17-rc1.
    •  : fix ESSID size, use short/long retry. For kernel 2.6.17-rc1.
    •  : fix ESSID size, use short/long retry. For kernel 2.6.17-rc1.
    •  : fix ESSID size, use short/long retry. For kernel 2.6.17-rc1.
    •  : fix ESSID size, use short/long retry. For kernel 2.6.17-rc1.
    •  : modulation, generic power saving. For kernel 2.6.17-rc1.
  • Obsolete wireless driver patches (wavelan, wavelan_cs, netwave_cs, ray_cs...)
    • : backport Pcmcia package fixes in the kernel. [Already in 2.5.3-pre2]
    • and to move old wireless drivers : move wavelan.c, wavelan_cs.c and netwave_cs.c to driver/net/wireless. [Already in 2.5.3-pre3]
    • : fix trigraph warnings. [Already in 2.5.3-pre6]
    • : backport Pcmcia package fixes in the kernel, fix trigraph warnings and fix watchdog message. [Already in 2.4.20-pre2]
    • Conversion of the to the new driver API (WE-13). [Already in 2.5.6-pre1]
    • Conversion of the to the new driver API (WE-13). [Already in 2.5.6-pre1]
    • Conversion of the to the new driver API (WE-13). [Already in 2.5.6-pre1]
    • The has already been converted to the new driver API (WE-13) and has scanning support (WE-14).
    • : fix the watchdog message in the wavelan (ISA) driver. [Already in 2.4.20-pre2 and 2.5.37]
    • Use new iwspy support (WE-16) in the . [Already in 2.5.70]
    • Use new iwspy support (WE-16) in the , plus cleanup backward compatibility stuff (which didn't work anyway). [Already in 2.5.70]
    • WE-17 support for the . For kernel 2.6.13. [Already in 2.6.14-rc1]
    • WE-13/WE-17 support for the . For kernel 2.6.13. [Already in 2.6.14-rc1]
    •  : fix ESSID size. For kernel 2.6.17-rc1.

All the drivers for Wireless LANs are listed in the , and each section detail the level of Wireless Extension support.

If you are developping Wireless Extension support in your wireless driver, those few drivers are worth a look at :

  • The is the reference implementation of Wireless Extensions for pre-802.11 devices. It supports NWID, Channel, Sensitivity, Encryption key, stats and spy.
  • The driver is the reference implementation of Wireless Extensions for 802.11b devices, and is the reference implementation for iwpriv functionality.
  • The (version 1.4 and later from Ben) is an alternate reference implementation of Wireless Extensions for 802.11b devices. It implements fully WE-14 (Wireless Scanning and Wireless Events), and is different than HostAP.
  • The version v0.14 or later is also an alternate reference implementation of Wireless Extensions for 802.11b devices. On the other hand, version v0.13 and earlier found in most places only support WE-12 (so no scanning and no events). The Orinoco driver tend to be easier to study than both the HostAP and the Aironet drivers.

I need your help to make this section larger ;-)

The folowoing sections are applications that make use of Wireless Extensions : Wireless Tools I personally maintain

Security and Association daemons GUI configuration and management tools Wireless monitor tools Stumbler/Wardriving tools
This section is far from exhaustive, as most stumber application directly use monitor mode (some are listed later on...).
Other packages using Wireless Extensions Application specific to a driver
Those applications are partially using Wireless Extension, but also require specific driver APIs, making them only useful if you use the specific wireless driver (HostAP in this case) :
Useful applications not using Wireless Extensions
Now, a few other applications that don't use Wireless Extensions but are useful anyway :

 

阅读(896) | 评论(0) | 转发(0) |
0

上一篇:RT3070wifi模块的移植

下一篇:Ubuntu 10.04上腾达W541U V2.0 无线网卡驱动的使用

给主人留下些什么吧!~~