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

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 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 3c7bd00 was 5c9e998, checked in by DJ Lucas <dj@…>, 8 years ago

Merge D-Bus changes frome systemd branch, some temporary fixes for bootscript related render errors.

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

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