source: general/sysutils/bluez.xml@ ac8c7d4

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.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 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 ac8c7d4 was 0bd9c19, checked in by Ken Moffat <ken@…>, 7 years ago

Extra kernel config settings for testing bluez.

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

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