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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
|
<?xml version="1.0" standalone='no'?>
<!DOCTYPE manpage SYSTEM "xmltoman.dtd">
<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?>
<!-- $Id$ -->
<!--
This file is part of waproamd.
waproamd is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your
option) any later version.
waproamd is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with waproamd; if not, write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-->
<manpage name="waproamd" section="8" desc="Wireless Access Point Roaming Daemon for WLAN IEEE 802.11">
<synopsis>
<cmd>waproamd [<arg>options</arg>]</cmd>
</synopsis>
<description>
<p>waproamd is a roaming daemon for wireless NICs supporting the
Linux wireless extensions. It is intended to configure the WEP
keys according to the networks found.</p>
<p>As long as the local NIC is not associated to any wireless
network waproamd scans iteratively for them. If one is detected, a
script in <file>@sysconfdir@/waproamd/scripts/</file> named after
the MAC address of the access point is called. (First lowercase,
than uppercase is checked) If a script like this is not found a
script named <tt>essid:<ESSID></tt> in the same directory is
used. Special characters are escape in an HTTP URL like
fashion. If this script is not existent,
<file>@sysconfdir@/waproamd/scripts/default</file> is called
instead. The first argument to this script is "start". If the
association is lost, the same script is run with the argument
"stop". While the NIC is associated no scans are issued.</p>
<p>waproamd is intended to be used together with ifplugd. Whenever
an association succeeds, ifplugd detects it and runs further
configuration commands for it.</p>
<p>If multiple WLANs are detected at the same time, the network
which is detected by the hardware first is selected. However,
networks where a matching script exists take precedence.</p>
<p>waproamd requires a network driver supporting the Linux
wireless extensions v15 or newer. The driver needs to support
scanning for wireless networks, which may be tested by running
"iwlist scan". If the driver supports the wireless event
subsystem, waproamd may use it to improve latency behaviour. It is
not required, however.</p>
<p>waproamd supports the host_roaming ioctl() defined by the
hostap driver.</p>
</description>
<options>
<option>
<p><opt>-n | --no-daemon</opt></p>
<optdesc><p>
Do not daemonize (for debugging) (default: off)
</p></optdesc>
</option>
<option>
<p><opt>-s | --no-syslog</opt></p>
<optdesc><p>
Do not use syslog, use stdout instead (for debugging) (default: off).
</p></optdesc>
</option>
<option>
<p><opt>-i | --iface=</opt><arg>IFACE</arg></p>
<optdesc><p>
Specify the wireless network interface (default: wlan0)
</p></optdesc>
</option>
<option>
<p><opt>-w | --wait-on-fork</opt></p>
<optdesc><p> When daemonizing, wait until the background
process finished with the initial association detection.
</p></optdesc>
</option>
<option>
<p><opt>-W | --wait-on-kill</opt></p>
<optdesc><p> When killing a running daemon (with -k) wait
until the daemon died.
</p></optdesc>
</option>
<option> <p><opt>-M | --monitor</opt></p> <optdesc><p>Don't fail
when the network interface is not available, instead use
NETLINK to monitor device avaibility. The is useful for PCMCIA
devices and similar.</p></optdesc> </option>
<option> <p><opt>-e | --no-event</opt></p> <optdesc><p>Don't use
the wireless event API (as used by <manref name="iwevent"
section="8"/>), instead poll for association information. Some
network drivers do not support this relatively new feature of
the Linux wireless extension. Sadly the support of this feature
cannot be detected automatically.</p></optdesc> </option>
<option>
<p><opt>-t | --scan-interval=</opt><arg>SECS</arg></p>
<optdesc><p>Specify the time between scans for wireless networks.</p></optdesc>
</option>
<option>
<p><opt>-p | --poll-intervall=</opt><arg>SECS</arg></p>
<optdesc><p>When using -e, specify the time between association status polls.</p></optdesc>
</option>
<option>
<p><opt>-h | --help</opt></p>
<optdesc><p>
Show help
</p></optdesc>
</option>
<option>
<p><opt>-k | --kill</opt></p>
<optdesc><p>
Kill a running daemon (Specify -i to select the daemon instance to kill)
</p></optdesc>
</option>
<option>
<p><opt>-c | --check-running</opt></p>
<optdesc><p>
Check if a daemon is running for a given network interface. Sets the return value to 0 if a daemon is already running or to 255 if not.
</p></optdesc>
</option>
<option>
<p><opt>-S | --supend</opt></p> <optdesc><p> Suspend a running
daemon. The daemon will no longer check the link status until
it is resumed (-R) again. (Specify -i to select the daemon instance
to suspend.) </p></optdesc>
</option>
<option>
<p><opt>-R | --resume</opt></p> <optdesc><p> Resume a suspended
daemon. (Specify -i to select the daemon instance
to resume.) </p></optdesc>
</option>
<option>
<p><opt>-v | --version</opt></p>
<optdesc><p>
Show version
</p></optdesc>
</option>
<option>
<p><opt>-r | --issue-scan</opt></p>
<optdesc><p>
Tell a running daemon to issue an immediate scan for new networks
</p></optdesc>
</option>
<option>
<p><opt>-U | --no-userspace-roaming</opt></p>
<optdesc><p> Don't enable userspace roaming as supported by
certain drivers (e.g. hostap). Normaly, waproamd tries to enable
this special feature, doing effectively the same as "iwpriv
wlan0 host_roaming 2". If the driver supports this private ioctl
the robustness of waproamd's operation is increased. However, it
is not required for successful use. See your driver documentation for
mor information on this topic.</p></optdesc>
</option>
</options>
<section name="Files">
<p><file>@sysconfdir@/waproamd/waproamd.conf</file>: this file is sourced
by the init script <file>@sysconfdir@/init.d/waproamd</file> and
contains the interface to be monitored and the options to be
used.</p>
<p><file>@sysconfdir@/waproamd/scripts/<AP MAC
address></file>: this is called whenever a wireless network
controlled by an AP with a matching address is detected. The file
is first tried with the MAC address formatted lowercase. If no
script with that name exists waproamd looks for a file with the
MAC address formatted uppercase. Only scripts marked executable are considered. Networks with non-executable scripts are always ignored. You may use this to "disable" specific networks from being selected. Takes the same arguments as the
following script:</p>
<p><file>@sysconfdir@/waproamd/scripts/essid:<ESSID></file>:
This is called whenever a wireless AP is detected but no script
named after the AP MAC exists (See above). If the ESSID contains
special chracters (ASCII code < 32, >= 127, '/', '%') they are
replaced by a character % and the hexadecimal ASCII number of the
character in uppercase. This is similar to the HTTP URL
encoding. Only scripts marked executable are considered. Takes the same arguments as the following script:</p>
<p><file>@sysconfdir@/waproamd/scripts/default</file>: this is the
script which is called when neither a script named after the
AP MAC address, nor a script named after the ESSID is found. It
takes a single argument: either "start" or "stop". An environment
variable AP is set to the MAC address of the access point
found. An environment variable IFACE is set to the network
interface name. An environment variable ESSID contains the ESSID
of the WLAN network. ESSID_ESCAPED contains the ESSID with all
special chracters escaped the same way as described above. The
default implementation of this script looks for a file
<file>@sysconfdir@/waproamd/keys/<AP MAC address>.wep</file>
(or named after the ESSID, following the same scheme as the script
selection described above). If it exists its contents is used to
set the WEP key of the NIC. Otherwise the script looks for a file
<file>@sysconfdir@/waproamd/keys/<AP MAC
address>.aes</file>. If it exists the AES WEP rekeying daemon
<manref name="aeswepd" section="8"/> is called. Otherwise WEP
encryption is disabled.</p>
<p><file>/var/run/waproamd.<iface>.pid</file>: the pid file
for waproamd.</p>
</section>
<section name="Signals">
<p><arg>SIGINT, SIGTERM, SIGQUIT</arg> waproamd will quit. This is issued by passing -k to waproamd.</p>
<p><arg>SIGHUP</arg> waproamd will rescan for available networks immediately.</p>
</section>
<section name="Author">
<p>waproamd was written by Lennart Poettering
<@PACKAGE_BUGREPORT@>. waproamd is available
at <url
href="@PACKAGE_URL@"/>
</p>
</section>
<section name="See also">
<p>
<manref name="ifplugd" section="8"/>, <manref name="aeswepd" section="8"/>, <manref name="iwconfig" section="8"/>, <manref name="iwlist" section="8"/>
</p>
</section>
<section name="Comments">
<p>This man page was written using <manref name="xmltoman" section="1"
href="http://masqmail.cx/xml2man/"/> by Oliver Kurth.</p>
</section>
</manpage>
|