Remove unneeded PCI compatibility code
[madwifi/.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 61e27fa206918bca99317ba21435cbdf2a4d785c..8c05d7e5898ffd54b86fbcf2a99a235c5447f22a 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
-MADWIFI: Multimode Atheros Driver for WiFi on Linux (VAP branch)
-================================================================
+MADWIFI: Multimode Atheros Driver for WiFi on Linux
+===================================================
 
 * Copyright (c) 2002-2005 Sam Leffler.  All rights reserved.
 
@@ -9,12 +9,12 @@ Read the file COPYRIGHT for the complete copyright.
 Requirements
 ------------
 
-- Configured kernel sources of the target kernel.  Some Linux
-  distributions provide headers, makefiles and configuration data - it
-  should suffice.
+- Configured kernel sources of the target kernel.  Most Linux
+  distributions provide a kernel development package - it should
+  suffice.
 
-- Wireless Extensions support (14 or later, 17 preferred) - option
-  CONFIG_NET_RADIO in kernel .config file.
+- Wireless Extensions support - option CONFIG_NET_RADIO or
+  CONFIG_WIRELESS_EXT in kernel .config file, whichever is available.
 
 - Sysctl support - option CONFIG_SYSCTL in kernel .config file.
 
@@ -22,20 +22,21 @@ Requirements
   support is used if present, otherwise the AES-CCMP cipher module falls
   back to a private implementation).
 
-- gcc of same version that was used to compile the kernel.  At least
+- gcc of the same version that was used to compile the kernel.  At least
   make sure that the first two version numbers or the compiler are the
   same (e.g. it's OK to use gcc 3.4.6 to compile MadWifi if the kernel
   was compiled by gcc 3.4.2).  Ignoring this rule will cause "Invalid
   module format" errors during module load.
 
-Linux 2.4.x kernels starting with 2.4.22 and 2.6 kernels should work
-without problems.  Due to quick pace of Linux development, there is no
-way compatibility with the future 2.6 kernels can be ensured.  However,
-the latest 2.6 kernel at the time of the release should be expected to
-work.
+Linux kernels starting with version 2.6.13 should work without problems.
+Due to quick pace of Linux development, there is no way compatibility
+with the future 2.6 kernels can be ensured.  However, the latest 2.6
+kernel at the time of the release should be expected to work.  For AHB
+support, Linux 2.6.19 or newer is required.
+
+Automatic module loading support (CONFIG_KMOD) is highly recommended;
+otherwise, you'll need to load all required modules manually.
 
-Automatic module loading support (CONFIG_KMOD) is recommended; otherwise, 
-care will have to be taken to manually load needed modules.
 
 Building the driver
 -------------------
@@ -66,58 +67,23 @@ in the top-level MadWifi source directory to build all the modules for
 the currently running system.
 
 You MUST do a "make clean" before compiling for a different version of
-Linux, e.g. building for 2.6 after building for 2.4.
+Linux.
 
 If you want to compile MadWifi for a different kernel, you need to
 specify the location of the kernel build tree, e.g.:
 
-  $ make KERNELPATH=/usr/src/linux-2.6.3
+  $ make KERNELPATH=/usr/src/linux-3.12
 
 Note that you can also specify this path by setting an environment
 variable; e.g.
 
-  $ export KERNELPATH=/usr/src/linux-2.6.3
+  $ export KERNELPATH=/usr/src/linux-3.12
   $ make
 
 If the kernel was built outside the source directory, KERNELPATH should
 point to the output directory where .config is located, not to the
 sources.
 
-MadWifi currently provides four different rate control algorithms,
-ONOE, AMRR, SAMPLE and MINSTREL.  SAMPLE and MINSTREL are both very
-advanced, but MINSTREL is quite new.  Consequently, SAMPLE is used by
-default.  In order to make MadWifi use e.g. AMRR instead, you have to
-specify that as the module parameter e.g.
-
-  # modprobe ath_pci ratectl=amrr
-
-NOTE: Changing the rate control is only required (and recommended) for
-      users who want to setup an access point using MadWifi in difficult
-      (e.g. lossy) environments and who know what they are doing.
-
-This distribution includes support for a variety of target platforms.
-Because of the binary nature of the HAL not all platforms are supported
-(the list grows as time permits).  The supported target platforms can be
-found with:
-
-  $ ls hal/public/*.inc
-
-A target specifies the CPU architecture, byte order (unless implied by
-the CPU), and the ABI/file format.  For most popular platforms, the
-build system will find the appropriate files.  When cross-compiling or
-compiling for less common platforms, the target platform may need to be
-specified using the TARGET variable, e.g:
-
-  $ make TARGET=armv4-le-elf
-
-Consult the contents of the .inc file to find out what the target
-platform is and what toolchain was used to build the HAL object module. 
-Beware of mixing toolchains; some target platforms require that the HAL
-and driver be built with the same toolchain (i.e. compiler, assembler,
-and linker) and the same compiler flags.  If you get warnings about
-incompatible compiler flags, chances are that you are compiling for a
-wrong target or using an incompatible compiler.
-
 
 Cross-compiling
 ---------------
@@ -126,17 +92,13 @@ The build system is designed to support cross-compiling without any
 modification to the distribution files.  It should be sufficient to
 specify any parameters on the make command line.
 
-In most cases, only KERNELPATH and CROSS_COMPILE need to be defined. 
-CROSS_COMPILE is the prefix for cross-compiling tools.  For instance, if
-the cross compiler is called arm-linux-gcc, set CROSS_COMPILE to
-"arm-linux-":
+In most cases, only KERNELPATH, ARCH and CROSS_COMPILE need to be
+defined.  ARCH is the architecture of the kernel.  CROSS_COMPILE is the
+prefix for cross-compiling tools.  For instance, if compiling for ARM
+and the cross compiler is called arm-linux-gcc, set ARCH to "arm" and
+CROSS_COMPILE to "arm-linux-":
 
-  $ make KERNELPATH=/usr/src/linux-arm CROSS_COMPILE=arm-linux-
-
-The build system determines ARCH and TARGET based on the .config file in
-the Linux build tree.  TARGET still may need to be provided on the
-command line some uncommon systems.  If ARCH is determined incorrectly,
-please report it.
+  $ make KERNELPATH=/usr/src/linux-arm ARCH=arm CROSS_COMPILE=arm-linux-
 
 If the compiler needs additional flags to compile userspace binaries,
 you can redefine CC to include those flags.
@@ -185,6 +147,18 @@ To activate German frequencies you would specify:
 
   # modprobe ath_pci countrycode=276
 
+MadWifi currently provides four different rate control algorithms,
+ONOE, AMRR, SAMPLE and MINSTREL.  SAMPLE and MINSTREL are both very
+advanced, but MINSTREL is quite new.  Consequently, SAMPLE is used by
+default.  In order to make MadWifi use e.g. AMRR instead, you have to
+specify that as the module parameter e.g.
+
+  # modprobe ath_pci ratectl=amrr
+
+NOTE: Changing the rate control is only required (and recommended) for
+      users who want to setup an access point using MadWifi in difficult
+      (e.g. lossy) environments and who know what they are doing.
+
 To see all available module parameters type:
 
   $ modinfo ath_pci
@@ -207,4 +181,4 @@ Further information on how to work with the driver can be found in the
 file README.  In addition, the project's wiki has a lot of valuable
 information:
 
-http://madwifi.org/
+http://madwifi-project.org/