~ubuntu-branches/ubuntu/oneiric/wpasupplicant/oneiric

« back to all changes in this revision

Viewing changes to doc/docbook/wpa_supplicant.8

  • Committer: Bazaar Package Importer
  • Author(s): Kel Modderman
  • Date: 2006-10-05 08:04:01 UTC
  • mfrom: (1.2.1 upstream) (2.1.14 edgy)
  • Revision ID: james.westby@ubuntu.com-20061005080401-myfwjtq7di70dyeo
* Update madwifi headers to latest SVN. (Closes: #388316)
* Remove failed attempt at action locking. [debian/functions.sh,
  debian/wpa_action.sh]
* Add hysteresis checking functions, to avoid "event loops" while
  using wpa-roam. [debian/functions.sh, debian/wpa_action.sh]
* Change of co-maintainer email address.
* Add ishex() function to functions.sh to determine wpa-psk value type in
  plaintext or hex. This effectively eliminates the need for the bogus and
  somewhat confusing wpa-passphrase contruct specific to our scripts and
  allows wpa-psk to work with either a 8 to 63 character long plaintext
  string or 64 character long hex string.
* Adjust README.modes to not refer to the redundant wpa-passphrase stuff.
* Add big fat NOTE about acceptable wpa-psk's to top of example gallery.
* Strip surrounding quotes from wpa-ssid if present, instead of just whining
  about them.
* Update email address in copyright blurb of functions.sh, ifupdown.sh and
  wpa_action.sh.  

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.\" This manpage has been automatically generated by docbook2man 
 
2
.\" from a DocBook document.  This tool can be found at:
 
3
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 
4
.\" Please send any bug reports, improvements, comments, patches, 
 
5
.\" etc. to Steve Cheng <steve@ggi-project.org>.
 
6
.TH "WPA_SUPPLICANT" "8" "27 August 2006" "" ""
 
7
 
 
8
.SH NAME
 
9
wpa_supplicant \- Wi-Fi Protected Access client and IEEE 802.1X supplicant
 
10
.SH SYNOPSIS
 
11
 
 
12
\fBwpa_supplicant\fR [ \fB-BddehLqqvw\fR ] [ \fB-i\fIifname\fB\fR ] [ \fB-c\fIconfig file\fB\fR ] [ \fB-D\fIdriver\fB\fR ] [ \fB-P\fIPID_file\fB\fR ]
 
13
 
 
14
.SH "OVERVIEW"
 
15
.PP
 
16
Wireless networks do not require physical access to the network equipment
 
17
in the same way as wired networks. This makes it easier for unauthorized
 
18
users to passively monitor a network and capture all transmitted frames.
 
19
In addition, unauthorized use of the network is much easier. In many cases,
 
20
this can happen even without user's explicit knowledge since the wireless
 
21
LAN adapter may have been configured to automatically join any available
 
22
network.
 
23
.PP
 
24
Link-layer encryption can be used to provide a layer of security for
 
25
wireless networks. The original wireless LAN standard, IEEE 802.11,
 
26
included a simple encryption mechanism, WEP. However, that proved to
 
27
be flawed in many areas and network protected with WEP cannot be consider
 
28
secure. IEEE 802.1X authentication and frequently changed dynamic WEP keys
 
29
can be used to improve the network security, but even that has inherited
 
30
security issues due to the use of WEP for encryption. Wi-Fi Protected
 
31
Access and IEEE 802.11i amendment to the wireless LAN standard introduce
 
32
a much improvement mechanism for securing wireless networks. IEEE 802.11i
 
33
enabled networks that are using CCMP (encryption mechanism based on strong
 
34
cryptographic algorithm AES) can finally be called secure used for
 
35
applications which require efficient protection against unauthorized
 
36
access.
 
37
.PP
 
38
\fBwpa_supplicant\fR is an implementation of
 
39
the WPA Supplicant component, i.e., the part that runs in the
 
40
client stations. It implements WPA key negotiation with a WPA
 
41
Authenticator and EAP authentication with Authentication
 
42
Server. In addition, it controls the roaming and IEEE 802.11
 
43
authentication/association of the wireless LAN driver.
 
44
.PP
 
45
\fBwpa_supplicant\fR is designed to be a
 
46
"daemon" program that runs in the background and acts as the
 
47
backend component controlling the wireless
 
48
connection. \fBwpa_supplicant\fR supports separate
 
49
frontend programs and an example text-based frontend,
 
50
\fBwpa_cli\fR, is included with
 
51
wpa_supplicant.
 
52
.PP
 
53
Before wpa_supplicant can do its work, the network interface
 
54
must be available.  That means that the physical device must be
 
55
present and enabled, and the driver for the device must have be
 
56
loaded.  Note, however, that the '-w' option of the wpa_supplicant
 
57
daemon instructs the daemon to continue running and to wait for
 
58
the interface to become available.  Without the '-w' option, the
 
59
daemon will exit immediately if the device is not already
 
60
available.
 
61
.PP
 
62
After \fBwpa_supplicant\fR has configured the
 
63
network device, higher level configuration such as DHCP may
 
64
proceed.  There are a variety of ways to integrate wpa_supplicant
 
65
into a machine's networking scripts, a few of which are described
 
66
in sections below.
 
67
.PP
 
68
The following steps are used when associating with an AP
 
69
using WPA:
 
70
.TP 0.2i
 
71
\(bu
 
72
\fBwpa_supplicant\fR requests the kernel
 
73
driver to scan neighboring BSSes
 
74
.TP 0.2i
 
75
\(bu
 
76
\fBwpa_supplicant\fR selects a BSS based on
 
77
its configuration
 
78
.TP 0.2i
 
79
\(bu
 
80
\fBwpa_supplicant\fR requests the kernel
 
81
driver to associate with the chosen BSS
 
82
.TP 0.2i
 
83
\(bu
 
84
If WPA-EAP: integrated IEEE 802.1X Supplicant or
 
85
external Xsupplicant completes EAP authentication with the
 
86
authentication server (proxied by the Authenticator in the
 
87
AP)
 
88
.TP 0.2i
 
89
\(bu
 
90
If WPA-EAP: master key is received from the IEEE 802.1X
 
91
Supplicant
 
92
.TP 0.2i
 
93
\(bu
 
94
If WPA-PSK: \fBwpa_supplicant\fR uses PSK
 
95
as the master session key
 
96
.TP 0.2i
 
97
\(bu
 
98
\fBwpa_supplicant\fR completes WPA 4-Way
 
99
Handshake and Group Key Handshake with the Authenticator
 
100
(AP)
 
101
.TP 0.2i
 
102
\(bu
 
103
\fBwpa_supplicant\fR configures encryption
 
104
keys for unicast and broadcast
 
105
.TP 0.2i
 
106
\(bu
 
107
normal data packets can be transmitted and received
 
108
.SH "SUPPORTED FEATURES"
 
109
.PP
 
110
Supported WPA/IEEE 802.11i features:
 
111
.TP 0.2i
 
112
\(bu
 
113
WPA-PSK ("WPA-Personal")
 
114
.TP 0.2i
 
115
\(bu
 
116
WPA with EAP (e.g., with RADIUS authentication server)
 
117
("WPA-Enterprise") Following authentication methods are
 
118
supported with an integrate IEEE 802.1X Supplicant:
 
119
.RS
 
120
.TP 0.2i
 
121
\(bu
 
122
EAP-TLS
 
123
.RE
 
124
.RS
 
125
.TP 0.2i
 
126
\(bu
 
127
EAP-PEAP/MSCHAPv2 (both PEAPv0 and PEAPv1)
 
128
.TP 0.2i
 
129
\(bu
 
130
EAP-PEAP/TLS (both PEAPv0 and PEAPv1)
 
131
.TP 0.2i
 
132
\(bu
 
133
EAP-PEAP/GTC (both PEAPv0 and PEAPv1)
 
134
.TP 0.2i
 
135
\(bu
 
136
EAP-PEAP/OTP (both PEAPv0 and PEAPv1)
 
137
.TP 0.2i
 
138
\(bu
 
139
EAP-PEAP/MD5-Challenge (both PEAPv0 and PEAPv1)
 
140
.TP 0.2i
 
141
\(bu
 
142
EAP-TTLS/EAP-MD5-Challenge
 
143
.TP 0.2i
 
144
\(bu
 
145
EAP-TTLS/EAP-GTC
 
146
.TP 0.2i
 
147
\(bu
 
148
EAP-TTLS/EAP-OTP
 
149
.TP 0.2i
 
150
\(bu
 
151
EAP-TTLS/EAP-MSCHAPv2
 
152
.TP 0.2i
 
153
\(bu
 
154
EAP-TTLS/EAP-TLS
 
155
.TP 0.2i
 
156
\(bu
 
157
EAP-TTLS/MSCHAPv2
 
158
.TP 0.2i
 
159
\(bu
 
160
EAP-TTLS/MSCHAP
 
161
.TP 0.2i
 
162
\(bu
 
163
EAP-TTLS/PAP
 
164
.TP 0.2i
 
165
\(bu
 
166
EAP-TTLS/CHAP
 
167
.TP 0.2i
 
168
\(bu
 
169
EAP-SIM
 
170
.TP 0.2i
 
171
\(bu
 
172
EAP-AKA
 
173
.TP 0.2i
 
174
\(bu
 
175
EAP-PSK
 
176
.TP 0.2i
 
177
\(bu
 
178
EAP-PAX
 
179
.TP 0.2i
 
180
\(bu
 
181
LEAP (note: requires special support from
 
182
the driver for IEEE 802.11 authentication)
 
183
.TP 0.2i
 
184
\(bu
 
185
(following methods are supported, but since
 
186
they do not generate keying material, they cannot be used
 
187
with WPA or IEEE 802.1X WEP keying)
 
188
.TP 0.2i
 
189
\(bu
 
190
EAP-MD5-Challenge 
 
191
.TP 0.2i
 
192
\(bu
 
193
EAP-MSCHAPv2
 
194
.TP 0.2i
 
195
\(bu
 
196
EAP-GTC
 
197
.TP 0.2i
 
198
\(bu
 
199
EAP-OTP
 
200
.RE
 
201
.TP 0.2i
 
202
\(bu
 
203
key management for CCMP, TKIP, WEP104, WEP40
 
204
.TP 0.2i
 
205
\(bu
 
206
RSN/WPA2 (IEEE 802.11i)
 
207
.RS
 
208
.TP 0.2i
 
209
\(bu
 
210
pre-authentication
 
211
.TP 0.2i
 
212
\(bu
 
213
PMKSA caching
 
214
.RE
 
215
.SH "AVAILABLE DRIVERS"
 
216
.PP
 
217
The available drivers to specify with the -D option are:
 
218
.TP
 
219
\fBhostap\fR
 
220
(default) Host AP driver (Intersil Prism2/2.5/3).
 
221
(this can also be used with Linuxant DriverLoader).
 
222
.TP
 
223
\fBhermes\fR
 
224
Agere Systems Inc. driver (Hermes-I/Hermes-II).
 
225
.TP
 
226
\fBmadwifi\fR
 
227
MADWIFI 802.11 support (Atheros, etc.).
 
228
.TP
 
229
\fBatmel\fR
 
230
ATMEL AT76C5XXx (USB, PCMCIA).
 
231
.TP
 
232
\fBwext\fR
 
233
Linux wireless extensions (generic).
 
234
.TP
 
235
\fBndiswrapper\fR
 
236
Linux ndiswrapper.
 
237
.TP
 
238
\fBbroadcom\fR
 
239
Broadcom wl.o driver.
 
240
.TP
 
241
\fBipw\fR
 
242
Intel ipw2100/2200 driver.
 
243
.TP
 
244
\fBwired\fR
 
245
wpa_supplicant wired Ethernet driver
 
246
.TP
 
247
\fBbsd\fR
 
248
BSD 802.11 support (Atheros, etc.).
 
249
.TP
 
250
\fBndis\fR
 
251
Windows NDIS driver.
 
252
.SH "COMMAND LINE OPTIONS"
 
253
.TP
 
254
\fB-B\fR
 
255
Run daemon in the background.
 
256
.TP
 
257
\fB-i ifname\fR
 
258
Interface to listen on.
 
259
.TP
 
260
\fB-c filename\fR
 
261
Path to configuration file.
 
262
.TP
 
263
\fB-P PID_file\fR
 
264
Path to PID file.
 
265
.TP
 
266
\fB-C ctrl_interface\fR
 
267
Path to ctrl_interface socket (only used if -c is not).
 
268
.TP
 
269
\fB-g global ctrl_interface\fR
 
270
Path to global ctrl_interface socket.
 
271
.TP
 
272
\fB-D driver\fR
 
273
Driver to use.  See the available options below.
 
274
.TP
 
275
\fB-d\fR
 
276
Increase debugging verbosity (-dd even more).
 
277
.TP
 
278
\fB-K\fR
 
279
Include keys (passwords, etc.) in debug output.
 
280
.TP
 
281
\fB-t\fR
 
282
Include timestamp in debug messages.
 
283
.TP
 
284
\fB-e\fR
 
285
Use external IEEE 802.1X Supplicant (e.g.,
 
286
\fBxsupplicant\fR) (this disables the internal
 
287
Supplicant).
 
288
.TP
 
289
\fB-h\fR
 
290
Help.  Show a usage message.
 
291
.TP
 
292
\fB-L\fR
 
293
Show license (GPL and BSD).
 
294
.TP
 
295
\fB-q\fR
 
296
Decrease debugging verbosity (-qq even less).
 
297
.TP
 
298
\fB-v\fR
 
299
Show version.
 
300
.TP
 
301
\fB-w\fR
 
302
wait for interface to be added, if needed.  normally,
 
303
\fBwpa_supplicant\fR will exit if the interface
 
304
is not there yet.
 
305
.TP
 
306
\fB-N\fR
 
307
Start describing new interface.
 
308
.SH "EXAMPLES"
 
309
.PP
 
310
In most common cases, \fBwpa_supplicant\fR is
 
311
started with:
 
312
.sp
 
313
.RS
 
314
 
 
315
.nf
 
316
wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -iwlan0
 
317
.fi
 
318
.RE
 
319
.PP
 
320
This makes the process fork into background and wait for the wlan0
 
321
interface if it is not available at startup time.
 
322
.PP
 
323
The easiest way to debug problems, and to get debug log for
 
324
bug reports, is to start \fBwpa_supplicant\fR on
 
325
foreground with debugging enabled:
 
326
.sp
 
327
.RS
 
328
 
 
329
.nf
 
330
wpa_supplicant -c/etc/wpa_supplicant.conf -iwlan0 -d
 
331
.fi
 
332
.RE
 
333
.PP
 
334
\fBwpa_supplicant\fR can control multiple
 
335
interfaces (radios) either by running one process for each
 
336
interface separately or by running just one process and list of
 
337
options at command line. Each interface is separated with -N
 
338
argument. As an example, following command would start
 
339
wpa_supplicant for two interfaces:
 
340
.sp
 
341
.RS
 
342
 
 
343
.nf
 
344
wpa_supplicant \\
 
345
        -c wpa1.conf -i wlan0 -D hostap -N \\
 
346
        -c wpa2.conf -i ath0 -D madwifi
 
347
.fi
 
348
.RE
 
349
.SH "OS REQUIREMENTS"
 
350
.PP
 
351
Current hardware/software requirements:
 
352
.TP 0.2i
 
353
\(bu
 
354
Linux kernel 2.4.x or 2.6.x with Linux Wireless
 
355
Extensions v15 or newer
 
356
.TP 0.2i
 
357
\(bu
 
358
FreeBSD 6-CURRENT
 
359
.TP 0.2i
 
360
\(bu
 
361
Microsoft Windows with WinPcap (at least WinXP, may work
 
362
with other versions)
 
363
.SH "SUPPORTED DRIVERS"
 
364
.TP
 
365
\fBHost AP driver for Prism2/2.5/3 (development snapshot/v0.2.x)\fR
 
366
(http://hostap.epitest.fi/) Driver needs to be set in
 
367
Managed mode ('iwconfig wlan0 mode managed').  Please note
 
368
that station firmware version needs to be 1.7.0 or newer to
 
369
work in WPA mode.
 
370
.TP
 
371
\fBLinuxant DriverLoader\fR
 
372
(http://www.linuxant.com/driverloader/)
 
373
with Windows NDIS driver for your wlan card supporting WPA.
 
374
.TP
 
375
\fBAgere Systems Inc. Linux Driver\fR
 
376
(http://www.agere.com/support/drivers/) Please note
 
377
that the driver interface file (driver_hermes.c) and hardware
 
378
specific include files are not included in the wpa_supplicant
 
379
distribution. You will need to copy these from the source
 
380
package of the Agere driver.
 
381
.TP
 
382
\fBmadwifi driver for cards based on Atheros chip set (ar521x)\fR
 
383
(http://sourceforge.net/projects/madwifi/) Please
 
384
note that you will need to modify the wpa_supplicant .config
 
385
file to use the correct path for the madwifi driver root
 
386
directory (CFLAGS += -I../madwifi/wpa line in example
 
387
defconfig).
 
388
.TP
 
389
\fBATMEL AT76C5XXx driver for USB and PCMCIA cards\fR
 
390
(http://atmelwlandriver.sourceforge.net/).
 
391
.TP
 
392
\fBLinux ndiswrapper\fR
 
393
(http://ndiswrapper.sourceforge.net/) with Windows
 
394
NDIS driver.
 
395
.TP
 
396
\fBBroadcom wl.o driver\fR
 
397
This is a generic Linux driver for Broadcom IEEE
 
398
802.11a/g cards.  However, it is proprietary driver that is
 
399
not publicly available except for couple of exceptions, mainly
 
400
Broadcom-based APs/wireless routers that use Linux. The driver
 
401
binary can be downloaded, e.g., from Linksys support site
 
402
(http://www.linksys.com/support/gpl.asp) for Linksys
 
403
WRT54G. The GPL tarball includes cross-compiler and the needed
 
404
header file, wlioctl.h, for compiling wpa_supplicant.  This
 
405
driver support in wpa_supplicant is expected to work also with
 
406
other devices based on Broadcom driver (assuming the driver
 
407
includes client mode support).
 
408
.TP
 
409
\fB Intel ipw2100 driver\fR
 
410
(http://sourceforge.net/projects/ipw2100/)
 
411
.TP
 
412
\fBIntel ipw2200 driver\fR
 
413
(http://sourceforge.net/projects/ipw2200/)
 
414
.TP
 
415
\fBLinux wireless extensions\fR
 
416
In theory, any driver that supports Linux wireless
 
417
extensions can be used with IEEE 802.1X (i.e., not WPA) when
 
418
using ap_scan=0 option in configuration file.
 
419
.TP
 
420
\fBWired Ethernet drivers\fR
 
421
Use ap_scan=0.
 
422
.TP
 
423
\fBBSD net80211 layer (e.g., Atheros driver)\fR
 
424
At the moment, this is for FreeBSD 6-CURRENT branch.
 
425
.TP
 
426
\fBWindows NDIS\fR
 
427
The current Windows port requires WinPcap
 
428
(http://winpcap.polito.it/).  See README-Windows.txt for more
 
429
information.
 
430
.PP
 
431
wpa_supplicant was designed to be portable for different
 
432
drivers and operating systems. Hopefully, support for more wlan
 
433
cards and OSes will be added in the future. See developer.txt for
 
434
more information about the design of wpa_supplicant and porting to
 
435
other drivers. One main goal is to add full WPA/WPA2 support to
 
436
Linux wireless extensions to allow new drivers to be supported
 
437
without having to implement new driver-specific interface code in
 
438
wpa_supplicant.
 
439
.SH "ARCHITECTURE"
 
440
.PP
 
441
The
 
442
\fBwpa_supplicant\fR system consists of the following
 
443
components:
 
444
.TP
 
445
\fB\fIwpa_supplicant.conf\fB \fR
 
446
the configuration file describing all networks that the
 
447
user wants the computer to connect to.  
 
448
.TP
 
449
\fBwpa_supplicant\fR
 
450
the program that directly interacts with the
 
451
network interface.  
 
452
.TP
 
453
\fBwpa_cli\fR
 
454
the
 
455
client program that provides a high-level interface to the
 
456
functionality of the daemon.  
 
457
.TP
 
458
\fBwpa_passphrase\fR
 
459
a utility needed to construct
 
460
\fIwpa_supplicant.conf\fR files that include
 
461
encrypted passwords.
 
462
.SH "QUICK START"
 
463
.PP
 
464
First, make a configuration file, e.g.
 
465
\fI/etc/wpa_supplicant.conf\fR, that describes the networks
 
466
you are interested in.  See \fBwpa_supplicant\fR(5)
 
467
for details.
 
468
.PP
 
469
Once the configuration is ready, you can test whether the
 
470
configuration works by running \fBwpa_supplicant\fR
 
471
with following command to start it on foreground with debugging
 
472
enabled:
 
473
.sp
 
474
.RS
 
475
 
 
476
.nf
 
477
wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -d
 
478
    
 
479
.fi
 
480
.RE
 
481
.PP
 
482
Assuming everything goes fine, you can start using following
 
483
command to start \fBwpa_supplicant\fR on background
 
484
without debugging:
 
485
.sp
 
486
.RS
 
487
 
 
488
.nf
 
489
wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
 
490
    
 
491
.fi
 
492
.RE
 
493
.PP
 
494
Please note that if you included more than one driver
 
495
interface in the build time configuration (.config), you may need
 
496
to specify which interface to use by including -D<driver
 
497
name> option on the command line.
 
498
.SH "INTERFACE TO PCMCIA-CS/CARDMRG"
 
499
.PP
 
500
For example, following small changes to pcmcia-cs scripts
 
501
can be used to enable WPA support:
 
502
.PP
 
503
Add MODE="Managed" and WPA="y" to the network scheme in
 
504
\fI/etc/pcmcia/wireless.opts\fR\&.
 
505
.PP
 
506
Add the following block to the end of 'start' action handler
 
507
in \fI/etc/pcmcia/wireless\fR:
 
508
.sp
 
509
.RS
 
510
 
 
511
.nf
 
512
if [ "$WPA" = "y" -a -x /usr/local/bin/wpa_supplicant ]; then
 
513
    /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE
 
514
fi
 
515
    
 
516
.fi
 
517
.RE
 
518
.PP
 
519
Add the following block to the end of 'stop' action handler
 
520
(may need to be separated from other actions) in
 
521
\fI/etc/pcmcia/wireless\fR:
 
522
.sp
 
523
.RS
 
524
 
 
525
.nf
 
526
if [ "$WPA" = "y" -a -x /usr/local/bin/wpa_supplicant ]; then
 
527
    killall wpa_supplicant
 
528
fi
 
529
    
 
530
.fi
 
531
.RE
 
532
.PP
 
533
This will make \fBcardmgr\fR start
 
534
\fBwpa_supplicant\fR when the card is plugged
 
535
in. \fBwpa_supplicant\fR will wait until the
 
536
interface is set up--either when a static IP address is configured
 
537
or when DHCP client is started--and will then negotiate keys with
 
538
the AP.
 
539
.SH "SEE ALSO"
 
540
.PP
 
541
\fBwpa_background\fR(8)
 
542
\fBwpa_supplicant.conf\fR(5)
 
543
\fBwpa_cli\fR(8)
 
544
\fBwpa_passphrase\fR(8)
 
545
.SH "LEGAL"
 
546
.PP
 
547
wpa_supplicant is copyright (c) 2003-2005,
 
548
Jouni Malinen <jkmaline@cc.hut.fi> and
 
549
contributors.
 
550
All Rights Reserved.
 
551
.PP
 
552
This program is dual-licensed under both the GPL version 2
 
553
and BSD license. Either license may be used at your option.