Cisco Aironet Linux Driver and Utilities Release 2.1

The software drivers are governed by the terms and conditions of the Cisco End
User License Agreement; however, portions of the software code are governed by
the terms of the Mozilla Public License Version 1.1

NOTE: The ACU and some of the leap login utilities, require libgtkmm 1.2.10 and
libsigc++ 1.0.4 You can download the sources from sourceforge.net and compile
them or grab the binaries from your favorite site.

Part 1) - File identification:

The archive this file was contained in, should have contained the following:

driver/aes.h			support header file for airo and mpi350
driver/aestab.h			support header file for airo and mpi350
driver/airo.c			main driver file, v2.1
driver/airo_cs.c		card and socket services loader for airo.c
driver/mpi350.h			header file for mpi350
driver/mpi350.c			mini pci driver (not PCMCIA)
driver/experimental/cb20_cb.c	unsupported 802.11a radio driver
driver/experimental/cb20_cb.h	unsupported 802.11a radio driver header file
driver/redhat90/airo.o		binary for pccard radio on RedHat 9.0, i686
driver/redhat90/airo_cs.o	binary for cs loader on RedHat 9.0, i686
driver/redhat90/mpi350.o	binary for mini pci on RedHat 9.0, i686
driver/obsolete/cb20a.readme	readme for cb20a radio driver
driver/obsolete/CB20BUILD	script for building cb20a
driver/obsolete/LOADMOD		script for loading module

utilities/redhat73/acu		Aironet Client Utility + Client Encryption Manager for RedHat 7.3
utilities/redhat73/bcard	command line card re-configuration utility for RedHat 7.3
utilities/redhat73/leaplogin	X Window utility for configuring LEAP credentials for RedHat 7.3
utilities/redhat73/leapset	utility for configuring LEAP credentials from command line for RedHat 7.3
utilities/redhat73/leapscript	utility for configuring LEAP credentials from shell script for RedHat 7.3
utilities/redhat90/acu		Aironet Client Utility + Client Encryption Manager for RedHat 9.0
utilities/redhat90/bcard	command line card re-configuration utility for RedHat 9.0
utilities/redhat90/leaplogin	X Window utility for configuring LEAP credentials for RedHat 9.0
utilities/redhat90/leapset	utility for configuring LEAP credentials from command line for RedHat 9.0
utilities/redhat90/leapscript	utility for configuring LEAP credentials from shell script for RedHat 9.0
				(warning - requires passwords in cleartext in scripts)

obsolete/cwinstall		old install script for pcmcia radio driver
obsolete/cwinstall.2		old part 2 install script for pcmcia radio driver
obsolete/cwremove		old remove script for pcmcia radio driver
obsolete/kpciinstall		old install script for mini-pci radio driver
obsolete/kpciinstall.readme	old kpciinstall script readme
obsolete/readme.txt		old version of this file

helpml.tar.gz			ACU's HELP pages
readme.txt			This file
config.350			A modified version of the /etc/pcmcia/config file to allow
				detection and usage of 350 series cards with c&s prior
				to version 3.1.26
ethX.cfg			A default radio configuration file placeholder,
				pre-configured for 30mw operation.
ACU.PRFS				A default ACU configuration file

Part 2) - Installation:

A bash shell script "install" has been provided to help install
the Cisco-Aironet driver and supporting utilities.
It will only run properly if executed as root since system level
changes need to be made.

To begin installation of the driver and utilities,  as root type:

sh install

The script will compile the driver sources, then copy the binaries o the
proper location. the script will then copy the utilities to their location.

Once the driver and utilities are properly installed - it is possible
to configure the radio as a normal user - by default.
If this is not desired - you will need to change the execute permissions
on the utilities (installed in /opt/cisco/bin) to 500.
The radio configuration is also stored in /etc/ in a file called ethX.cfg
where the X is the Ethernet adapter number of the wireless client card.
This is normally world writable to allow configuration by normal
non-root users.  If this is not desired - this will need to have it's
permissions changed also.

NOTE: This script is for kernels which include pcmcia support.

If an older version of pcmcia-cs is used, the for those radios to be
recognized, after executing the "make install", copy config.350 in place of
the /etc/pcmcia/config file that is installed by default.

ex. cp config.350 /etc/pcmcia/config

This step will have to be repeated if another "make install" is done
in the pcmcia-cs source tree.


>PCMCIA
If you are using a pcmcia radio - the driver should automatically load
upon inserting the card.
However - the radio will be using a factory default configuration until
it is re-configured.  (See "bcard")

>PCI Carrier cards
RedHat and other distributions that use "linuxconf" should use that
utility to tell the OS that "airo.o" is to be loaded for the PCI card.

Users of other distributions should follow their distributions recommendations
on which startup files should load the driver.
Slackware distributions prior to 7.2 should probably add a line to the
end of /etc/rc.d/rc.modules to load the driver:

Ex.
cd /etc/rc.d
cp rc.modules rc.modules.bak
echo /sbin/modprobe airo >> rc.modules

Slackware 7.2 users can add that same line to /etc/rc.d/rc.netdevice.

CB20A driver

The CB20A driver provided in the driver/experimental directory are provided
and are not supported by Cisco.

To use the driver:

1) move the two files (cb20_cb.c and cb20_cb.h) into the
driver directory.
2) uncomment the "eval ${CBCMP}" and "cp cb20_cb.o
${MODBASE}/kernel/drivers/net/cb20_cb.o" lines
3) run the install script


Part 3) - Utilities:

* NOTE * The previous /etc/ethX.cfg files are not compatible with this version
of ACU and can cause problems if ACU finds them and tries to load them.
Please remove any old /etc/ethX.cfg files prior to running ACU for the
first time.


A total of five utilities are included with the driver:

