=========================================================== Avaya Inc. Winter 2002 Linux Driver Source/Library for Avaya Wireless PC Card Variant 1, Version: 6.16 =========================================================== This text file includes update information, installation instructions, limitations to the current version of the product, and suggestions to solve known issues or problems. TABLE OF CONTENTS. 1. SOFTWARE DESCRIPTION 2. SYSTEM REQUIREMENTS 3. NEW IN THIS RELEASE 4. INSTALLATION NOTES 5. TECHNICAL CONSTRAINTS 6. KNOWN ISSUES 7. TECHNICAL SUPPORT ----------------------------------------------------------- 1. SOFTWARE DESCRIPTION 1.1 Description This software supports the following network interface cards: * Avaya Wireless PC Card (Silver and Gold) This software is officially released and supported software of Avaya Inc. 1.2 Software Components This software for the Avaya Wireless PC Card is distributed in a compressed archive: * wavelan2_cs-6.16.tar.gz To fit the 8.3 name format of the CD-ROM, the archive wavelan2_cs-6.16.tar.gz is renamed to: * wlli616.tgz This archive contains driver source files and a library. You can use these files to build and install a Avaya Wireless PC Card driver for your specific Linux kernel. The current set of driver source files supports Linux kernel versions 2.0.x, 2.2.x and 2.4.x for the Intel architecture, as included (for example) with the following Linux Distributions: * Red Hat version 5.2, 6.0, 6.1, 6.2, 7.0, 7.1 * Suse version 6.1, 6.3, 6.4, 7.0, 7.1 The included HCF library implements an interface to the 802.11 MAC Controller, used in the Avaya Wireless environment. 1.3 Software Versions The following software is included with this distribution: General information: * README.wavelan2_cs This file * LICENSE.wavelan2_cs License * wavelan2_cs.mk Top level Makefile * Build Script to build driver * Install Script to install driver Driver source and HCF library: * wireless/wavelan2_cs.mk Driver Makefile * wireless/wavelan2_cs.c Driver source (v6.16) * include/hcf/debug.h Driver debug support * include/hcf/libhcf.h HCF interface definition * lib/libhcf-i386.a HCF library (v4.6b) Driver online manual page: * man/wavelan2_cs.4 Driver manual page PCMCIA configuration update: * etc/wavelan2_cs.conf Add-on config file * etc/wavelan2_cs.mk config update Makefile * etc/wavelan2_cs.patch config update patch file ----------------------------------------------------------- 2. SYSTEM REQUIREMENTS 2.1 Operating System This software can be compiled and installed on Intel architecture systems running Linux kernel versions 2.0.x, 2.2.x or 2.4.x. 2.2 Free Disk Space To compile the software you will need to have the full set of Linux kernel source files installed. Depending on the exact version of the kernel, you will need approximately 150 MB of free disk space. Once compiled, the driver will use approximately 40 KB. ----------------------------------------------------------- 3. NEW IN THIS RELEASE Version 6.16 - Nov 23, 2001 * Cleaned up enable/disable behavior to prevent multiple associations. Initial card enable is now done when device is opened. * Improved suspend and card removal behavior to solve occasional transmit timeout. * Added wireless extension to get current BSSID * Enhanced wireless extension to get/set frequency Version 6.10 - May 17, 2001 * Solved hot unplug problem on 2.4 systems. * Changes to support older kernels. * Report version number of driver & firmware at startup. * Changed wireless/wavelan2_cs.mk to fix different behavior of -MD option of newer (2.96) gcc. * pcmcia-cs package now on CD-ROM in Xtras/Linux/PCMCIA * Fixed "Card Services release does not match!" problem. And added Build and Install scripts. Thanks to David Hinds. * Cleaned up some comments Version 6.07 (Beta) - January 15, 2001 * Added more support for wireless extensions Thanks to Dave Kristol. * Support for Linux kernel 2.4.x Thanks to Eric & Peter Whiting. * Moved driver from clients to wireless directory Version 6.06 - October 30, 2000 * Updated README.wavelan2_cs and man page * Renamed ap_density to distance_between_aps for consistency with other products Version 6.05 (Beta) - August 14, 2000 * Added support for IBSS mode. Version 6.03 (Beta) - August 8, 2000 * Added support for MiniPCI Card in HCF Library. * Corrected writing of WEP keys. Keys were taken from module parameters instead of instance structure. * Corrected spinlock_t redefinition fix for 2.0.x kernels in combination with PCMCIA package 3.1.13 and higher. Thanks to Dave Johnson. * Added device close code to adapter_release(). Thanks to Donald Becker. Version 6.02 - June 13, 2000 * Renamed from version 6.01 (Beta) Usage of the PCI adapter has positive results on several PCI PCs. Version 6.01 (Beta) - April 19, 2000 * Changed interrupt enable/disable code to support PCI Interrupts, thanks to David Hinds and feedback from the Linux community. * Solved redefinition of spinlock_.. and capable on 2.0.x kernel in combination with PCMCIA package 3.1.13 and higher. Version 6.00 - March 2, 2000 * Corrected setting of mac_address parameter on pre-2.1.0 kernels * Corrected number of IO Ports (=0x40) * Corrected dbm() function * Added support for Microwave Oven Robustness * Added iwspy support, thanks to Dan Forsberg and Jim Binkley * Added support for 3.3/5 Volt cards * Added etc/wavelan2_cs.conf Version 4.00 - July 2, 1999 * Added support for WEP encryption * Corrected string transfer of private ioctls used by the Wireless extensions. * Support for signal levels in dBm; reported by the Wireless extensions. * Support for CFG_DRV_IDENTITY moved from HCF to MSF. * Validate module parameters by default. This was only enabled in debug mode in the previous versions. * Fixed Card Power Management bug. Version 3.10 did not enable PM on standard (2 Mbit/s) cards with STA firmware 2.00, when configured to enable PM. * Corrected module parameter type of irq_mask (h = short) and irq_list (1-4b = 1-4 bytes). Version 3.10 - April 28, 1999 * Changes to allow for the module parameter differences between Linux 2.0 and Linux 2.1. Linux 2.0 only allowed for 32-bit integer parameters, the 2.1 or later kernels allow for 8, 16 and 32 bit parameters. * Added BSD clause to the GPL license. * Added support for Linux Wireless extensions. * Fixed the setting of the network_name and station_name when the name was empty or set to ANY for network_name. * The user can now enable Card Power Management: PLEASE NOTE: This function should not be enabled until software that supports Card Power Management will be installed on both: - PC Card (Use Station Functions firmware v2.00 or higher) and - WavePOINT-II Access Point (use AP software v2.03 or higher) , In case you enable Card Power Management without having updated the firmware to version levels listed above, the driver will not effectuate Card Power Management. * Added support for transmit timeout handling. * Re-added channel parameter. * Renamed parameter receive_all_multicast to receive_all_multicasts * Changed the values of the parameters card_power_management and receive_all_multicasts to 'Y' for Enable and 'N' for Disable. Version 1.27 (Beta-2) - March 2, 1999 First Source/Library distribution. * Changed module parameters names to better conform to the PCMCIA and 802.11 naming conventions. Version 1.20 (Beta-1) - February 9, 1999 Binary only version for Slackware 3.6 (linux 2.0.35) and RedHat 5.2 (linux 2.0.36). ----------------------------------------------------------- 4. INSTALLATION NOTES The driver files for the Linux driver are not "ready" for direct installation onto any Linux computer. To build and install the driver you will need some expertise on the Linux operating system in general and the type and version installed of the kernel installed on your computer. With this knowledge you can use the driver source files provided to build your own Linux driver for your specific computer and kernel. 4.1 Before you start 1) Determine the type and version of the Linux kernel of your computer and check whether it meets the system requirements listed in section 2 of this README. 2) Read the Linux PCMCIA-HOWTO by David Hinds. This document is probably provided on a CD-ROM of your Linux distribution. You can download the latest version from: http://pcmcia-cs.sourceforge.net Please read the section titled "Prerequisites and kernel setup" of the PCMCIA-HOWTO. 4.2 Build the Avaya Wireless Driver 1) Obtain a copy of the Linux PCMCIA package from a CD-ROM of your Linux distribution or download the latest version from: http://pcmcia-cs.sourceforge.net For your convenience, the latest Avaya Wireless CD-ROM contains a copy of the PCMCIA package in subdirectory: Xtras/Linux/PCMCIA 2) To unpack the Linux PCMCIA package, copy it to the current working directory and type: % tar xzvf pcmcia-cs-3.1.29.tar.gz Note: If you use the archive supplied on the CDROM, use archive name "pc3_1_29.tgz" instead of "pcmcia-cs-3.1.29.tar.gz". 3) Extract the distribution archive on top of the Linux PCMCIA package. % cd pcmcia-cs-3.1.29 % tar xzvf ../wavelan2_cs-6.16.tar.gz Note: If you use the archive supplied on the CDROM, use archive name "../wlli616.tgz" instead of "../wavelan2_cs-6.16.tar.gz". 4) To build and install the driver, follow the procedure below: % make config Answer the presented questions. Usually the default answers are OK and pressing "Enter" is enough. On RedHat 7.1 systems however, you should specify "/usr/src/linux-2.4" as the Linux source directory instead of the default "/usr/src/linux". For more detailed information on configuration, building and installing, see the PCMCIA-HOWTO. Now run the Build script: % ./Build This script determines whether your system uses in-kernel PCMCIA and either builds the full PCMCIA package or just the driver. Before installing the driver with the Install script, you must become 'root': % su .. # ./Install This script determines whether your system uses in-kernel PCMCIA and either installs the full PCMCIA package or just the driver. 4.3 Configure your Avaya Wireless PC Card Before configuring the driver through module parameters (in /etc/pcmcia/config.opts), make sure that /etc/pcmcia/wireless.opts file is either absent or contains blank parameter values as shown below. *,*,*,00:60:1D:*|*,*,*,00:02:2D:*) INFO="" ESSID="" MODE="" KEY="" ;; If you want to configure the driver through the wireless extension (in /etc/pcmcia/wireless.opts), please refer to section 4.5. 1) To configure the Avaya Wireless PC Card, please refer to: * The online manual page (wavelan2_cs.4) % man wavelan2_cs * The network adapter sections of the PCMCIA documentation. % more PCMCIA-HOWTO 2) Use an editor to configure the module parameters: # vi /etc/pcmcia/config.opts For example: a) To connect your computer to a wireless infrastructure that includes access points, you will need to identify the network name of the wireless infrastructure. For example if your infrastructure uses the network name "My Network", edit the config.opts file to include the following: module "wavelan2_cs" opts "network_name=My\ Network" Notice that the space character needs to be escaped with a backslash. b) To connect your computer to a Residential Gateway you will need to know the RG ID (=network_name) and the encryption key. You can find the RG ID on a small label on the rear of the unit. For example if your RG has ID 225ccf and you did not change the encryption key yet, edit the config.opts file to include the following: module "wavelan2_cs" opts "network_name=\"225ccf\" key_1=\"25ccf\" enable_encryption=Y" If you changed your encryption key, you should specify this key as key_1 on the parameter line. c) To connect your computer to a peer-to-peer network, in an environment without access points, the IBSS mode is recommended. For example to connect to a peer-to-peer network called "My Network", enter the following in the config.opts file: module "wavelan2_cs" opts "create_ibss=Y network_name=My\ Network" d) Optionally you can also include a "Station Name" value that can be used to indentify your computer on the wireless network. For example if you wish to name your computer "Wave1" when connecting it to a wireless infrastructure, edit the config.opts file to include the following: module "wavelan2_cs" opts "network_name=Ocean station_name=Wave1" e) To connect your computer to an Ad-Hoc workgroup of wireless computers, enter the following in the config.opts file: module "wavelan2_cs" opts "port_type=3" Note that the "Ad-Hoc Demo Mode" is not the recommended mode for a peer-to-peer network. The configuration of this non-interoperable mode is only explained here for special applications (e.g. research, or compatibility with other / previous products). The IBSS mode described in c) is the preferred and interoperable mode for creating a peer-to-peer network. 3) Use an editor to modify the network options for your adapter. # vi /etc/pcmcia/network.opts The parameters need to be correct for the connected network. Check with your system administrator for the correct network information. Refer to the PCMCIA-HOWTO for more configuration information. For example: *,*,*,*) IF_PORT="" BOOTP="n" IPADDR="10.0.0.5" NETMASK="255.255.255.0" NETWORK="10.0.0.0" BROADCAST="10.0.0.255" GATEWAY="10.0.0.1" DOMAIN="domain.org" DNS_1="dns1.domain.org" ;; Note that RedHat 7.1 doesn't use the network.opts to configure the driver. Instead it uses a GUI- based tool called 'netcfg' which creates scripts, like ifcfg-eth0, in the directory /etc/sysconfig/network-scripts. Using the default GNOME menu, you can start netcfg from: Programs->System->Network Configuration 4) Restart the PCMCIA services. # /etc/rc.d/rc.pcmcia restart or # /etc/rc.d/init.d/pcmcia restart For a more detailed description about the various configuration options and definitions, please consult the Avaya Wireless documentation in Adobe's Acrobat PDF format on the CD-ROM that came with your product. Avaya Wireless User documentation is also available on the Wireless Web Site: http://www.avaya.com You can download the documentation in Adobe's Acrobat Portable Document Format (PDF). To view or print PDF files you will need the freeware Acrobat Reader that can be downloaded from the Adobe Web Site: http://www.adobe.com/acrobat 4.4 Troubleshooting When the Avaya Wireless PC Card is inserted, the card manager will emit beeps in different tones to indicate success or failure of particular configuration steps. a) Two high beeps - The card was identified and configured successfully. b) One high beep followed by a low beep - The card was identified, but could not be configured. - Examine the system log (dmesg) for PCMCIA error or warning messages. c) One low beep - The card could not be identified. - Execute "cardctl ident" to display the adapter PnP information. Verify the PnP information matches an entry in the PCMCIA configuration file (/etc/pcmcia/config). - Examine the system log (dmesg) for PCMCIA error or warning messages. The Avaya Wireless PC Card has two LEDs that indicate the state of the adapter and network. * Power LED (toward the middle of the adapter) - This LED indicates power has been applied, and the card is functional. In normal operation mode with Card Power Management disabled, it will be steady-on. With Card Power Management enabled, it will blink rapidly (several times per second). * Transmit/Receive LED (closer to the edge of the adapter) - This LED will flash when it detects transmit or receive packets. * Both LEDs blink at the same time every 10 seconds. - The adapter was unable to make contact with the named wireless network. Verify the network_name, in the config.opts file matches the network name of the access point. * LEDs indicate normal operation with the Power LED steady-on or blinking rapidly and Transmit/Receive LED flashing, but no traffic. - If the network is operating in normal mode (ie. port_type = 0 or not specified), and a network_name has been specified, verify the workstation network parameters (ifconfig, route, etc.) are correct for the wireless network. - If the network is operating in Ad-Hoc (peer-to- peer) mode (ie. port_type = 3), the adapter needs another workstation/adapter to communicate with. Verify the network parameters on both of the workstations (ifconfig, route, etc.) are correct. Refer to the online manual page for additional configuration, feature and support information. % man wavelan2_cs or % man 4 wavelan2_cs or % nroff -man wavelan2_cs.4 | more 4.5 Wireless extensions This driver has support for the "Wireless Extensions". This interface allows the "Wireless Tools" to get statistics from the driver and allows to change the configuration of the driver on the fly. The latest versions of the PCMCIA package contain scripts that use the wireless extension to configure the driver as an alternative to the configuration through module parameters as described in section 4.3. Read the /etc/pcmcia/wireless.opts file for the theory of operation. When the driver is configured, go to section 4.3 step 3 to configure the network parameters. For more information, refer to the following WEB pages: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html 4.6 Identifying the software This section explains how to identify the version of this software once it is unpacked or installed. The Linux Driver Source/Library distribution consist of two main components, the driver source and the HCF library. * To quickly identify the wavelan2_cs.c source, type: % grep wavelan2_cs.c wavelan2_cs.c "wavelan2_cs.c 6.16 11/23/2001 13:00:00"; * To identify the revision of the HCF library, type: % strings libhcf-i386.a | grep Revision HCF$Revision: 4.6 To identify a compiled wavelan2_cs.o driver, go to the directory where the driver is located. Installed drivers are normally located in: /lib/modules//pcmcia * To retrieve the version of the source used to compile the driver, type: % strings wavelan2_cs.o | grep wavelan2_cs.c wavelan2_cs.c 6.16 11/23/2001 13:00:00 * To retrieve the revision of the HCF library used to compile the driver, type: % strings wavelan2_cs.o | grep Revision HCF$Revision: 4.6 At startup the wavelan2_cs driver reports its version in the system log file (/var/log/messages). ----------------------------------------------------------- 5. TECHNICAL CONSTRAINTS At the time of release of this software, the following constraints are identified: 5.1 Using the Avaya Wireless ISA adapter Description: To allow operation in desktop computers Avaya also provides an optional ISA bus to PC Card adapter (also referred to as "swapbox"). This ISA Adapter can be configured for two different I/O Address values: * 3E2 (factory-set default) * 3E0 Impact: By default the i82365 module of the Linux pcmcia package will only probe at 3E0. Action: 1) Read the manual page on the probing of the i82365 module, by typing the command: man i82365 2) Apply one of the two following options: a) Change the I/O address strapping of the ISA adapter by replacing the jumper on the ISA adapter. The correct jumper setting is pictured in the electronic "Avaya Wireless ISA Adapter, Getting Started Guide" provided on the CD-ROM. This guide is provided in Adobe's Acrobat PDF format. b) Alternatively, you can load the i82365 module with the "extra_sockets" parameter set to 1. On a RedHat 5.x thru 7.x, system, put this in the file "/etc/sysconfig/pcmcia": PCMCIA=yes PCIC=i82365 PCIC_OPTS="extra_sockets=1" CORE_OPTS= CARDMGR_OPTS= For other Linux distributions, you are advised to consult the "PCMCIA-HOWTO" notes for information about changing the I/O Address probing. 5.2 Using the Avaya Wireless PCI Adapter Description: To allow operation in desktop computers Avaya also provides an optional PCI bus to PC Card adapter (also referred to as "swapbox"). For correct interrupt assignment, the system should support PCIBIOS 2.2. It is recommended to use PCMCIA package version 3.1.14 or higher. The default configuration of the interrupt routing method of the PCI Adapter's TI CardBus Controller is incorrect. Action: 1) Read the manual page on the "Options specific for TI CardBus Controllers" of the i82365 module, by typing the command: man i82365 2) Load the i82365 module with the "irq_mode" parameter set to 0. On a RedHat 5.x thru 7.x system, put this in the file "/etc/sysconfig/pcmcia": PCMCIA=yes PCIC=i82365 PCIC_OPTS="irq_mode=0" CORE_OPTS= CARDMGR_OPTS= For the location of the PCMCIA scripts on other Linux distributions, you are advised to consult the "PCMCIA-HOWTO", "Notes about specific Linux distributions". 5.3 Station functions compatibility Description: This driver supports cards with Station Functions firmware version 4.x and higher. Impact: The driver will abort and generate the following error message in the system log file (/var/log/messages): eth0: Wireless, HCF failure: "Primary functions are compatible, station functions are not" Action: You are advised either to: a) Use the Station firmware Update utility (for example WSU10430.exe) on a Windows system with an Avaya Wireless driver. b) Or revert to version 4.00 of this driver (wavelan2_cs-4.00.tar.gz). 5.4 Building a bridge or router Description: The Linux driver uses the Station Functions firmware programmed in Flash memory on the Avaya Wireless PC Card. On an IEEE 802.11 Station you can not build a MAC-layer Transparent Bridge. This is not a restriction of Avaya Wireless only; it is an architectural restriction of IEEE 802.11. As such it is specified in the 802.1D Bridge Standard (1998 Edition): A Bridge to an 802.11 LAN shall connect to an 802.11 Portal, which in turn connects to an 802.11 Distribution System. As the Distribution System is part of the AP (and not of the STA), you need an AP to build a Bridge. The major cause for this is the MAC-layer Acknowledgement. A Transparent Bridge will have to Ack frames destined for multiple destinations (everything that is not in the cell itself). An AP can do this; a STA can not; by definition. Action: It is possible to build a router using this driver. ----------------------------------------------------------- 6. KNOWN ISSUES At the time of release of this software, no problems are known. ----------------------------------------------------------- 7. TECHNICAL SUPPORT 7.1 Finding Information On the Avaya web site you can find the most recent device drivers, bridge firmware, software updates and user documentation. World Wide Web: http://www.avaya.com 7.2 Contact Technical Support If you encounter problems when installing or using this product, or would like information about our other Avaya Wireless products, please contact your local reseller or Avaya Sales office. Addresses and telephone numbers of the Avaya Sales offices are listed on our web site. When contacting Technical Support, please use the Problem Report Form and send it to us by Fax or E-Mail. The Problem Report Form 'REPORT.TXT' (Plain text format) is included on the disk. Alternatively, you can download the Problem Report Form from the Wireless Web Site. Include Product Name, Serial Number and software version number with each request to help the Support Group helping you. =========================================================== END OF FILE