source: general/sysutils/bluez.xml@ e764ee3

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules 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 e764ee3 was c1ff74eb, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Update to btrfs-progs-v4.8.3.
Update to menu-cache-1.0.2.
Update to xfce4-terminal-0.8.1.
Update to bluez-5.43.
Update to fltk-1.3.4.

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

  • Property mode set to 100644
File size: 17.2 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 "http://www.kernel.org/pub/linux/bluetooth/bluez-&bluez-version;.tar.xz">
8 <!ENTITY bluez-download-ftp "ftp://ftp.kernel.org/pub/linux/bluetooth/bluez-&bluez-version;.tar.xz">
9 <!ENTITY bluez-md5sum "bluez-5.43">
10 <!ENTITY bluez-size "1.6 MB">
11 <!ENTITY bluez-buildsize "70 MB (add 12 MB for tests)">
12 <!ENTITY bluez-time "0.5 SBU (add 0.3 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 &lfs7a_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 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 Enable the following options in the kernel configuration and recompile the
104 kernel if necessary:
105 </para>
106
107<screen><literal>[*] Networking support ---&gt; [CONFIG_NET]
108 &lt;/M&gt; Bluetooth subsystem support ---&gt; [CONFIG_BT]
109 &lt;*/M&gt; RFCOMM protocol support [CONFIG_BT_RFCOMM]
110 [*] RFCOMM TTY support [CONFIG_BT_RFCOMM_TTY]
111 &lt;*/M&gt; BNEP protocol support [CONFIG_BT_BNEP]
112 [*] Multicast filter support [CONFIG_BT_BNEP_MC_FILTER]
113 [*] Protocol filter support [CONFIG_BT_BNEP_PROTO_FILTER]
114 &lt;*/M&gt; HIDP protocol support [CONFIG_BT_HIDP]
115 Bluetooth device drivers ---&gt;
116 (Select the appropriate drivers for your Bluetooth hardware)
117
118 &lt;*/M&gt; RF switch subsystem support ---&gt; [CONFIG_RFKILL]</literal></screen>
119
120 <indexterm zone="bluez bluez-kernel">
121 <primary sortas="d-bluez">bluez</primary>
122 </indexterm>
123 </sect2>
124
125 <sect2 role="installation">
126 <title>Installation of BlueZ</title>
127
128 <para>
129 If you are going to use <application>BlueZ</application> with
130 gnome-bluetooth and/or kde bluedevil, apply the following patch:
131 </para>
132
133<screen><userinput>patch -Np1 -i ../bluez-&bluez-version;-obexd_without_systemd-1.patch</userinput></screen>
134
135 <para>
136 Install <application>BlueZ</application> by running the following
137 commands:
138 </para>
139
140<screen revision="sysv"><userinput>./configure --prefix=/usr \
141 --sysconfdir=/etc \
142 --localstatedir=/var \
143 --enable-library \
144 --disable-systemd &amp;&amp;
145make</userinput></screen>
146
147<screen revision="systemd"><userinput>./configure --prefix=/usr \
148 --sysconfdir=/etc \
149 --localstatedir=/var \
150 --enable-library &amp;&amp;
151make</userinput></screen>
152
153 <para>
154 To test the results, issue: <userinput>make check</userinput>.
155 </para>
156
157 <para>
158 Now, as the <systemitem class="username">root</systemitem> user:
159 </para>
160
161<screen role="root"><userinput>make install &amp;&amp;
162ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</userinput></screen>
163
164 <para>
165 Install the main configuration file as the
166 <systemitem class="username">root</systemitem> user:
167 </para>
168
169<screen role="root"><userinput>install -v -dm755 /etc/bluetooth &amp;&amp;
170install -v -m644 src/main.conf /etc/bluetooth/main.conf</userinput></screen>
171
172 <para>
173 If desired, install the API documentation as the
174 <systemitem class="username">root</systemitem> user:
175 </para>
176
177<screen role="root"><userinput>install -v -dm755 /usr/share/doc/bluez-&bluez-version; &amp;&amp;
178install -v -m644 doc/*.txt /usr/share/doc/bluez-&bluez-version;</userinput></screen>
179
180 </sect2>
181
182
183 <sect2 role="commands">
184 <title>Command Explanations</title>
185
186 <para>
187 <parameter>--enable-library</parameter>: This switch enables building the
188 <application>BlueZ</application> 4 compatibility library which is required by
189 some applications.
190 </para>
191
192 <para revision="sysv">
193 <parameter>--disable-systemd</parameter>: This switch is needed because
194 <application>systemd</application> is not part of LFS/BLFS. If you are
195 using systemd, remove this switch.
196 </para>
197
198 <para>
199 <command>ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</command>:
200 This command makes access to the bluetooth daemon more convenient.
201 </para>
202
203 </sect2>
204
205 <sect2 role="configuration">
206 <title>Configuring BlueZ</title>
207
208 <sect3 id="bluez-config">
209 <title>Configuration Files</title>
210 <para>
211 <filename>/etc/bluetooth/main.conf</filename> is installed automatically
212 during the install. Additionally, there are three supplementary
213 configuration files. /etc/sysconfig/bluetooth is installed as a part
214 of the boot script below. In addition, you optionally can install the
215 following, as the <systemitem class="username">root</systemitem> user:
216 </para>
217
218<screen role="root"><userinput>cat > /etc/bluetooth/rfcomm.conf &lt;&lt; "EOF"</userinput>
219<literal># Start rfcomm.conf
220# Set up the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel.
221# Use one line per command
222# See the rfcomm man page for options
223
224
225# End of rfcomm.conf</literal>
226EOF</screen>
227
228<screen role="root"><userinput>cat > /etc/bluetooth/uart.conf &lt;&lt; "EOF"</userinput>
229<literal># Start uart.conf
230# Attach serial devices via UART HCI to BlueZ stack
231# Use one line per device
232# See the hciattach man page for options
233
234# End of uart.conf</literal>
235EOF</screen>
236
237 <indexterm zone="bluez bluez-config">
238 <primary
239 sortas="e-etc-bluetooth-main.conf">/etc/bluetooth/main.conf</primary>
240 </indexterm>
241
242 </sect3>
243
244 <sect3 id="bluez-init">
245 <title><phrase revision="sysv">Boot Script</phrase>
246 <phrase revision="systemd">Systemd Socket</phrase></title>
247
248 <para revision="sysv">
249 To automatically start the <command>bluetoothd</command> daemon when the
250 system is rebooted, install the
251 <filename>/etc/rc.d/init.d/bluetooth</filename> bootscript from the
252 <xref linkend="bootscripts"/> package.
253 </para>
254
255 <para revision="systemd">
256 To start the <command>bluetoothd</command> daemon at boot,
257 enable the previously installed systemd unit by
258 running the following command as the
259 <systemitem class="username">root</systemitem> user:
260 </para>
261
262 <indexterm zone="bluez bluez-init">
263 <primary sortas="f-bluetooth">bluetooth</primary>
264 </indexterm>
265
266<screen role="root" revision="sysv"><userinput>make install-bluetooth</userinput></screen>
267
268<screen role="root" revision="systemd"><userinput>systemctl enable bluetooth</userinput></screen>
269
270 <note revision="systemd">
271 <para>
272 <application>Systemd</application> will start the Bluetooth daemon
273 only when a bluetooth device is detected on the system.
274 </para>
275 </note>
276
277 </sect3>
278
279 </sect2>
280
281 <sect2 role="content">
282 <title>Contents</title>
283
284 <segmentedlist>
285 <segtitle>Installed Programs</segtitle>
286 <segtitle>Installed Library</segtitle>
287 <segtitle>Installed Directories</segtitle>
288
289 <seglistitem>
290 <seg>
291 bccmd, bluemoon, bluetoothctl, bluetoothd (symlink), btmon, ciptool,
292 hciattach, hciconfig, hcidump, hcitool, hex2hcd, l2ping, l2test,
293 mpris-proxy, rctest, rfcomm, and sdptool
294 </seg>
295 <seg>
296 libbluetooth.so
297 </seg>
298 <seg>
299 /etc/bluetooth, /usr/{include,libexec}/bluetooth, and
300 /usr/share/doc/bluez-&bluez-version;
301 </seg>
302 </seglistitem>
303 </segmentedlist>
304
305 <variablelist>
306 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
307 <?dbfo list-presentation="list"?>
308 <?dbhtml list-presentation="table"?>
309
310 <varlistentry id="bccmd">
311 <term><command>bccmd</command></term>
312 <listitem>
313 <para>
314 is used to issue BlueCore commands to Cambridge Silicon
315 Radio devices.
316 </para>
317 <indexterm zone="bluez bccmd">
318 <primary sortas="b-bccmd">bccmd</primary>
319 </indexterm>
320 </listitem>
321 </varlistentry>
322
323 <varlistentry id="bluemoon">
324 <term><command>bluemoon</command></term>
325 <listitem>
326 <para>
327 is a Bluemoon configuration utility.
328 </para>
329 <indexterm zone="bluez bluemoon">
330 <primary sortas="b-bluemoon">bluemoon</primary>
331 </indexterm>
332 </listitem>
333 </varlistentry>
334
335 <varlistentry id="bluetoothctl">
336 <term><command>bluetoothctl</command></term>
337 <listitem>
338 <para>
339 is the interactive Bluetooth control program.
340 </para>
341 <indexterm zone="bluez bluetoothctl">
342 <primary sortas="b-bluetoothctl">bluetoothctl</primary>
343 </indexterm>
344 </listitem>
345 </varlistentry>
346
347 <varlistentry id="bluetoothd">
348 <term><command>bluetoothd</command></term>
349 <listitem>
350 <para>
351 is the Bluetooth daemon.
352 </para>
353 <indexterm zone="bluez bluetoothd">
354 <primary sortas="b-bluetoothd">bluetoothd</primary>
355 </indexterm>
356 </listitem>
357 </varlistentry>
358
359 <varlistentry id="btmon">
360 <term><command>btmon</command></term>
361 <listitem>
362 <para>
363 provides access to the Bluetooth subsystem monitor
364 infrastructure for reading HCI traces.
365 </para>
366 <indexterm zone="bluez btmon">
367 <primary sortas="b-btmon">btmon</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="ciptool">
373 <term><command>ciptool</command></term>
374 <listitem>
375 <para>
376 is used to set up, maintain, and inspect the CIP configuration
377 of the Bluetooth subsystem in the Linux kernel.
378 </para>
379 <indexterm zone="bluez ciptool">
380 <primary sortas="b-ciptool">ciptool</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry id="hciattach">
386 <term><command>hciattach</command></term>
387 <listitem>
388 <para>
389 is used to attach a serial UART to the Bluetooth stack
390 as HCI transport interface.
391 </para>
392 <indexterm zone="bluez hciattach">
393 <primary sortas="b-hciattach">hciattach</primary>
394 </indexterm>
395 </listitem>
396 </varlistentry>
397
398 <varlistentry id="hciconfig">
399 <term><command>hciconfig</command></term>
400 <listitem>
401 <para>
402 is used to configure Bluetooth devices.
403 </para>
404 <indexterm zone="bluez hciconfig">
405 <primary sortas="b-hciconfig">hciconfig</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="hcidump">
411 <term><command>hcidump</command></term>
412 <listitem>
413 <para>
414 reads raw HCI data coming from and going to a Bluetooth
415 device and prints to screen commands, events and data
416 in a human-readable form.
417 </para>
418 <indexterm zone="bluez hcidump">
419 <primary sortas="b-hcidump">hcidump</primary>
420 </indexterm>
421 </listitem>
422 </varlistentry>
423
424
425 <varlistentry id="hcitool">
426 <term><command>hcitool</command></term>
427 <listitem>
428 <para>
429 is used to configure Bluetooth connections and send some
430 special command to Bluetooth devices.
431 </para>
432 <indexterm zone="bluez hcitool">
433 <primary sortas="b-hcitool">hcitool</primary>
434 </indexterm>
435 </listitem>
436 </varlistentry>
437
438 <varlistentry id="hex2hcd">
439 <term><command>hex2hcd</command></term>
440 <listitem>
441 <para>
442 is used to convert a file needed by Broadcom devices
443 to hcd (Broadcom bluetooth firmware) format.
444 </para>
445 <indexterm zone="bluez hex2hcd">
446 <primary sortas="b-hex2hcd">hex2hcd</primary>
447 </indexterm>
448 </listitem>
449 </varlistentry>
450<!--
451 <varlistentry id="hid2hci">
452 <term><command>hid2hci</command></term>
453 <listitem>
454 <para>
455 is used to set up switch supported Bluetooth devices into
456 the HCI mode and back.
457 </para>
458 <indexterm zone="bluez hid2hci">
459 <primary sortas="b-hid2hci">hid2hci</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>-->
463
464 <varlistentry id="l2ping">
465 <term><command>l2ping</command></term>
466 <listitem>
467 <para>
468 is used to send a L2CAP echo request to the Bluetooth MAC
469 address given in dotted hex notation.
470 </para>
471 <indexterm zone="bluez l2ping">
472 <primary sortas="b-l2ping">l2ping</primary>
473 </indexterm>
474 </listitem>
475 </varlistentry>
476
477 <varlistentry id="l2test">
478 <term><command>l2test</command></term>
479 <listitem>
480 <para>
481 is L2CAP testing program.
482 </para>
483 <indexterm zone="bluez l2test">
484 <primary sortas="b-l2test">l2test</primary>
485 </indexterm>
486 </listitem>
487 </varlistentry>
488<!--
489 <varlistentry id="obexd">
490 <term><command>obexd</command></term>
491 <listitem>
492 <para>
493 is the OBEX daemon.
494 </para>
495 <indexterm zone="bluez obexd">
496 <primary sortas="b-obexd">obexd</primary>
497 </indexterm>
498 </listitem>
499 </varlistentry>-->
500
501 <varlistentry id="rctest">
502 <term><command>rctest</command></term>
503 <listitem>
504 <para>
505 is used to test RFCOMM communications on the
506 Bluetooth stack.
507 </para>
508 <indexterm zone="bluez rctest">
509 <primary sortas="b-rctest">rctest</primary>
510 </indexterm>
511 </listitem>
512 </varlistentry>
513
514 <varlistentry id="rfcomm">
515 <term><command>rfcomm</command></term>
516 <listitem>
517 <para>
518 is used to set up, maintain, and inspect the RFCOMM
519 configuration of the Bluetooth subsystem in the
520 Linux kernel.
521 </para>
522 <indexterm zone="bluez rfcomm">
523 <primary sortas="b-rfcomm">rfcomm</primary>
524 </indexterm>
525 </listitem>
526 </varlistentry>
527
528 <varlistentry id="sdptool">
529 <term><command>sdptool</command></term>
530 <listitem>
531 <para>
532 is used to perform SDP queries on Bluetooth devices.
533 </para>
534 <indexterm zone="bluez sdptool">
535 <primary sortas="b-sdptool">sdptool</primary>
536 </indexterm>
537 </listitem>
538 </varlistentry>
539
540 <varlistentry id="libbluetooth">
541 <term><filename class="libraryfile">libbluetooth.so</filename></term>
542 <listitem>
543 <para>
544 contains the <application>BlueZ</application> 4 API functions.
545 </para>
546 <indexterm zone="bluez libbluetooth">
547 <primary sortas="c-libbluetooth">libbluetooth.so</primary>
548 </indexterm>
549 </listitem>
550 </varlistentry>
551 </variablelist>
552
553 </sect2>
554
555</sect1>
Note: See TracBrowser for help on using the repository browser.