source: general/sysutils/bluez.xml@ 0b2a1fa

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 xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 0b2a1fa was 0b2a1fa, checked in by Bruce Dubbs <bdubbs@…>, 21 months ago

Update to bluez-5.65.

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