OSDN Git Service

v29
[android-x86/external-wireless-tools.git] / wireless_tools / INSTALL
index 9f39ed4..5cc017d 100644 (file)
+Very important note :
+-------------------
+       This release of the Wireless Tools is not compatible with
+Wireless Extensions earlier than 9. Version 9 and 10 should work fine
+but are not recommended. Version 8 and earlier will not work.
+       Kernels that support this version of the Wireless Tools are
+listed below. For all kernels before that, see at the end.
+
 You need :
 --------
-       o A kernel supporting wireless extensions
-               -> from 2.1.17 onward
-               -> from 2.0.30 onward
-               -> patch available for 1.2.13
+       o Compiler and development environment
+       o A kernel supporting wireless extensions version 11 or higher
+               -> from 2.4.4 onward (including 2.6.X)
                Note : CONFIG_NET_RADIO must be enabled
-       o Driver supporting wireless extensions
-               -> Wavelan isa from kernel 2.1.17 onward
-               -> Wavelan pcmcia from pcmcia 2.9.2 onward
-               -> Netwave pcmcia from pcmcia 2.9.12 onward
-               -> Wavelan IEEE pcmcia drivers
-               -> Proxim RangeLan2/Symphony driver
-               -> Patch your favourite driver
+       o (Optional) A Pcmcia package supporting Wireless Extension
+       o A driver supporting wireless extensions
+               -> Check my web pages for status of various drivers.
        Note : more recent kernels and drivers are likely to support
                more wireless extension features...
 
 Compile wireless tools :
 ----------------------
-       In theory, a make should suffice.
-       In practice, there is big troubles with the headers. Depending
-on which version of the kernel headers (might be different from
-kernel) and library headers you have, you need to play with the
-options buried in iwcommon.h.
+       In theory, a "make" should suffice to create the tools.
 
+Installation :
+------------
+       "make install" should do the right thing for you, and install
+the tools, their library and the man pages. You can also uninstall the
+tools via "make uninstall".
+       Note that the default installation is in the directory
+'/usr/local/sbin'. This may not be in your path. Also, other version
+of the tools may exist on the system, so double check which version is
+the default and adjust your path as necessary.
 
-This package was originally created by:
+Create a local copy of the tools :
+--------------------------------
+       By default, the package is built with iwlib as a dynamic
+library, and the tool will expect to use the default version of libiw
+on the system. This means you can't use the tools until they are
+properly installed.
+       If you just want to experiment with a "local" version of the
+tools, you may want to pass the BUILD_STATIC flag to Makefile. It will
+create a self contained version of the tools.
+               -------------
+               make clean
+               make BUILD_STATIC='y'
+               -------------
+       The resulting binary can be used in the compilation directory
+or installed in any place you like.
 
-       Jean <jt@hpl.hp.com>
+Other useful Makefile options :
+-----------------------------
+       PREFIX : where the tools will be installed (default : /usr/local)
+       CC : Compiler to use (defaul : gcc)
+       BUILD_STATIC : build tools with a static version of the wireless lib
+       BUILD_NOLIBM : build tools without mathematical lib (slower)
+       BUILD_STRIPPING : strip symbols from tools/lib.
+       BUILD_WE_ESSENTIAL : remove less used and obsolete features.
+
+       You can pass those options on the command line of make, or
+modify the top of the Makefile. You can also set them as environment
+variable, but this is not recommended.
+       If you pass those options on the command line, you should pass
+the same command line options for all invocations of make ("make" and
+"make install").
+
+Memory footprint reduction :
+--------------------------
+       The Wireless Tools are used in various embedded systems where
+memory footprint is a great concern. The Wireless Tools package offer
+multiple options to customise the compilation depending on the level
+of features you want.
+       The list below details the must useful combinations of these
+options, from the largest footprint to the smallest. Footprint depend
+on lot's of factor and is purely indicative (version 29-pre7+, i386,
+glibc, gcc 3.3.5).
+
+       1) Static build
+       Command line : make BUILD_STATIC='y'
+       - : Largest footprint
+       - : libiw not included (other third party tools may depend on it)
+       Size : ~280 kB
+
+       2) Default build
+       Command line : make
+       + : Fully featured version of the tools
+       - : Largest footprint (except for static version of tools)
+       Size : ~190 kB (libiw : ~29 kB ; ifrename : ~29 kB)
+
+       3) Stripping (remove function symbols)
+       Command line : make BUILD_STRIPPING='y'
+       + : Fully featured version of the tools
+       - : Still quite large
+       Size : ~110 kB (libiw : ~23 kB ; ifrename : ~17 kB)
+
+       4) Multicall version (include stripping)
+       Command line : make iwmulticall ; make install-iwmulticall
+       + : Fully featured version of the tools
+       + : Small
+       - : libiw not included (other third party tools may depend on it)
+       - : ifrename is not included
+       Size : ~55 kB
+
+       5) Multicall + Essential
+       Command line : make BUILD_WE_ESSENTIAL='y' iwmulticall
+       + : Smaller
+       - : Some less used features are left out 
+       - : libiw not included (other third party tools may depend on it)
+       - : ifrename is not included
+       Size : ~44 kB
+
+       6) iwconfig only + essential + static
+       Command line : make BUILD_WE_ESSENTIAL='y'  BUILD_STATIC='y' BUILD_STRIPPING='y' iwconfig
+       + : Very small
+       - : Very limited functionality : no scanning, no event, no iwpriv
+       - : libiw not included (other third party tools may depend on it)
+       - : ifrename is not included
+       Size : ~28 kB
+
+Wireless headers (past history) :
+-------------------------------
+       Previous version of the Wireless Tools had to be compiled with
+the same version of Wireless Extension that the kernel was using, and
+that was a major source of troubles.
+       Starting with version 27, Wireless Tools include all the ugly
+code to deal with any version of Wireless Extensions, so now you can
+compile a single "generic" version of the tools for any kernel.
+       Well, there are some limits, Wireless Extensions earlier than
+v11 are not supported (v9 and v10 should work fine), and versions
+later than the latest definition in the package are not
+supported. Once compile, the command "iwconfig --version" should tell
+you that.
+       Note that the previous option to make versioned installed of
+the tools no longer make sense and therefore is gone.
 
-And is now being maintained by:
-       Justin Seger <jseger@media.mit.edu>
+Old kernel with older Wireless Extensions :
+-----------------------------------------
+       Kernel prior to 2.2.14 : Those kernels include Wireless
+Extensions v8 or earlier. Those versions don't have proper support for
+802.11b, so are not very useful. You may want to consider upgrading.
+       Kernel 2.2.19 to 2.2.25 : Those kernels include Wireless
+Extensions v10. The tools should mostly work with it, but many drivers
+won't. You can upgrade those kernel to WE v15 with a patch on my web
+page.
+       Kernel 2.2.14 to 2.2.18 : Those kernels include Wireless
+Extensions v9. Same as above, you may want to upgrade to a later 2.2.X
+kernel and then apply the patch.
+       Kernel 2.0.X : Those kernels include very old version of
+Wireless Extensions. Same deal as old 2.2.X kernels.
 
-It seem that I've been taking over !
        Jean <jt@hpl.hp.com>