source: general/sysutils/bluez.xml@ 1dd1887

10.0 10.1 11.0 11.1 11.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus perl-modules plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since 1dd1887 was 1dd1887, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Update to tripwire-2.4.3.7.
Update to unrar-5.6.2.
Update to libidn-1.34.
Update to fuse-3.2.2.
Start obexd on bluez page.

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

  • Property mode set to 100644
File size: 14.9 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 bluez-download-http "&kernel-dl;/linux/bluetooth/bluez-&bluez-version;.tar.xz">
8 <!ENTITY bluez-download-ftp " ">
9 <!ENTITY bluez-md5sum "f210e84db707d66af3b889084a6f8bef">
10 <!ENTITY bluez-size "1.7 MB">
11 <!ENTITY bluez-buildsize "57 MB (add 13 MB for tests)">
12 <!ENTITY bluez-time "0.1 SBU (using parallelism=4; add 0.2 SBU for tests)">
13]>
14
15<sect1 id="bluez" xreflabel="BlueZ-&bluez-version;">
16 <?dbhtml filename="bluez.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>BlueZ-&bluez-version;</title>
24
25 <indexterm zone="bluez">
26 <primary sortas="a-BlueZ">BlueZ</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to BlueZ</title>
31
32 <para>
33 The <application>BlueZ</application> package contains the
34 Bluetooth protocol stack for Linux.
35 </para>
36
37 &lfs82_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&bluez-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&bluez-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &bluez-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &bluez-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &bluez-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &bluez-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3" revision="sysv">Additional Downloads</bridgehead>
74 <itemizedlist spacing="compact" revision="sysv">
75 <listitem>
76 <para>
77 Optional patch (required to work properly with gnome-bluetooth
78 and/or kde bluedevil):
79 <ulink url="&patch-root;/bluez-&bluez-version;-obexd_without_systemd-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
83
84 <bridgehead renderas="sect3">BlueZ Dependencies</bridgehead>
85
86 <bridgehead renderas="sect4">Required</bridgehead>
87 <para role="required">
88 <xref linkend="dbus"/>,
89 <xref linkend="glib2"/>, and
90 <xref linkend="libical"/>
91 </para>
92
93 <para condition="html" role="usernotes">
94 User Notes: <ulink url="&blfs-wiki;/bluez"/>
95 </para>
96 </sect2>
97
98
99 <sect2 role="kernel" id="bluez-kernel">
100 <title>Kernel Configuration</title>
101
102 <para>
103 If you are building this package to use bluetooth devices (rather than as a
104 build dependency), enable the following options in the kernel configuration,
105 also the options below the next paragraph if you intend to run the tests,
106 and recompile the kernel if necessary:
107 </para>
108
109<screen><literal>[*] Networking support ---&gt; [CONFIG_NET]
110 &lt;/M&gt; Bluetooth subsystem support ---&gt; [CONFIG_BT]
111 &lt;*/M&gt; RFCOMM protocol support [CONFIG_BT_RFCOMM]
112 [*] RFCOMM TTY support [CONFIG_BT_RFCOMM_TTY]
113 &lt;*/M&gt; BNEP protocol support [CONFIG_BT_BNEP]
114 [*] Multicast filter support [CONFIG_BT_BNEP_MC_FILTER]
115 [*] Protocol filter support [CONFIG_BT_BNEP_PROTO_FILTER]
116 &lt;*/M&gt; HIDP protocol support [CONFIG_BT_HIDP]
117 Bluetooth device drivers ---&gt;
118 (Select the appropriate drivers for your Bluetooth hardware)
119
120 &lt;*/M&gt; RF switch subsystem support ---&gt; [CONFIG_RFKILL]</literal></screen>
121
122 <para>
123 If you wish to run the testsuite (even if treating this package as a build
124 dependency), you will need to enable the following options in the kernel
125 configuration and recompile the kernel if necessary:
126 </para>
127
128<screen><literal>[*] Networking support ---&gt; [CONFIG_NET]
129-*- Cryptographic API ---&gt; [CONFIG_CRYPTO]
130 &lt;/M&gt; User-space interface for hash algorithms [CONFIG_CRYPTO_USER_API_HASH]
131 &lt;/M&gt; User-space interface for symmetric key cipher algorithms [CONFIG_CRYPTO_USER_API_SKCIPHER]</literal></screen>
132
133 <indexterm zone="bluez bluez-kernel">
134 <primary sortas="d-bluez">bluez</primary>
135 </indexterm>
136 </sect2>
137
138 <sect2 role="installation">
139 <title>Installation of BlueZ</title>
140
141 <para revision="sysv">
142 If you are going to use <application>BlueZ</application> with
143 gnome-bluetooth and/or kde bluedevil, apply the following patch:
144 </para>
145
146<screen revision="sysv"><userinput>patch -Np1 -i ../bluez-&bluez-version;-obexd_without_systemd-1.patch</userinput></screen>
147
148 <para>
149 Install <application>BlueZ</application> by running the following
150 commands:
151 </para>
152
153<screen revision="sysv"><userinput>./configure --prefix=/usr \
154 --sysconfdir=/etc \
155 --localstatedir=/var \
156 --enable-library \
157 --disable-systemd &amp;&amp;
158make</userinput></screen>
159
160<screen revision="systemd"><userinput>./configure --prefix=/usr \
161 --sysconfdir=/etc \
162 --localstatedir=/var \
163 --enable-library &amp;&amp;
164make</userinput></screen>
165
166 <para>
167 To test the results, issue: <userinput>make check</userinput>.
168 </para>
169
170 <para>
171 Now, as the <systemitem class="username">root</systemitem> user:
172 </para>
173
174<screen role="root"><userinput>make install &amp;&amp;
175ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</userinput></screen>
176
177 <para>
178 Install the main configuration file as the
179 <systemitem class="username">root</systemitem> user:
180 </para>
181
182<screen role="root"><userinput>install -v -dm755 /etc/bluetooth &amp;&amp;
183install -v -m644 src/main.conf /etc/bluetooth/main.conf</userinput></screen>
184
185 <para>
186 If desired, install the API documentation as the
187 <systemitem class="username">root</systemitem> user:
188 </para>
189
190<screen role="root"><userinput>install -v -dm755 /usr/share/doc/bluez-&bluez-version; &amp;&amp;
191install -v -m644 doc/*.txt /usr/share/doc/bluez-&bluez-version;</userinput></screen>
192
193 </sect2>
194
195
196 <sect2 role="commands">
197 <title>Command Explanations</title>
198
199 <para>
200 <parameter>--enable-library</parameter>: This switch enables building the
201 <application>BlueZ</application> 4 compatibility library which is required by
202 some applications.
203 </para>
204
205 <para revision="sysv">
206 <parameter>--disable-systemd</parameter>: This switch is needed because
207 <application>systemd</application> is not part of LFS/BLFS. If you are
208 using systemd, remove this switch.
209 </para>
210
211 <para>
212 <command>ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</command>:
213 This command makes access to the bluetooth daemon more convenient.
214 </para>
215
216 </sect2>
217
218 <sect2 role="configuration">
219 <title>Configuring BlueZ</title>
220
221 <sect3 id="bluez-config">
222 <title>Configuration Files</title>
223 <para>
224 <filename>/etc/bluetooth/main.conf</filename> is installed automatically
225 during the install. Additionally, there are three supplementary
226 configuration files. /etc/sysconfig/bluetooth is installed as a part
227 of the boot script below. In addition, you optionally can install the
228 following, as the <systemitem class="username">root</systemitem> user:
229 </para>
230
231<screen role="root"><userinput>cat > /etc/bluetooth/rfcomm.conf &lt;&lt; "EOF"</userinput>
232<literal># Start rfcomm.conf
233# Set up the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel.
234# Use one line per command
235# See the rfcomm man page for options
236
237
238# End of rfcomm.conf</literal>
239EOF</screen>
240
241<screen role="root"><userinput>cat > /etc/bluetooth/uart.conf &lt;&lt; "EOF"</userinput>
242<literal># Start uart.conf
243# Attach serial devices via UART HCI to BlueZ stack
244# Use one line per device
245# See the hciattach man page for options
246
247# End of uart.conf</literal>
248EOF</screen>
249
250 <indexterm zone="bluez bluez-config">
251 <primary
252 sortas="e-etc-bluetooth-main.conf">/etc/bluetooth/main.conf</primary>
253 </indexterm>
254
255 </sect3>
256
257 <sect3 id="bluez-init">
258 <title><phrase revision="sysv">Boot Script</phrase>
259 <phrase revision="systemd">Systemd Bluez Services</phrase></title>
260
261 <para revision="sysv">
262 To automatically start the <command>bluetoothd</command> daemon when the
263 system is rebooted, install the
264 <filename>/etc/rc.d/init.d/bluetooth</filename> bootscript from the
265 <xref linkend="bootscripts"/> package.
266 </para>
267
268 <para revision="systemd">
269 To start the <command>bluetoothd</command> daemon at boot,
270 enable the previously installed systemd unit by
271 running the following command as the
272 <systemitem class="username">root</systemitem> user:
273 </para>
274
275<screen role="root" revision="systemd"><userinput>systemctl enable bluetooth</userinput></screen>
276
277 <para revision="systemd">
278 To start the <command>obexd</command> daemon for a user session (to
279 support some Bluetooth programs using it), enable the previously
280 installed systemd unit for all users by running the following command
281 as the <systemitem class="username">root</systemitem> user:
282 </para>
283
284<screen role="root" revision="systemd"><userinput>systemctl enable --global obex</userinput></screen>
285
286 <indexterm zone="bluez bluez-init">
287 <primary sortas="f-bluetooth">bluetooth</primary>
288 </indexterm>
289
290<screen role="root" revision="sysv"><userinput>make install-bluetooth</userinput></screen>
291
292
293 <note revision="systemd">
294 <para>
295 <application>Systemd</application> will start the Bluetooth daemon
296 only when a bluetooth device is detected on the system.
297 </para>
298 </note>
299
300 </sect3>
301
302 </sect2>
303
304 <sect2 role="content">
305 <title>Contents</title>
306
307 <segmentedlist>
308 <segtitle>Installed Programs</segtitle>
309 <segtitle>Installed Library</segtitle>
310 <segtitle>Installed Directories</segtitle>
311
312 <seglistitem>
313 <seg>
314 bccmd,
315 bluemoon,
316 bluetoothctl,
317 bluetoothd (symlink),
318 btattach,
319 btmon,
320 hex2hcd,
321 l2ping,
322 l2test,
323 mpris-proxy, and
324 rctest
325 </seg>
326 <seg>
327 libbluetooth.so
328 </seg>
329 <seg>
330 /etc/bluetooth,
331 /usr/{include,libexec}/bluetooth, and
332 /usr/share/doc/bluez-&bluez-version;
333 </seg>
334 </seglistitem>
335 </segmentedlist>
336
337 <variablelist>
338 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
339 <?dbfo list-presentation="list"?>
340 <?dbhtml list-presentation="table"?>
341
342 <varlistentry id="bccmd">
343 <term><command>bccmd</command></term>
344 <listitem>
345 <para>
346 is used to issue BlueCore commands to Cambridge Silicon
347 Radio devices.
348 </para>
349 <indexterm zone="bluez bccmd">
350 <primary sortas="b-bccmd">bccmd</primary>
351 </indexterm>
352 </listitem>
353 </varlistentry>
354
355 <varlistentry id="bluemoon">
356 <term><command>bluemoon</command></term>
357 <listitem>
358 <para>
359 is a Bluemoon configuration utility.
360 </para>
361 <indexterm zone="bluez bluemoon">
362 <primary sortas="b-bluemoon">bluemoon</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry id="bluetoothctl">
368 <term><command>bluetoothctl</command></term>
369 <listitem>
370 <para>
371 is the interactive Bluetooth control program.
372 </para>
373 <indexterm zone="bluez bluetoothctl">
374 <primary sortas="b-bluetoothctl">bluetoothctl</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="bluetoothd">
380 <term><command>bluetoothd</command></term>
381 <listitem>
382 <para>
383 is the Bluetooth daemon.
384 </para>
385 <indexterm zone="bluez bluetoothd">
386 <primary sortas="b-bluetoothd">bluetoothd</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 <varlistentry id="btmon">
392 <term><command>btmon</command></term>
393 <listitem>
394 <para>
395 provides access to the Bluetooth subsystem monitor
396 infrastructure for reading HCI traces.
397 </para>
398 <indexterm zone="bluez btmon">
399 <primary sortas="b-btmon">btmon</primary>
400 </indexterm>
401 </listitem>
402 </varlistentry>
403
404
405 <varlistentry id="hex2hcd">
406 <term><command>hex2hcd</command></term>
407 <listitem>
408 <para>
409 is used to convert a file needed by Broadcom devices
410 to hcd (Broadcom bluetooth firmware) format.
411 </para>
412 <indexterm zone="bluez hex2hcd">
413 <primary sortas="b-hex2hcd">hex2hcd</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="l2ping">
419 <term><command>l2ping</command></term>
420 <listitem>
421 <para>
422 is used to send a L2CAP echo request to the Bluetooth MAC
423 address given in dotted hex notation.
424 </para>
425 <indexterm zone="bluez l2ping">
426 <primary sortas="b-l2ping">l2ping</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 <varlistentry id="l2test">
432 <term><command>l2test</command></term>
433 <listitem>
434 <para>
435 is a L2CAP testing program.
436 </para>
437 <indexterm zone="bluez l2test">
438 <primary sortas="b-l2test">l2test</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="rctest">
444 <term><command>rctest</command></term>
445 <listitem>
446 <para>
447 is used to test RFCOMM communications on the
448 Bluetooth stack.
449 </para>
450 <indexterm zone="bluez rctest">
451 <primary sortas="b-rctest">rctest</primary>
452 </indexterm>
453 </listitem>
454 </varlistentry>
455
456 <varlistentry id="libbluetooth">
457 <term><filename class="libraryfile">libbluetooth.so</filename></term>
458 <listitem>
459 <para>
460 contains the <application>BlueZ</application> 4 API functions.
461 </para>
462 <indexterm zone="bluez libbluetooth">
463 <primary sortas="c-libbluetooth">libbluetooth.so</primary>
464 </indexterm>
465 </listitem>
466 </varlistentry>
467 </variablelist>
468
469 </sect2>
470
471</sect1>
Note: See TracBrowser for help on using the repository browser.