-
Notifications
You must be signed in to change notification settings - Fork 39
/
INSTALL
151 lines (135 loc) · 6.07 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
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 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 (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 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.
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.
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.
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 <[email protected]>