This driver is very similar to the MWaveLan driver with one exception: It's completely open source. The driver is based on the
old GPL driver called wvlan_cs.
Both the wvlan_cs driver and Lucent's binary driver depend on the hcf library. So one expects that the modification I applied to the Lucent binary driver should work directly on the wvlan_cs driver. Unfortunately, the Lucent binary hcf library seems to support more functions than the open source hcf library (that's why it's called hcf light).
The main function that was missing from the hcf light library to support the active scanning was the mailbox functionality. I used information from the hcf light documentation, orinoco_cs source code, wavelan2_cs source code and mainly based on logical thinking and trial and error. However, this was easier than modifying the original Features
Provide all the information available from the Lucent Client Manager for
Windows (e.g. Signal Level, Noise Level, ...) using active scanning- see IEEE802.11 standard.)
Scanning can be done automatically or under user control.
Added 'iwpriv' command to enable/disable automatic active
scanning. By disabling automatic scanning (enabled by default) you can
gain performance if you do not need the scanning feature. However, you can
issue a scanning command using 'iwpriv' (see the
examples below.)
Added the 'iwpriv' command to allow for user control over
scanning.
There is a general API that can interface with the driver to get this
information to user applications.
Kernel Version : Tested under 2.4.2, should work on any kernel
that Lucent 'wvlan_cs' driver works on. Also tested on iPAQs running familiar linux distribution (versions 0.4, 0.5, 0.52 (latest)). To work on iPAQ, you need to do minor modifications to the driver for the StrongArm architecture. (Patches)
Driver switching : If you want to switch between the 2
Wavelan-IEEE drivers, everything is controlled in
/etc/pcmcia. wvlan_cs is bound in config,
wavelan2_cs is bound in wavelan2_cs.conf, mwavelan_cs is bound in mwavelan_cs.conf, mwvlan_cs is bound in config. Comment those
files as needed.
A patch to allow version 1.00 to work on ARM architectures. Note that the patch updates the source files only, i.e. you need
to make the changes to the make file in order to compile the driver using the cross compiler. Tested under kernels 2.4.3, 2.4.16, and 2.4.18.