acu - a close approximation in functionality of the windows setup utility
acu saves the current configuration of your radio as /etc/ethX.cfg, where
the X is the Ethernet adapter number of your wireless card.
The supplied default ethX.cfg file contains a power setting of 30mw for
compatability between 340 and 350 series radios.
This can result in an initial configuration error on 4500, 4800 and 4800A
radios, since they do not support 30mw operation.
In those cases, simply use ACU to select a legal power configuration.
350 Series users will also probably want to select a power setting other
than 30mw.
Commands->Edit Properties->RF Network->Transmit Power
(current version 1.6.7)

leaplogin - An X Window application for configuring LEAP credentials.
A graphical dialogue box will prompt you for your LEAP username and password.
(current version 1.5.1)

leapset - An interactive command line utility for configuring LEAP credentials.
This utility will prompt you for your LEAP username and password.
(current version 1.5.1)

leapscript - A non-interactive utility for configuring LEAP credentials
	designed for inclusion in shell scripts.
	* NOTE * In the shell script, the LEAP password will be in cleartext
	so ensure the permissions on the script are appropriate.
(current version 1.5.1)

bcard - this utility has no comparable windows equivalent, it's purpose is
to read the radio configuration(s) from the /etc/ethX.cfg file(s)
and configure the radio(s).
"bcard" has no required paramters, it will attempt to configure all detected
Aironet cards at once.
(current version 1.5.1)

This is most useful when inserted in a startup script such as:
/etc/pcmcia/network on a Red Hat system.
A slight delay to give the radio time to be properly powered up maybe
required.

An example of such usage is shown here in a snippet from a modified
Red Hat /etc/pcmcia/network file:


case "${action:?}" in
'start')
    #
    # We don't do *anything* here. We get a hotplug event when the ethX device
    # is registered, and we bring the device up there
    #
    # need to delay slightly to allow radio to stabilize
    sleep 2
    # now re-load the previous saved configuration
    /opt/cisco/bin/bcard
    ;;

Where is CEM?

CEM is no longer being shipped, it's functionality has been incorporated
into ACU.  Also, as with the Windows version of CEM, it now requires a password
to alter the WEP key configuration.
The default password, just like Windows, is "Cisco"

NOTE:  If you are using LEAP authentication - the LEAP credentials (username
and password) are volatile.  The credentials are NOT stored in the
/etc/ethX.cfg files and even though the radio maybe configured via
bcard to associate to an appropriate LEAP enabled AP - the radio will
not LEAP authenticate.

In this case, you will need to either manually re-run ACU and enter your
LEAP credentials via "command->Set Leap Information"
or use one of the LEAP credential utilities.
A good match for the "bcard" example above would be to add a line after
the call to "bcard" that calls "leapscript" with your LEAP username and
password.
Please observe the security notice above about file permissions.

Note - the LEAP username and password does not need to be the same as
a Linux user account ones - they may in fact be different.
See your LEAP admin for specifics.

Part 4) What's New?

1. Support for latest radio firmware (current up to 5.30.17).
2. Mini-pci driver now successfully awakens from sleep.
3. Status page now displays the driver version.
4. Improved user interaction for the leap login dialog box.
5. External pcmcia-cs package not required.

Unsupported (use at your own risk):

1. A CB20A (802.11a) radio driver is provided
    to compile the driver:
	move the cb20_cb.c and cb20_cb.h from "driver/experimental" to "driver"	
        uncomment the following lines in install:
            #    eval ${CBCMP}
	    #       cp cb20_cb.o ${MODBASE}/kernel/drivers/net/cb20_cb.o
	run the install script

2. All drivers support some of the wireless-tools interface.
    to enable the wireless-tools interface:
	uncomment the following lines:
	  /*
	  #include <linux/wireless.h>
	  #define WIRELESS_SPY            // enable iwspy support
	  #if WIRELESS_EXT < 9
	  #warning "Wireless extension v9 or newer required - please upgrade your
	  kernel"
	  #undef WIRELESS_EXT
	  #endif
	  */

3. All drivers support RF Monitor mode.
    to enable the RF monitor mode:
	uncomment the following line:
	  #define INCLUDE_RFMONITOR


What is still broken/missing?

* Inability to initially generate a /etc/ethX.cfg file w/out requiring X.

* Inability to configure the card for other than CAM mode.
(via ACU)

* ACU does not prompt you for LEAP credentials when they are missing.

* ACU does not display in the status window whether you are in "home" or
"enterprise" mode.

* ACU does not have the Window's version's "auto profile select".

* Switching from LEAP to non-LEAP w/WEP enabled is a two step process
currently, since while in LEAP mode, ACU does not detect if the client
card contains permanent keys or not.
You currently must disable LEAP mode, "OK" out of the properties page,
re-enter the properties page, and then if you have keys, select "WEP".
But at least you don't have to reboot like you do in Windows ;-)

* A 4500 card can be attempted to configure for rates other than 1 & 2
mbit/sec, receiving a config error from the firmware.

* The help system currently can not determine if a browser is already
launched, and will always attempt to launch one itself.
However, it can detect an instance of the browser launched by itself, which
is why it does not open a new browser for every help document.

* ACU stores various configuration settings (not for the card) in
"/opt/cisco/ACU.PRFS".
ACU does NOT verify that this file was created by the current version of ACU.
When upgrading to newer versions of ACU, it is best to delete this file
(if it exists) prior to running the new version of ACU.

When in doubt, to ensure the radio is reset to default known state:
Exit ACU
rm /etc/ethX.cfg
if using a PCI carrier card, reboot your system, if using a pcmcia
card eject and re-insert the card.

This will ensure that your card is in it's initial power-up state when
you next run ACU.

(ethX.cfg, X = Ethernet adapter number of your wireless card)

