source: general/sysutils/bluez.xml@ 582f732

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 582f732 was 582f732, checked in by Xi Ruoyao <xry111@…>, 3 years ago

bluez: remove extra empty line

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