source: general/sysutils/bluez.xml@ ee4e4de

10.1 11.0 ken/refactor-virt lazarus qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since ee4e4de was ee4e4de, checked in by Douglas R. Reno <renodr@…>, 11 months ago

Incorporate the rest of rhubarbpieguy's kernel suggestions

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

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