source: networking/netprogs/wpa_supplicant.xml@ 8cce479c

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 8cce479c was 8cce479c, checked in by Krejzi <krejzi@…>, 12 years ago

Package upgrades.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10914 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 13.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY wpa_supplicant-download-http
8 "http://hostap.epitest.fi/releases/wpa_supplicant-&wpa_supplicant-version;.tar.gz">
9 <!ENTITY wpa_supplicant-download-ftp " ">
10 <!ENTITY wpa_supplicant-md5sum "b29b9af02d7e092db8c5c8508de0e45c">
11 <!ENTITY wpa_supplicant-size "1.9 MB">
12 <!ENTITY wpa_supplicant-buildsize "25 MB">
13 <!ENTITY wpa_supplicant-time "0.1 SBU">
14]>
15
16<sect1 id="wpa_supplicant" xreflabel="wpa_supplicant-&wpa_supplicant-version;">
17 <?dbhtml filename="wpa_supplicant.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>wpa_supplicant-&wpa_supplicant-version;</title>
25
26 <indexterm zone="wpa_supplicant">
27 <primary sortas="a-wpa_supplicant">wpa_supplicant</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to WPA Supplicant</title>
32
33 <para>
34 <application>WPA Supplicant</application> is a Wi-Fi Protected Access
35 (WPA) client and IEEE 802.1X supplicant. It implements WPA key negotiation
36 with a WPA Authenticator and Extensible Authentication Protocol (EAP)
37 authentication with an Authentication Server. In addition, it controls the
38 roaming and IEEE 802.11 authentication/association of the wireless LAN
39 driver. This is useful for connecting to a password protected wireless
40 access point.
41 </para>
42
43 &lfs72_checked;
44
45 <bridgehead renderas="sect3">Package Information</bridgehead>
46 <itemizedlist spacing="compact">
47 <listitem>
48 <para>
49 Download (HTTP): <ulink url="&wpa_supplicant-download-http;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download (FTP): <ulink url="&wpa_supplicant-download-ftp;"/>
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download MD5 sum: &wpa_supplicant-md5sum;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Download size: &wpa_supplicant-size;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated disk space required: &wpa_supplicant-buildsize;
70 </para>
71 </listitem>
72 <listitem>
73 <para>
74 Estimated build time: &wpa_supplicant-time;
75 </para>
76 </listitem>
77 </itemizedlist>
78
79 <bridgehead renderas="sect3">WPA Supplicant Dependencies</bridgehead>
80
81 <bridgehead renderas="sect4">Recommended</bridgehead>
82 <para role="recommended">
83 <xref linkend="libnl"/> and
84 <xref linkend="openssl"/>
85 </para>
86
87 <bridgehead renderas="sect4">Optional</bridgehead>
88 <para role="optional">
89 <xref linkend="dbus"/>,
90 <xref linkend="libxml2"/> and
91 <xref linkend="qt"/>
92 </para>
93
94 <para condition="html" role="usernotes">User Notes:
95 <ulink url="&blfs-wiki;/wpa_supplicant"/>
96 </para>
97 </sect2>
98
99 <sect2 role="kernel" id="wpa_supplicant-kernel">
100 <title>Kernel Configuration</title>
101
102 <para>
103 Enable the following options in the kernel configuration
104 and recompile the kernel if necessary:
105 </para>
106
107<screen><literal>[*] Networking support --->
108 [*] Wireless --->
109 [*] cfg80211 - wireless configuration API
110 [*] cfg80211 wireless extensions compatibility
111 [*] Generic IEEE 802.11 Networking Stack (mac80211)
112
113Device Drivers --->
114 [*] Network device support --->
115 [*] Wireless LAN --->
116</literal></screen>
117
118 <para>
119 Select the options that support your hardware:
120 <command>lspci</command> from <xref linkend="pciutils"/> can be used to
121 view your hardware configuration.
122 </para>
123
124 <indexterm zone="wpa_supplicant wpa_supplicant-kernel">
125 <primary sortas="d-wpa_supplicant">wpa_supplicant</primary>
126 </indexterm>
127 </sect2>
128
129 <sect2 role="installation">
130 <title>Installation of WPA Supplicant</title>
131
132 <para>
133 First you will need to create an initial configuration file for the
134 build process. You can read <filename>wpa_supplicant/README</filename>
135 and <filename>wpa_supplicant/defconfig</filename> for the explanation
136 of the following options as well as other options that can be used.
137 Create a build configuration file that should work for standard WiFi
138 setups by running the following command:
139 </para>
140
141<screen><userinput>cat &gt; wpa_supplicant/.config &lt;&lt; "EOF"
142CONFIG_BACKEND=file
143CONFIG_CTRL_IFACE=y
144CONFIG_DEBUG_FILE=y
145CONFIG_DEBUG_SYSLOG=y
146CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
147CONFIG_DRIVER_NL80211=y
148CONFIG_DRIVER_WEXT=y
149CONFIG_DRIVER_WIRED=y
150CONFIG_EAP_GTC=y
151CONFIG_EAP_LEAP=y
152CONFIG_EAP_MD5=y
153CONFIG_EAP_MSCHAPV2=y
154CONFIG_EAP_OTP=y
155CONFIG_EAP_PEAP=y
156CONFIG_EAP_TLS=y
157CONFIG_EAP_TTLS=y
158CONFIG_IEEE8021X_EAPOL=y
159CONFIG_IPV6=y
160CONFIG_LIBNL32=y
161CONFIG_PEERKEY=y
162CONFIG_PKCS12=y
163CONFIG_READLINE=y
164CONFIG_SMARTCARD=y
165CONFIG_WPS=y
166CFLAGS += -I/usr/include/libnl3
167EOF</userinput></screen>
168
169 <para>
170 If you wish to use <application>WPA Supplicant</application> with
171 <xref linkend="NetworkManager"/>, make sure that you have installed
172 <xref linkend="dbus"/> and <xref linkend="libxml2"/>, then add
173 following options to the <application>WPA Supplicant</application>
174 build configuration file by running the following command:
175 </para>
176
177<screen><userinput>cat &gt;&gt; wpa_supplicant/.config &lt;&lt; "EOF"
178CONFIG_CTRL_IFACE_DBUS=y
179CONFIG_CTRL_IFACE_DBUS_NEW=y
180CONFIG_CTRL_IFACE_DBUS_INTRO=y
181EOF</userinput></screen>
182
183 <para>
184 Install <application>WPA Supplicant</application> by running the
185 following commands:
186 </para>
187
188<screen><userinput>cd wpa_supplicant &amp;&amp;
189make BINDIR=/sbin LIBDIR=/lib</userinput></screen>
190
191 <para>
192 If you have installed <xref linkend="qt"/> and wish to build
193 <application>WPA Supplicant</application> GUI program, run
194 the following commands:
195 </para>
196
197<screen><userinput>pushd wpa_gui-qt4 &amp;&amp;
198qmake wpa_gui.pro &amp;&amp;
199make &amp;&amp;
200popd</userinput></screen>
201
202 <para>
203 This package does not come with a test suite.
204 </para>
205
206 <para>
207 Now, as the <systemitem class="username">root</systemitem>
208 user:
209 </para>
210
211<screen role="root"><userinput>install -v -m755 wpa_{cli,passphrase,supplicant} /sbin &amp;&amp;
212install -v -m644 doc/docbook/wpa_supplicant.conf.5 /usr/share/man/man5 &amp;&amp;
213install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}.8 /usr/share/man/man8</userinput></screen>
214
215 <para>
216 If you have built <application>WPA Supplicant</application> with
217 <application>D-Bus</application> support, you will need to install
218 <application>D-Bus</application> configuration files. Install them
219 by running the following commands as the
220 <systemitem class="username">root</systemitem> user:
221 </para>
222
223<screen role="root"><userinput>install -v -m644 dbus/fi.{epitest.hostap.WPASupplicant,w1.wpa_supplicant1}.service \
224 /usr/share/dbus-1/system-services &amp;&amp;
225install -v -m644 dbus/dbus-wpa_supplicant.conf /etc/dbus-1/system.d/wpa_supplicant.conf</userinput></screen>
226
227 <para>
228 If you have built <application>WPA Supplicant</application> GUI
229 program, install it by running the following commands as the
230 <systemitem class="username">root</systemitem> user:
231 </para>
232
233<screen role="root"><userinput>install -m755 wpa_gui-qt4/wpa_gui /usr/bin/ &amp;&amp;
234install -m644 doc/docbook/wpa_gui.8 /usr/share/man/man8/ &amp;&amp;
235install -m644 wpa_gui-qt4/wpa_gui.desktop /usr/share/applications/ &amp;&amp;
236install -m644 wpa_gui-qt4/icons/wpa_gui.svg /usr/share/pixmaps/</userinput></screen>
237
238 <note>
239 <para>
240 You will need to restart system <application>D-Bus</application> daemon
241 before you can use <application>WPA Supplicant</application>
242 <application>D-Bus</application> interface.
243 </para>
244 </note>
245
246 </sect2>
247
248 <sect2 role="configuration">
249 <title>Configuring wpa_supplicant</title>
250
251 <sect3 id="wpa_supplicant-config">
252 <title>Config File</title>
253 <para><filename>/etc/wpa_supplicant.conf</filename></para>
254
255 <indexterm zone="wpa_supplicant wpa_supplicant-config">
256 <primary
257 sortas="e-etc-wpa_supplicant.conf">/etc/wpa_supplicant.conf</primary>
258 </indexterm>
259 </sect3>
260
261 <sect3>
262 <title>Configuration Information</title>
263
264 <para>
265 To connect to an access point that uses a password you need to put
266 the pre-shared key in <filename>/etc/wpa_supplicant.conf</filename>. Use
267 <command>wpa_passphrase</command> to generate this. SSID is the string
268 that the access point/router transmits to identify itself. As the
269 <systemitem class="username">root</systemitem> user:
270 </para>
271
272<screen role="root"><userinput>wpa_passphrase <replaceable>SSID</replaceable> <replaceable>SECRET_PASSWORD</replaceable> &gt; /etc/wpa_supplicant.conf</userinput></screen>
273
274 <para>
275 <filename>/etc/wpa_supplicant.conf</filename> can hold the details of
276 several access points. When you run <command>wpa_supplicant</command>
277 it will scan for the SSIDs it can see and choose the appropriate
278 password to connect.
279 </para>
280
281 <para>
282 If you want to connect to an access point that isn't password
283 protected, put an entry like this in
284 <filename>/etc/wpa_supplicant.conf</filename>. Replace
285 "Some-SSID" with the SSID of the access point/router.
286 </para>
287
288<screen>network={
289 ssid="<replaceable>Some-SSID</replaceable>"
290 key_mgmt=NONE
291}</screen>
292
293 <para>
294 There are many options that you could use to tweak how you connect
295 to each access point. They are described in some detail in the
296 <filename>wpa_supplicant/wpa_supplicant.conf</filename> file in the
297 source tree.
298 </para>
299
300 <para>
301 To use <command>wpa_cli</command> to control the running
302 <command>>wpa_supplicant</command> daemon, add a control interface to
303 <filename>/etc/wpa_supplicant.conf</filename> as the
304 <systemitem class="username">root</systemitem> user:
305 </para>
306
307<screen role="root"><userinput>echo ctrl_interface=/run/wpa_supplicant &gt;&gt; /etc/wpa_supplicant.conf</userinput></screen>
308 </sect3>
309
310 <sect3>
311 <title>Connecting to an Access Point</title>
312
313 <para>
314 If your router/access point uses DHCP to allocate IP addresses you
315 can install <xref linkend="dhcpcd"/> and use it to connect. As the
316 <systemitem class="username">root</systemitem> user:
317 </para>
318
319<screen role="root"><userinput>wpa_supplicant -B -c/etc/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
320sleep 2 # let it settle
321dhcpcd</userinput></screen>
322
323 <para>
324 Alternatively, you can use static addresses on your local network.
325 This has the advantage that you can put the hostnames in
326 <filename>/etc/hosts</filename>. Replace 192.168.1.6 with the static
327 address you've chosen. Replace 192.168.1.1 with the local IP address of
328 the access point/router. Run the following commands as the
329 <systemitem class="username">root</systemitem> user:
330 </para>
331
332<screen role="root"><userinput>ip addr add 192.168.1.6 dev wlan0
333ip link set wlan0 up
334wpa_supplicant -B -c/etc/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
335ip route add 192.168.1.1 dev wlan0
336ip route add default via 192.168.1.1 dev wlan0</userinput></screen>
337
338 </sect3>
339 </sect2>
340
341 <sect2 role="content">
342 <title>Contents</title>
343
344 <segmentedlist>
345 <segtitle>Installed Programs</segtitle>
346
347 <seglistitem>
348 <seg>
349 wpa_gui, wpa_supplicant, wpa_passphrase and wpa_cli
350 </seg>
351 </seglistitem>
352 </segmentedlist>
353
354 <variablelist>
355 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
356 <?dbfo list-presentation="list"?>
357 <?dbhtml list-presentation="table"?>
358
359 <varlistentry id="wpa_gui">
360 <term><command>wpa_gui</command></term>
361 <listitem>
362 <para>
363 is a graphical frontend program for interacting with
364 <application>wpa_supplicant</application>.
365 </para>
366 <indexterm zone="wpa_supplicant wpa_gui">
367 <primary sortas="b-wpa_gui">wpa_gui</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="wpa_supplicant-prog">
373 <term><command>wpa_supplicant</command></term>
374 <listitem>
375 <para>
376 is a daemon that can connect to a password protected wireless
377 access point.
378 </para>
379 <indexterm zone="wpa_supplicant wpa_supplicant-prog">
380 <primary sortas="b-wpa_supplicant">wpa_supplicant</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry id="wpa_passphrase">
386 <term><command>wpa_passphrase</command></term>
387 <listitem>
388 <para>
389 takes an SSID and a password and generates a simple
390 configuration that <command>wpa_supplicant</command> can
391 understand.
392 </para>
393 <indexterm zone="wpa_supplicant wpa_passphrase">
394 <primary sortas="b-wpa_passphrase">wpa_passphrase</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry id="wpa_cli">
400 <term><command>wpa_cli</command></term>
401 <listitem>
402 <para>
403 is a command line interface used to control a running
404 <command>wpa_supplicant</command> daemon.
405 </para>
406 <indexterm zone="wpa_supplicant wpa_cli">
407 <primary sortas="b-wpa_cli">wpa_cli</primary>
408 </indexterm>
409 </listitem>
410 </varlistentry>
411
412 </variablelist>
413
414 </sect2>
415
416</sect1>
Note: See TracBrowser for help on using the repository browser.