source: general/sysutils/bluez.xml@ 6f75ffc

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 6f75ffc was 6f75ffc, checked in by Douglas R. Reno <renodr@…>, 2 years ago

Package updates:

Update to bluez-5.62
Update to opencv-4.5.4
Update to libical-3.0.11
Update to btrfs-progs-5.15.1

  • 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 <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 -Np1 -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/main.conf</filename> is installed automatically
263 during the installation. Additionally, there are two supplementary
264 configuration files. You can optionally install the following files
265 as the <systemitem class="username">root</systemitem> user:
266 </para>
267
268<screen role="root"><userinput>cat > /etc/bluetooth/rfcomm.conf &lt;&lt; "EOF"</userinput>
269<literal># Start rfcomm.conf
270# Set up the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel.
271# Use one line per command
272# See the rfcomm man page for options
273
274
275# End of rfcomm.conf</literal>
276EOF</screen>
277
278<screen role="root"><userinput>cat > /etc/bluetooth/uart.conf &lt;&lt; "EOF"</userinput>
279<literal># Start uart.conf
280# Attach serial devices via UART HCI to BlueZ stack
281# Use one line per device
282# See the hciattach man page for options
283
284# End of uart.conf</literal>
285EOF</screen>
286
287 <indexterm zone="bluez bluez-config">
288 <primary
289 sortas="e-etc-bluetooth-main.conf">/etc/bluetooth/main.conf</primary>
290 </indexterm>
291
292 </sect3>
293
294 <sect3 id="bluez-init">
295 <title><phrase revision="sysv">Boot Script</phrase>
296 <phrase revision="systemd">Systemd Bluez Services</phrase></title>
297
298 <para revision="sysv">
299 To automatically start the <command>bluetoothd</command> daemon when the
300 system is rebooted, install the
301 <filename>/etc/rc.d/init.d/bluetooth</filename> bootscript from the
302 <xref linkend="bootscripts"/> package.
303 </para>
304
305 <para revision="systemd">
306 To start the <command>bluetoothd</command> daemon at boot,
307 enable the previously installed systemd unit by
308 running the following command as the
309 <systemitem class="username">root</systemitem> user:
310 </para>
311
312<screen role="root" revision="systemd"><userinput>systemctl enable bluetooth</userinput></screen>
313
314 <para revision="systemd">
315 To start the <command>obexd</command> daemon for a user session (to
316 support some Bluetooth programs using it), enable the previously
317 installed systemd unit for all users by running the following command
318 as the <systemitem class="username">root</systemitem> user:
319 </para>
320
321<screen role="root" revision="systemd"><userinput>systemctl enable --global obex</userinput></screen>
322
323 <indexterm zone="bluez bluez-init">
324 <primary sortas="f-bluetooth">bluetooth</primary>
325 </indexterm>
326
327<screen role="root" revision="sysv"><userinput>make install-bluetooth</userinput></screen>
328
329
330 <note revision="systemd">
331 <para>
332 <application>Systemd</application> will start the Bluetooth daemon
333 only when a bluetooth device is detected on the system.
334 </para>
335 </note>
336
337 </sect3>
338
339 </sect2>
340
341 <sect2 role="content">
342 <title>Contents</title>
343
344 <segmentedlist>
345 <segtitle>Installed Programs</segtitle>
346 <segtitle>Installed Library</segtitle>
347 <segtitle>Installed Directories</segtitle>
348
349 <seglistitem>
350 <seg>
351 <!--bccmd, -->
352 bluemoon,
353 bluetoothctl,
354 bluetoothd (symlink),
355 btattach,
356 btmon,
357 hex2hcd,
358 l2ping,
359 l2test,
360 mpris-proxy, and
361 rctest
362 </seg>
363 <seg>
364 libbluetooth.so
365 </seg>
366 <seg>
367 /etc/bluetooth,
368 /usr/{include,libexec}/bluetooth, and
369 /usr/share/doc/bluez-&bluez-version;
370 </seg>
371 </seglistitem>
372 </segmentedlist>
373
374 <variablelist>
375 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
376 <?dbfo list-presentation="list"?>
377 <?dbhtml list-presentation="table"?>
378
379 <!--
380 <varlistentry id="bccmd">
381 <term><command>bccmd</command></term>
382 <listitem>
383 <para>
384 is used to issue BlueCore commands to Cambridge Silicon
385 Radio devices
386 </para>
387 <indexterm zone="bluez bccmd">
388 <primary sortas="b-bccmd">bccmd</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392 -->
393
394 <varlistentry id="bluemoon">
395 <term><command>bluemoon</command></term>
396 <listitem>
397 <para>
398 is a Bluemoon configuration utility
399 </para>
400 <indexterm zone="bluez bluemoon">
401 <primary sortas="b-bluemoon">bluemoon</primary>
402 </indexterm>
403 </listitem>
404 </varlistentry>
405
406 <varlistentry id="bluetoothctl">
407 <term><command>bluetoothctl</command></term>
408 <listitem>
409 <para>
410 is the interactive Bluetooth control program
411 </para>
412 <indexterm zone="bluez bluetoothctl">
413 <primary sortas="b-bluetoothctl">bluetoothctl</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="bluetoothd">
419 <term><command>bluetoothd</command></term>
420 <listitem>
421 <para>
422 is the Bluetooth daemon
423 </para>
424 <indexterm zone="bluez bluetoothd">
425 <primary sortas="b-bluetoothd">bluetoothd</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="btmon">
431 <term><command>btmon</command></term>
432 <listitem>
433 <para>
434 provides access to the Bluetooth subsystem monitor
435 infrastructure for reading HCI traces
436 </para>
437 <indexterm zone="bluez btmon">
438 <primary sortas="b-btmon">btmon</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443
444 <varlistentry id="hex2hcd">
445 <term><command>hex2hcd</command></term>
446 <listitem>
447 <para>
448 is used to convert a file needed by Broadcom devices
449 to hcd (Broadcom bluetooth firmware) format
450 </para>
451 <indexterm zone="bluez hex2hcd">
452 <primary sortas="b-hex2hcd">hex2hcd</primary>
453 </indexterm>
454 </listitem>
455 </varlistentry>
456
457 <varlistentry id="l2ping">
458 <term><command>l2ping</command></term>
459 <listitem>
460 <para>
461 is used to send a L2CAP echo request to the Bluetooth MAC
462 address given in dotted hex notation
463 </para>
464 <indexterm zone="bluez l2ping">
465 <primary sortas="b-l2ping">l2ping</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry id="l2test">
471 <term><command>l2test</command></term>
472 <listitem>
473 <para>
474 is a L2CAP testing program
475 </para>
476 <indexterm zone="bluez l2test">
477 <primary sortas="b-l2test">l2test</primary>
478 </indexterm>
479 </listitem>
480 </varlistentry>
481
482 <varlistentry id="rctest">
483 <term><command>rctest</command></term>
484 <listitem>
485 <para>
486 is used to test RFCOMM communications on the
487 Bluetooth stack
488 </para>
489 <indexterm zone="bluez rctest">
490 <primary sortas="b-rctest">rctest</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
495 <varlistentry id="libbluetooth">
496 <term><filename class="libraryfile">libbluetooth.so</filename></term>
497 <listitem>
498 <para>
499 contains the <application>BlueZ</application> 4 API functions
500 </para>
501 <indexterm zone="bluez libbluetooth">
502 <primary sortas="c-libbluetooth">libbluetooth.so</primary>
503 </indexterm>
504 </listitem>
505 </varlistentry>
506 </variablelist>
507
508 </sect2>
509
510</sect1>
Note: See TracBrowser for help on using the repository browser.