source: general/sysutils/bluez.xml@ e8aa56dd

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since e8aa56dd was e8aa56dd, checked in by Douglas R. Reno <renodr@…>, 3 years ago

Update to bluez-5.59

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