source: general/sysutils/bluez.xml@ 427b46a

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 427b46a was a8b5a1e7, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Fix bluez

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

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