source: general/sysutils/bluez.xml@ f4302700

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 f4302700 was 5d2965c, checked in by Douglas R. Reno <renodr@…>, 3 years ago

Update to ModemManager-1.16.2
Update to qpdf-10.2.0
Update to libgxps-0.3.2
Update to babl-0.1.86
Update to libqmi-1.28.2
Update to poppler-21.03.0
Update to URI-5.09 (Perl Module)
Update to gtksourceview4-4.8.1
Update to OpenSSH-8.5p1 (and ssh-askpass-8.5p1)
libwacom: Correct version number
libwacom: Add libwacom-show-stylus
bluez: Drop the patch

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24333 af4574ff-66df-0310-9fd7-8a98e5e911e0

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