source: general/sysutils/bluez.xml@ 3f2db3a6

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/xf86-video-removal
Last change on this file since 3f2db3a6 was 3f2db3a6, checked in by Pierre Labastie <pierre.labastie@…>, 18 months ago

Remove sect1info tags

They only contain a date tag that is nowhere used.

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