source: general/sysutils/bluez.xml@ 70fe2b5

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 70fe2b5 was 05a2eaa, checked in by Douglas R. Reno <renodr@…>, 2 years ago

Bluez: remove unnecessary sed that causes build failures

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