source: general/sysutils/bluez.xml@ 11ac8ee0

11.0 11.1 lazarus qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since 11ac8ee0 was 11ac8ee0, checked in by Bruce Dubbs <bdubbs@…>, 10 months ago

Tagit

  • Property mode set to 100644
File size: 16.6 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 "a4c98b6bd2411880cba5930e7f10a1c4">
10 <!ENTITY bluez-size "2.0 MB">
11 <!ENTITY bluez-buildsize "64 MB (add 76 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 <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 &lfs110a_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" revision="sysv">Additional Downloads</bridgehead>
73 <itemizedlist spacing="compact" revision="sysv">
74 <listitem>
75 <para>
76 Required patch:
77 <ulink url="&patch-root;/bluez-&bluez-version;-obexd_without_systemd-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 <xref linkend="docutils"/> (to generate man pages)
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 At first, fix an issue building the package with Glibc-2.34 or later:
161 </para>
162
163<screen><userinput>sed 's/pause(/bluez_&amp;/' -i profiles/audio/media.c</userinput></screen>
164
165 <para revision="sysv">Now, make some changes needed for SystemV systems:</para>
166
167<screen revision="sysv"><userinput>patch -Npi -i ../bluez-&bluez-version;-obexd_without_systemd-1.patch</userinput></screen>
168
169 <para>
170 Install <application>BlueZ</application> by running the following
171 commands:
172 </para>
173
174<screen revision="sysv"><userinput>./configure --prefix=/usr \
175 --sysconfdir=/etc \
176 --localstatedir=/var \
177 --enable-library \
178 --disable-manpages \
179 --disable-systemd &amp;&amp;
180make</userinput></screen>
181
182<screen revision="systemd"><userinput>./configure --prefix=/usr \
183 --sysconfdir=/etc \
184 --localstatedir=/var \
185 --disable-manpages \
186 --enable-library &amp;&amp;
187make</userinput></screen>
188
189 <para>
190 To test the results, issue: <userinput>make check</userinput>.
191 </para>
192
193 <para>
194 Now, as the <systemitem class="username">root</systemitem> user:
195 </para>
196
197<screen role="root"><userinput>make install &amp;&amp;
198ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</userinput></screen>
199
200 <para>
201 Install the main configuration file as the
202 <systemitem class="username">root</systemitem> user:
203 </para>
204
205<screen role="root"><userinput>install -v -dm755 /etc/bluetooth &amp;&amp;
206install -v -m644 src/main.conf /etc/bluetooth/main.conf</userinput></screen>
207
208 <para>
209 If desired, install the API documentation as the
210 <systemitem class="username">root</systemitem> user:
211 </para>
212
213<screen role="root"><userinput>install -v -dm755 /usr/share/doc/bluez-&bluez-version; &amp;&amp;
214install -v -m644 doc/*.txt /usr/share/doc/bluez-&bluez-version;</userinput></screen>
215
216 </sect2>
217
218
219 <sect2 role="commands">
220 <title>Command Explanations</title>
221
222 <para>
223 <parameter>--disable-manpages</parameter>: This switch disables generating
224 the manual pages because of the reliance on 'rst2man' in docutils. Remove
225 this switch if you have <xref role="nodep" linkend="docutils"/> installed
226 and wish to generate the manual pages.
227 </para>
228
229 <para>
230 <parameter>--enable-library</parameter>: This switch enables building the
231 <application>BlueZ</application> 4 compatibility library which is required by
232 some applications.
233 </para>
234
235 <para revision="sysv">
236 <parameter>--disable-systemd</parameter>: This switch is needed because
237 <application>systemd</application> is not part of LFS/BLFS. If you are
238 using systemd, remove this switch.
239 </para>
240
241 <para>
242 <command>ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</command>:
243 This command makes access to the bluetooth daemon more convenient.
244 </para>
245
246 </sect2>
247
248 <sect2 role="configuration">
249 <title>Configuring BlueZ</title>
250
251 <sect3 id="bluez-config">
252 <title>Configuration Files</title>
253 <para revision="sysv">
254 <filename>/etc/bluetooth/main.conf</filename> is installed automatically
255 during the install. Additionally, there are three supplementary
256 configuration files. /etc/sysconfig/bluetooth is installed as a part
257 of the boot script below. In addition, you optionally can install the
258 following, as the <systemitem class="username">root</systemitem> user:
259 </para>
260
261 <para revision="systemd">
262 <filename>/etc/bluetooth/mail.conf</filename> is installed automatically
263 during the installation. Additionally, there are two supplementary
264 configuration files. In addition, you can optionally install the
265 following files, as the <systemitem class="username">root</systemitem>
266 user:
267 </para>
268
269<screen role="root"><userinput>cat > /etc/bluetooth/rfcomm.conf &lt;&lt; "EOF"</userinput>
270<literal># Start rfcomm.conf
271# Set up the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel.
272# Use one line per command
273# See the rfcomm man page for options
274
275
276# End of rfcomm.conf</literal>
277EOF</screen>
278
279<screen role="root"><userinput>cat > /etc/bluetooth/uart.conf &lt;&lt; "EOF"</userinput>
280<literal># Start uart.conf
281# Attach serial devices via UART HCI to BlueZ stack
282# Use one line per device
283# See the hciattach man page for options
284
285# End of uart.conf</literal>
286EOF</screen>
287
288 <indexterm zone="bluez bluez-config">
289 <primary
290 sortas="e-etc-bluetooth-main.conf">/etc/bluetooth/main.conf</primary>
291 </indexterm>
292
293 </sect3>
294
295 <sect3 id="bluez-init">
296 <title><phrase revision="sysv">Boot Script</phrase>
297 <phrase revision="systemd">Systemd Bluez Services</phrase></title>
298
299 <para revision="sysv">
300 To automatically start the <command>bluetoothd</command> daemon when the
301 system is rebooted, install the
302 <filename>/etc/rc.d/init.d/bluetooth</filename> bootscript from the
303 <xref linkend="bootscripts"/> package.
304 </para>
305
306 <para revision="systemd">
307 To start the <command>bluetoothd</command> daemon at boot,
308 enable the previously installed systemd unit by
309 running the following command as the
310 <systemitem class="username">root</systemitem> user:
311 </para>
312
313<screen role="root" revision="systemd"><userinput>systemctl enable bluetooth</userinput></screen>
314
315 <para revision="systemd">
316 To start the <command>obexd</command> daemon for a user session (to
317 support some Bluetooth programs using it), enable the previously
318 installed systemd unit for all users by running the following command
319 as the <systemitem class="username">root</systemitem> user:
320 </para>
321
322<screen role="root" revision="systemd"><userinput>systemctl enable --global obex</userinput></screen>
323
324 <indexterm zone="bluez bluez-init">
325 <primary sortas="f-bluetooth">bluetooth</primary>
326 </indexterm>
327
328<screen role="root" revision="sysv"><userinput>make install-bluetooth</userinput></screen>
329
330
331 <note revision="systemd">
332 <para>
333 <application>Systemd</application> will start the Bluetooth daemon
334 only when a bluetooth device is detected on the system.
335 </para>
336 </note>
337
338 </sect3>
339
340 </sect2>
341
342 <sect2 role="content">
343 <title>Contents</title>
344
345 <segmentedlist>
346 <segtitle>Installed Programs</segtitle>
347 <segtitle>Installed Library</segtitle>
348 <segtitle>Installed Directories</segtitle>
349
350 <seglistitem>
351 <seg>
352 <!--bccmd, -->
353 bluemoon,
354 bluetoothctl,
355 bluetoothd (symlink),
356 btattach,
357 btmon,
358 hex2hcd,
359 l2ping,
360 l2test,
361 mpris-proxy, and
362 rctest
363 </seg>
364 <seg>
365 libbluetooth.so
366 </seg>
367 <seg>
368 /etc/bluetooth,
369 /usr/{include,libexec}/bluetooth, and
370 /usr/share/doc/bluez-&bluez-version;
371 </seg>
372 </seglistitem>
373 </segmentedlist>
374
375 <variablelist>
376 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
377 <?dbfo list-presentation="list"?>
378 <?dbhtml list-presentation="table"?>
379
380 <!--
381 <varlistentry id="bccmd">
382 <term><command>bccmd</command></term>
383 <listitem>
384 <para>
385 is used to issue BlueCore commands to Cambridge Silicon
386 Radio devices
387 </para>
388 <indexterm zone="bluez bccmd">
389 <primary sortas="b-bccmd">bccmd</primary>
390 </indexterm>
391 </listitem>
392 </varlistentry>
393 -->
394
395 <varlistentry id="bluemoon">
396 <term><command>bluemoon</command></term>
397 <listitem>
398 <para>
399 is a Bluemoon configuration utility
400 </para>
401 <indexterm zone="bluez bluemoon">
402 <primary sortas="b-bluemoon">bluemoon</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
406
407 <varlistentry id="bluetoothctl">
408 <term><command>bluetoothctl</command></term>
409 <listitem>
410 <para>
411 is the interactive Bluetooth control program
412 </para>
413 <indexterm zone="bluez bluetoothctl">
414 <primary sortas="b-bluetoothctl">bluetoothctl</primary>
415 </indexterm>
416 </listitem>
417 </varlistentry>
418
419 <varlistentry id="bluetoothd">
420 <term><command>bluetoothd</command></term>
421 <listitem>
422 <para>
423 is the Bluetooth daemon
424 </para>
425 <indexterm zone="bluez bluetoothd">
426 <primary sortas="b-bluetoothd">bluetoothd</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 <varlistentry id="btmon">
432 <term><command>btmon</command></term>
433 <listitem>
434 <para>
435 provides access to the Bluetooth subsystem monitor
436 infrastructure for reading HCI traces
437 </para>
438 <indexterm zone="bluez btmon">
439 <primary sortas="b-btmon">btmon</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
443
444
445 <varlistentry id="hex2hcd">
446 <term><command>hex2hcd</command></term>
447 <listitem>
448 <para>
449 is used to convert a file needed by Broadcom devices
450 to hcd (Broadcom bluetooth firmware) format
451 </para>
452 <indexterm zone="bluez hex2hcd">
453 <primary sortas="b-hex2hcd">hex2hcd</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="l2ping">
459 <term><command>l2ping</command></term>
460 <listitem>
461 <para>
462 is used to send a L2CAP echo request to the Bluetooth MAC
463 address given in dotted hex notation
464 </para>
465 <indexterm zone="bluez l2ping">
466 <primary sortas="b-l2ping">l2ping</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471 <varlistentry id="l2test">
472 <term><command>l2test</command></term>
473 <listitem>
474 <para>
475 is a L2CAP testing program
476 </para>
477 <indexterm zone="bluez l2test">
478 <primary sortas="b-l2test">l2test</primary>
479 </indexterm>
480 </listitem>
481 </varlistentry>
482
483 <varlistentry id="rctest">
484 <term><command>rctest</command></term>
485 <listitem>
486 <para>
487 is used to test RFCOMM communications on the
488 Bluetooth stack
489 </para>
490 <indexterm zone="bluez rctest">
491 <primary sortas="b-rctest">rctest</primary>
492 </indexterm>
493 </listitem>
494 </varlistentry>
495
496 <varlistentry id="libbluetooth">
497 <term><filename class="libraryfile">libbluetooth.so</filename></term>
498 <listitem>
499 <para>
500 contains the <application>BlueZ</application> 4 API functions
501 </para>
502 <indexterm zone="bluez libbluetooth">
503 <primary sortas="c-libbluetooth">libbluetooth.so</primary>
504 </indexterm>
505 </listitem>
506 </varlistentry>
507 </variablelist>
508
509 </sect2>
510
511</sect1>
Note: See TracBrowser for help on using the repository browser.