source: general/sysutils/bluez.xml@ 14ba5f4

systemd-13485
Last change on this file since 14ba5f4 was 14ba5f4, checked in by DJ Lucas <dj@…>, 8 years ago

Merge Chapter 12 changes from trunk.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@16857 af4574ff-66df-0310-9fd7-8a98e5e911e0

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