Installation
============

Kernel Support
--------------
1) RedHat Linux 9.0 (Kernel 2.4.20-8) /
   RedHat Linux Enterprise Linux WS3 (Kernel 2.4.21-4.EL) /
   SuSE Linux 9.1 (Kernel 2.6.4-52) /
   Fedora Core 2 (Kernel 2.6.5-1)
2) Wireless Tools v26 / v27

Compiling and Installing
------------------------
1) Unpack AR5505REL.tar.gz onto the Working directory.  This creates a folder
   named AR5005.
2) The root Makefile is placed under AR5005REL/src directory.  From there
   execute the following commands
       # make clean       ; Clean any previous object files
       # make all         ; make the driver modules
       # make install     ; install the driver modules
3) Plug-in the USB WLAN device and the modules will be loaded automatically
4) Running 'iwconfig' on the console will display a device named 'ath0'
5) Configure the devcie using wireless tools and 'ifconfig' utilities.

If driver installation (make install) is not done, the drivers for manual
loading can be found at AR5005REL/src/ direcctory. There are two driver
modules athusbfw.o (Firmware download driver) and athusbwlan.o (Wlan station
driver).  Loading order of the driver is irrelevant, though athusbfw.o is
the first one to be loaded actually. athusbwlan.o takes control once the 
firmware download is successfull. To load the drivers manually follow the
commads below
    # insmod athusbfw.o
    # insmod athusbwlan.o

Installation Settings
---------------------
1) If you are running multiple versions of the kernel you can select the kernel
   version for the driver modules to be built against. This is done by setting
   the "KERNELVERSION" environment variable.
       # export KERNELVERSION=2.4.20-8custom
   If KERNELVERSION is not set, the default is taken from `uname -r`
2) If you have the kernel sources altogether in a different place then inform
   it by exporting "KERNELDIR".
       # export KERNELDIR=/home/USER/Work/linux-2.4.20
   If the KERNELDIR is not set, the default is /lib/modules/`uname -r`/build/
3) You can enable and disable certain features by modifying the macro
   definitions in AR5505REL/src/Makefile.inc (i.e DEBUG, DEBUG_PRINTF etc...)

Troubleshooting
---------------
1) If the make process complains about any missing header file, make sure that
   you have installed the kernel sources
2) If you are customizing the kernel configuration make sure that wireless
   support is included in the configuration
3) If the dirver load fails with kernel version mismatch errors, make sure that
   the kernel version you are running (uname -r) is the same as the one
   mentioned in /lib/modules/`uname -r`/build/include/linux/version.h 
4) You might get stuck in a loop during make process with a '/boot/kernel.h
   has a time stamp in the future' error.  To fix it,
       # touch /boot/kernel.h
   as super user. First time compilation might have this problem if system
   clock is not synched with hardware clock
5) If the first time compilation complains about dependency problems 
   'touch AR5005REL/src/Makefile' once.



