source: general/sysutils/bluez.xml@ 78a15b4

10.0 10.1 11.0 11.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus perl-modules qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since 78a15b4 was 78a15b4, checked in by Bruce Dubbs <bdubbs@…>, 4 years ago

Update to libuv-1.19.0.
Update to libdvdread-6.0.0.
Update to libdvdnav-6.0.0.
Update bluez installed packages.

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

  • Property mode set to 100644
File size: 14.4 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 "c9c853f3c90564cabec75ab35106c355">
10 <!ENTITY bluez-size "1.7 MB">
11 <!ENTITY bluez-buildsize "57 MB (add 13 MB for tests)">
12 <!ENTITY bluez-time "0.5 SBU (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 &lfs81_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">Additional Downloads</bridgehead>
74 <itemizedlist spacing="compact">
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>
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><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 Socket</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 <indexterm zone="bluez bluez-init">
276 <primary sortas="f-bluetooth">bluetooth</primary>
277 </indexterm>
278
279<screen role="root" revision="sysv"><userinput>make install-bluetooth</userinput></screen>
280
281<screen role="root" revision="systemd"><userinput>systemctl enable bluetooth</userinput></screen>
282
283 <note revision="systemd">
284 <para>
285 <application>Systemd</application> will start the Bluetooth daemon
286 only when a bluetooth device is detected on the system.
287 </para>
288 </note>
289
290 </sect3>
291
292 </sect2>
293
294 <sect2 role="content">
295 <title>Contents</title>
296
297 <segmentedlist>
298 <segtitle>Installed Programs</segtitle>
299 <segtitle>Installed Library</segtitle>
300 <segtitle>Installed Directories</segtitle>
301
302 <seglistitem>
303 <seg>
304 bccmd,
305 bluemoon,
306 bluetoothctl,
307 bluetoothd (symlink),
308 btattach,
309 btmon,
310 hex2hcd,
311 l2ping,
312 l2test,
313 mpris-proxy, and
314 rctest
315 </seg>
316 <seg>
317 libbluetooth.so
318 </seg>
319 <seg>
320 /etc/bluetooth,
321 /usr/{include,libexec}/bluetooth, and
322 /usr/share/doc/bluez-&bluez-version;
323 </seg>
324 </seglistitem>
325 </segmentedlist>
326
327 <variablelist>
328 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
329 <?dbfo list-presentation="list"?>
330 <?dbhtml list-presentation="table"?>
331
332 <varlistentry id="bccmd">
333 <term><command>bccmd</command></term>
334 <listitem>
335 <para>
336 is used to issue BlueCore commands to Cambridge Silicon
337 Radio devices.
338 </para>
339 <indexterm zone="bluez bccmd">
340 <primary sortas="b-bccmd">bccmd</primary>
341 </indexterm>
342 </listitem>
343 </varlistentry>
344
345 <varlistentry id="bluemoon">
346 <term><command>bluemoon</command></term>
347 <listitem>
348 <para>
349 is a Bluemoon configuration utility.
350 </para>
351 <indexterm zone="bluez bluemoon">
352 <primary sortas="b-bluemoon">bluemoon</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="bluetoothctl">
358 <term><command>bluetoothctl</command></term>
359 <listitem>
360 <para>
361 is the interactive Bluetooth control program.
362 </para>
363 <indexterm zone="bluez bluetoothctl">
364 <primary sortas="b-bluetoothctl">bluetoothctl</primary>
365 </indexterm>
366 </listitem>
367 </varlistentry>
368
369 <varlistentry id="bluetoothd">
370 <term><command>bluetoothd</command></term>
371 <listitem>
372 <para>
373 is the Bluetooth daemon.
374 </para>
375 <indexterm zone="bluez bluetoothd">
376 <primary sortas="b-bluetoothd">bluetoothd</primary>
377 </indexterm>
378 </listitem>
379 </varlistentry>
380
381 <varlistentry id="btmon">
382 <term><command>btmon</command></term>
383 <listitem>
384 <para>
385 provides access to the Bluetooth subsystem monitor
386 infrastructure for reading HCI traces.
387 </para>
388 <indexterm zone="bluez btmon">
389 <primary sortas="b-btmon">btmon</primary>
390 </indexterm>
391 </listitem>
392 </varlistentry>
393
394
395 <varlistentry id="hex2hcd">
396 <term><command>hex2hcd</command></term>
397 <listitem>
398 <para>
399 is used to convert a file needed by Broadcom devices
400 to hcd (Broadcom bluetooth firmware) format.
401 </para>
402 <indexterm zone="bluez hex2hcd">
403 <primary sortas="b-hex2hcd">hex2hcd</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
408 <varlistentry id="l2ping">
409 <term><command>l2ping</command></term>
410 <listitem>
411 <para>
412 is used to send a L2CAP echo request to the Bluetooth MAC
413 address given in dotted hex notation.
414 </para>
415 <indexterm zone="bluez l2ping">
416 <primary sortas="b-l2ping">l2ping</primary>
417 </indexterm>
418 </listitem>
419 </varlistentry>
420
421 <varlistentry id="l2test">
422 <term><command>l2test</command></term>
423 <listitem>
424 <para>
425 is a L2CAP testing program.
426 </para>
427 <indexterm zone="bluez l2test">
428 <primary sortas="b-l2test">l2test</primary>
429 </indexterm>
430 </listitem>
431 </varlistentry>
432
433 <varlistentry id="rctest">
434 <term><command>rctest</command></term>
435 <listitem>
436 <para>
437 is used to test RFCOMM communications on the
438 Bluetooth stack.
439 </para>
440 <indexterm zone="bluez rctest">
441 <primary sortas="b-rctest">rctest</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445
446 <varlistentry id="libbluetooth">
447 <term><filename class="libraryfile">libbluetooth.so</filename></term>
448 <listitem>
449 <para>
450 contains the <application>BlueZ</application> 4 API functions.
451 </para>
452 <indexterm zone="bluez libbluetooth">
453 <primary sortas="c-libbluetooth">libbluetooth.so</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457 </variablelist>
458
459 </sect2>
460
461</sect1>
Note: See TracBrowser for help on using the repository browser.