source: networking/netprogs/wpa_supplicant.xml@ 2946338a

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 2946338a was 2946338a, checked in by Randy McMurchy <randy@…>, 11 years ago

Added gtk-update-icon-cache and update-desktop-database commands to various packages

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

  • Property mode set to 100644
File size: 14.2 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 "3be2ebfdcced52e00eda0afe2889839d">
11 <!ENTITY wpa_supplicant-size "2.0 MB">
12 <!ENTITY wpa_supplicant-buildsize "32 MB">
13 <!ENTITY wpa_supplicant-time "0.2 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 the
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 the <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> user:
208 </para>
209
210<screen role="root"><userinput>install -v -m755 wpa_{cli,passphrase,supplicant} \
211 /sbin &amp;&amp;
212install -v -m644 doc/docbook/wpa_supplicant.conf.5 \
213 /usr/share/man/man5 &amp;&amp;
214install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}.8 \
215 /usr/share/man/man8</userinput></screen>
216
217 <para>
218 If you have built <application>WPA Supplicant</application> with
219 <application>D-Bus</application> support, you will need to install
220 <application>D-Bus</application> configuration files. Install them
221 by running the following commands as the
222 <systemitem class="username">root</systemitem> user:
223 </para>
224
225<screen role="root"><userinput>install -v -m644 dbus/fi.{epitest.hostap.WPASupplicant,w1.wpa_supplicant1}.service \
226 /usr/share/dbus-1/system-services &amp;&amp;
227install -v -m644 dbus/dbus-wpa_supplicant.conf \
228 /etc/dbus-1/system.d/wpa_supplicant.conf</userinput></screen>
229
230 <para>
231 If you have built the <application>WPA Supplicant</application> GUI
232 program, install it by running the following commands as the
233 <systemitem class="username">root</systemitem> user:
234 </para>
235
236<screen role="root"><userinput>
237install -v -m755 wpa_gui-qt4/wpa_gui /usr/bin/ &amp;&amp;
238install -v -m644 doc/docbook/wpa_gui.8 /usr/share/man/man8/ &amp;&amp;
239install -v -m644 wpa_gui-qt4/wpa_gui.desktop /usr/share/applications/ &amp;&amp;
240install -v -m644 wpa_gui-qt4/icons/wpa_gui.svg /usr/share/pixmaps/</userinput></screen>
241
242 <note>
243 <para>
244 You will need to restart the system <application>D-Bus</application> daemon
245 before you can use the <application>WPA Supplicant</application>
246 <application>D-Bus</application> interface.
247 </para>
248 </note>
249
250 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
251 href="../../xincludes/update-desktop-database.xml"/>
252 </sect2>
253
254 <sect2 role="configuration">
255 <title>Configuring wpa_supplicant</title>
256
257 <sect3 id="wpa_supplicant-config">
258 <title>Config File</title>
259 <para><filename>/etc/wpa_supplicant.conf</filename></para>
260
261 <indexterm zone="wpa_supplicant wpa_supplicant-config">
262 <primary
263 sortas="e-etc-wpa_supplicant.conf">/etc/wpa_supplicant.conf</primary>
264 </indexterm>
265 </sect3>
266
267 <sect3>
268 <title>Configuration Information</title>
269
270 <para>
271 To connect to an access point that uses a password, you need to put
272 the pre-shared key in <filename>/etc/wpa_supplicant.conf</filename>. Use
273 <command>wpa_passphrase</command> to generate this. SSID is the string
274 that the access point/router transmits to identify itself. As the
275 <systemitem class="username">root</systemitem> user:
276 </para>
277
278<screen role="root"><userinput>wpa_passphrase <replaceable>SSID</replaceable> <replaceable>SECRET_PASSWORD</replaceable> &gt; /etc/wpa_supplicant.conf</userinput></screen>
279
280 <para>
281 <filename>/etc/wpa_supplicant.conf</filename> can hold the details of
282 several access points. When you run <command>wpa_supplicant</command>
283 it will scan for the SSIDs it can see and choose the appropriate
284 password to connect.
285 </para>
286
287 <para>
288 If you want to connect to an access point that isn't password
289 protected, put an entry like this in
290 <filename>/etc/wpa_supplicant.conf</filename>. Replace
291 "Some-SSID" with the SSID of the access point/router.
292 </para>
293
294<screen>network={
295 ssid="<replaceable>Some-SSID</replaceable>"
296 key_mgmt=NONE
297}</screen>
298
299 <para>
300 There are many options that you could use to tweak how you connect
301 to each access point. They are described in some detail in the
302 <filename>wpa_supplicant/wpa_supplicant.conf</filename> file in the
303 source tree.
304 </para>
305
306 <para>
307 To use <command>wpa_cli</command> to control the running
308 <command>>wpa_supplicant</command> daemon, add a control interface to
309 <filename>/etc/wpa_supplicant.conf</filename> as the
310 <systemitem class="username">root</systemitem> user:
311 </para>
312
313<screen role="root"><userinput>echo ctrl_interface=/run/wpa_supplicant &gt;&gt; /etc/wpa_supplicant.conf</userinput></screen>
314 </sect3>
315
316 <sect3>
317 <title>Connecting to an Access Point</title>
318
319 <para>
320 If your router/access point uses DHCP to allocate IP addresses you
321 can install <xref linkend="dhcpcd"/> and use it to connect. As the
322 <systemitem class="username">root</systemitem> user:
323 </para>
324
325<screen role="root"><userinput>wpa_supplicant -B -c/etc/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
326sleep 2 # let it settle
327dhcpcd</userinput></screen>
328
329 <para>
330 Alternatively, you can use static addresses on your local network.
331 This has the advantage that you can put the hostnames in
332 <filename>/etc/hosts</filename>. Replace 192.168.1.6 with the static
333 address you've chosen. Replace 192.168.1.1 with the local IP address of
334 the access point/router. Run the following commands as the
335 <systemitem class="username">root</systemitem> user:
336 </para>
337
338<screen role="root"><userinput>ip addr add 192.168.1.6 dev wlan0
339ip link set wlan0 up
340wpa_supplicant -B -c/etc/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
341ip route add 192.168.1.1 dev wlan0
342ip route add default via 192.168.1.1 dev wlan0</userinput></screen>
343
344 </sect3>
345 </sect2>
346
347 <sect2 role="content">
348 <title>Contents</title>
349
350 <segmentedlist>
351 <segtitle>Installed Programs</segtitle>
352 <segtitle>Installed Libraries</segtitle>
353 <segtitle>Installed Directories</segtitle>
354
355 <seglistitem>
356 <seg>
357 wpa_gui, wpa_supplicant, wpa_passphrase and wpa_cli
358 </seg>
359 <seg>
360 None
361 </seg>
362 <seg>
363 None
364 </seg>
365 </seglistitem>
366 </segmentedlist>
367
368 <variablelist>
369 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
370 <?dbfo list-presentation="list"?>
371 <?dbhtml list-presentation="table"?>
372
373 <varlistentry id="wpa_gui">
374 <term><command>wpa_gui</command></term>
375 <listitem>
376 <para>
377 is a graphical frontend program for interacting with
378 <application>wpa_supplicant</application>.
379 </para>
380 <indexterm zone="wpa_supplicant wpa_gui">
381 <primary sortas="b-wpa_gui">wpa_gui</primary>
382 </indexterm>
383 </listitem>
384 </varlistentry>
385
386 <varlistentry id="wpa_supplicant-prog">
387 <term><command>wpa_supplicant</command></term>
388 <listitem>
389 <para>
390 is a daemon that can connect to a password protected wireless
391 access point.
392 </para>
393 <indexterm zone="wpa_supplicant wpa_supplicant-prog">
394 <primary sortas="b-wpa_supplicant">wpa_supplicant</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry id="wpa_passphrase">
400 <term><command>wpa_passphrase</command></term>
401 <listitem>
402 <para>
403 takes an SSID and a password and generates a simple
404 configuration that <command>wpa_supplicant</command> can
405 understand.
406 </para>
407 <indexterm zone="wpa_supplicant wpa_passphrase">
408 <primary sortas="b-wpa_passphrase">wpa_passphrase</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="wpa_cli">
414 <term><command>wpa_cli</command></term>
415 <listitem>
416 <para>
417 is a command line interface used to control a running
418 <command>wpa_supplicant</command> daemon.
419 </para>
420 <indexterm zone="wpa_supplicant wpa_cli">
421 <primary sortas="b-wpa_cli">wpa_cli</primary>
422 </indexterm>
423 </listitem>
424 </varlistentry>
425
426 </variablelist>
427
428 </sect2>
429
430</sect1>
Note: See TracBrowser for help on using the repository browser.