OSDN Git Service

v27
[android-x86/external-wireless-tools.git] / wireless_tools / INSTALL
index 37bf8d4..b938fa6 100644 (file)
@@ -1,96 +1,89 @@
 Very important note :
 -------------------
-       This release of the Wireless Tools is not compatible with Wireless
-       Extensions earlier than 9.
-       Kernels that support this version of the Wireless Tools are listed
-       below. For all kernels before that, please use the version v19 of
-       the Wireless Tools.
-       You might have headers troubles and it doesn't compile, see below...
+       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 Compiler and development environment
-       o A kernel supporting wireless extensions version 9 or higher
-               -> from 2.2.14 onward
-               -> from 2.3.24 onward
+       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 (Optional) A Pcmcia package supporting Wireless Extension
        o A driver supporting wireless extensions
-               -> Check my web pages for latest list of drivers,
-                       otherwise patch your favourite driver...
+               -> 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 to create the tools.
-       In practice, there is big troubles with the kernel
-headers. See below for how to fix that.
-       Note : as some internal data structures change from kernel to
-kernel, you are advised to not use the precompiled version of the
-tools but to recompile your own.
 
 Installation :
 ------------
-       If I were you, I would not trust a "make install". If you feel
-courageous, just do "make install". It may even do the right
-thing. Actually, with the various bugfixes that happened over the
-time, it nowadays tend to do the right thing.
-       I advise to copy the executable (iwconfig, iwspy and iwpriv)
-in /usr/local/sbin or /usr/sbin. The man pages (iwconfig.8, iwspy.8
-and iwpriv.8) should be copied in /usr/local/man/man8 or
-/usr/man/man8.
-       In fact, if you want to use Pcmcia wireless.opts, this step is
-mandatory...
+       "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.
 
-Kernel headers (why it doesn't compile) :
----------------------------------------
-       Some changes in the kernel headers and glibc headers are
-making my life difficult. We now have a mechanism to automatically
-select the proper header based on various bits of information (libc
-version & kernel version), but it may fail to do the right thing.
-       You may also see the message :
-               "Your kernel/libc combination is not supported"
-       If this happens to you, you will need to hack the rules at the
-top of iwlib.h and send me the patch.
-
-       The second issue is that some distributions install some
-independant kernel headers in /usr/include. If you upgrade your
-kernel, those headers become out of sync and you don't benefit from
-the latest Wireless Extensions. Even worse, it can sometimes prevent
-the tools from compiling.
-       The trick is to copy the file .../include/linux/wireless.h
-from the kernel to the /usr/include headers.
-
-Multi-kernel installation (expert only) :
----------------------------------------
-       People who run different kernel on the same system may have
-problems due to the fact that those kernel have different version of
-Wireless Extensions and the Wireless Tools need to match the version
-of Wireless Extension used.
+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.
+       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.
 
-       It is now possible to install multiple versions of the
-Wireless Tools on a system and get the proper version used based on
-the kernel running, using a redirector. However, this support is still
-experimental and for expert users only.
-       The redirector will work properly only with kernel using
-Wireless Extensions version 16 and higher. Earlier version of Wireless
-Extensions will be detected as either v15 (v12, v13, v14 and v15) or
-as v11 (v11 and earlier).
+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.
 
-       The installation looks typically like :
-------------------------------------
-make clean
-make FORCE_WEXT_VERSION=11
-make vinstall FORCE_WEXT_VERSION=11
-make clean
-make FORCE_WEXT_VERSION=15
-make vinstall FORCE_WEXT_VERSION=15
-make clean
-make FORCE_WEXT_VERSION=16
-make vinstall FORCE_WEXT_VERSION=16
-[...]
-------------------------------------
+Other useful Makefile options :
+-----------------------------
+       PREFIX : where the tools will be installed (default : /usr/local)
+       BUILD_STATIC : build tools with a static version of the wireless lib
+       BUILD_NOLIBM : build tools without mathematical lib (slower)
+       Note that you should pass the same command line options for
+all invocations of make ("make" and "make install").
 
+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.
 
        Jean <jt@hpl.hp.com>