source: general/sysutils/bluez.xml@ 03eca7f9

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

bluez: Make some SysV specific text SysV only, and add some systemd-equivalent text
Samba: Quick typo fix

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

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