source: general/sysutils/bluez.xml@ a8b5a1e7

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 a8b5a1e7 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
RevLine 
[fee14fb]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
[8dfc5c3]7 <!ENTITY bluez-download-http "&kernel-dl;/linux/bluetooth/bluez-&bluez-version;.tar.xz">
[faa68e4a]8 <!ENTITY bluez-download-ftp " ">
[cbb6df66]9 <!ENTITY bluez-md5sum "e6c51b2aefa7c56ff072819a78611fa5">
10 <!ENTITY bluez-size "2.0 MB">
[9cee0ec]11 <!ENTITY bluez-buildsize "68 MB (add 78 MB for tests)">
[1119387]12 <!ENTITY bluez-time "0.2 SBU (using parallelism=4; add 0.2 SBU for tests)">
[fee14fb]13]>
14
[880c568]15<sect1 id="bluez" xreflabel="BlueZ-&bluez-version;">
[fee14fb]16 <?dbhtml filename="bluez.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
[880c568]23 <title>BlueZ-&bluez-version;</title>
[fee14fb]24
25 <indexterm zone="bluez">
[880c568]26 <primary sortas="a-BlueZ">BlueZ</primary>
[fee14fb]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
[d437f756]37 &lfs101_checked;
[fee14fb]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>
[5d2965c]72<!--
[f2d585bd]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>
[5d2965c]82-->
[fee14fb]83 <bridgehead renderas="sect3">BlueZ Dependencies</bridgehead>
84
85 <bridgehead renderas="sect4">Required</bridgehead>
86 <para role="required">
[54666831]87 <xref linkend="dbus"/>,
88 <xref linkend="glib2"/>, and
[ef84ea0]89 <xref linkend="libical"/>
[fee14fb]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>
[b8301f1]102 If you are building this package to use bluetooth devices (rather than as a
[0bd9c19]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,
[b8301f1]105 and recompile the kernel if necessary:
[fee14fb]106 </para>
107
[38155d1]108<screen><literal>[*] Networking support ---&gt; [CONFIG_NET]
[ee4e4dea]109 &lt;*/M&gt; Bluetooth subsystem support ---&gt; [CONFIG_BT]
[38155d1]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
[ee4e4dea]119 &lt;*/M&gt; RF switch subsystem support ---- [CONFIG_RFKILL]</literal></screen>
[fee14fb]120
[0bd9c19]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
[ee4e4dea]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>
[0bd9c19]130
[fee14fb]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>
[f2d585bd]138
[fee14fb]139 <para>
140 Install <application>BlueZ</application> by running the following
141 commands:
142 </para>
143
[d5497a2e]144<screen revision="sysv"><userinput>./configure --prefix=/usr \
[ef84ea0]145 --sysconfdir=/etc \
146 --localstatedir=/var \
147 --enable-library \
148 --disable-systemd &amp;&amp;
[fee14fb]149make</userinput></screen>
150
[d5497a2e]151<screen revision="systemd"><userinput>./configure --prefix=/usr \
152 --sysconfdir=/etc \
153 --localstatedir=/var \
154 --enable-library &amp;&amp;
155make</userinput></screen>
156
[fee14fb]157 <para>
[a99fd8bd]158 To test the results, issue: <userinput>make check</userinput>.
[fee14fb]159 </para>
160
161 <para>
162 Now, as the <systemitem class="username">root</systemitem> user:
163 </para>
164
[a99fd8bd]165<screen role="root"><userinput>make install &amp;&amp;
166ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</userinput></screen>
[fee14fb]167
168 <para>
[ef84ea0]169 Install the main configuration file as the
[fee14fb]170 <systemitem class="username">root</systemitem> user:
171 </para>
172
[ef84ea0]173<screen role="root"><userinput>install -v -dm755 /etc/bluetooth &amp;&amp;
174install -v -m644 src/main.conf /etc/bluetooth/main.conf</userinput></screen>
[fee14fb]175
176 <para>
177 If desired, install the API documentation as the
178 <systemitem class="username">root</systemitem> user:
179 </para>
180
[ef84ea0]181<screen role="root"><userinput>install -v -dm755 /usr/share/doc/bluez-&bluez-version; &amp;&amp;
[fee14fb]182install -v -m644 doc/*.txt /usr/share/doc/bluez-&bluez-version;</userinput></screen>
[ef84ea0]183
[fee14fb]184 </sect2>
185
186
187 <sect2 role="commands">
188 <title>Command Explanations</title>
189
190 <para>
[f7153b6]191 <parameter>--enable-library</parameter>: This switch enables building the
[ef84ea0]192 <application>BlueZ</application> 4 compatibility library which is required by
193 some applications.
[fee14fb]194 </para>
195
[d5497a2e]196 <para revision="sysv">
[fd1493f]197 <parameter>--disable-systemd</parameter>: This switch is needed because
[ef84ea0]198 <application>systemd</application> is not part of LFS/BLFS. If you are
199 using systemd, remove this switch.
[fee14fb]200 </para>
201
[a99fd8bd]202 <para>
[8da658ba]203 <command>ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</command>:
[a99fd8bd]204 This command makes access to the bluetooth daemon more convenient.
205 </para>
206
[fee14fb]207 </sect2>
208
209 <sect2 role="configuration">
210 <title>Configuring BlueZ</title>
211
212 <sect3 id="bluez-config">
[a99fd8bd]213 <title>Configuration Files</title>
[fee14fb]214 <para>
[a99fd8bd]215 <filename>/etc/bluetooth/main.conf</filename> is installed automatically
[21c477c]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:
[fee14fb]220 </para>
[8da658ba]221
[a99fd8bd]222<screen role="root"><userinput>cat > /etc/bluetooth/rfcomm.conf &lt;&lt; "EOF"</userinput>
[1daa1a57]223<literal># Start rfcomm.conf
[a99fd8bd]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
[36cfad9]229# End of rfcomm.conf</literal>
230EOF</screen>
[a99fd8bd]231
232<screen role="root"><userinput>cat > /etc/bluetooth/uart.conf &lt;&lt; "EOF"</userinput>
[1daa1a57]233<literal># Start uart.conf
[a99fd8bd]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
[36cfad9]238# End of uart.conf</literal>
239EOF</screen>
[fee14fb]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">
[d5497a2e]249 <title><phrase revision="sysv">Boot Script</phrase>
[1dd1887]250 <phrase revision="systemd">Systemd Bluez Services</phrase></title>
[fee14fb]251
[d5497a2e]252 <para revision="sysv">
[fee14fb]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
[d5497a2e]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:
[fee14fb]264 </para>
265
[1dd1887]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
[fee14fb]277 <indexterm zone="bluez bluez-init">
278 <primary sortas="f-bluetooth">bluetooth</primary>
279 </indexterm>
280
[d5497a2e]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>
[ef84ea0]290
[fee14fb]291 </sect3>
[ef84ea0]292
[fee14fb]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>
[78a15b4]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
[fee14fb]316 </seg>
317 <seg>
318 libbluetooth.so
319 </seg>
320 <seg>
[78a15b4]321 /etc/bluetooth,
322 /usr/{include,libexec}/bluetooth, and
[ef84ea0]323 /usr/share/doc/bluez-&bluez-version;
[fee14fb]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
[4c24eb0a]338 Radio devices
[fee14fb]339 </para>
340 <indexterm zone="bluez bccmd">
341 <primary sortas="b-bccmd">bccmd</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
[af5248e2]346 <varlistentry id="bluemoon">
347 <term><command>bluemoon</command></term>
348 <listitem>
349 <para>
[4c24eb0a]350 is a Bluemoon configuration utility
[af5248e2]351 </para>
352 <indexterm zone="bluez bluemoon">
353 <primary sortas="b-bluemoon">bluemoon</primary>
354 </indexterm>
355 </listitem>
356 </varlistentry>
357
[059a1a5c]358 <varlistentry id="bluetoothctl">
359 <term><command>bluetoothctl</command></term>
360 <listitem>
361 <para>
[4c24eb0a]362 is the interactive Bluetooth control program
[059a1a5c]363 </para>
364 <indexterm zone="bluez bluetoothctl">
365 <primary sortas="b-bluetoothctl">bluetoothctl</primary>
366 </indexterm>
367 </listitem>
368 </varlistentry>
369
[fee14fb]370 <varlistentry id="bluetoothd">
371 <term><command>bluetoothd</command></term>
372 <listitem>
373 <para>
[4c24eb0a]374 is the Bluetooth daemon
[fee14fb]375 </para>
376 <indexterm zone="bluez bluetoothd">
377 <primary sortas="b-bluetoothd">bluetoothd</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
[af5248e2]382 <varlistentry id="btmon">
383 <term><command>btmon</command></term>
384 <listitem>
385 <para>
386 provides access to the Bluetooth subsystem monitor
[4c24eb0a]387 infrastructure for reading HCI traces
[af5248e2]388 </para>
389 <indexterm zone="bluez btmon">
390 <primary sortas="b-btmon">btmon</primary>
391 </indexterm>
392 </listitem>
393 </varlistentry>
394
[fee14fb]395
[e5bb823]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
[4c24eb0a]401 to hcd (Broadcom bluetooth firmware) format
[e5bb823]402 </para>
403 <indexterm zone="bluez hex2hcd">
404 <primary sortas="b-hex2hcd">hex2hcd</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
[fee14fb]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
[4c24eb0a]414 address given in dotted hex notation
[fee14fb]415 </para>
416 <indexterm zone="bluez l2ping">
417 <primary sortas="b-l2ping">l2ping</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
[af5248e2]422 <varlistentry id="l2test">
423 <term><command>l2test</command></term>
424 <listitem>
425 <para>
[4c24eb0a]426 is a L2CAP testing program
[af5248e2]427 </para>
428 <indexterm zone="bluez l2test">
429 <primary sortas="b-l2test">l2test</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
[ef84ea0]434 <varlistentry id="rctest">
435 <term><command>rctest</command></term>
[fee14fb]436 <listitem>
437 <para>
[ef84ea0]438 is used to test RFCOMM communications on the
[4c24eb0a]439 Bluetooth stack
[fee14fb]440 </para>
[ef84ea0]441 <indexterm zone="bluez rctest">
442 <primary sortas="b-rctest">rctest</primary>
[fee14fb]443 </indexterm>
444 </listitem>
445 </varlistentry>
446
447 <varlistentry id="libbluetooth">
448 <term><filename class="libraryfile">libbluetooth.so</filename></term>
449 <listitem>
450 <para>
[4c24eb0a]451 contains the <application>BlueZ</application> 4 API functions
[fee14fb]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.