BlueZ-5.23

Introduction to BlueZ

The BlueZ package contains the Bluetooth protocol stack for Linux.

This package is known to build and work properly using an LFS-7.6 systemd platform.

Package Information

Additional Downloads

BlueZ Dependencies

Required

D-Bus, GLib-2.40.0, and libical-1.0

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/bluez

Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

[*] Networking support --->                   [CONFIG_NET]
  <*> or <M> Bluetooth subsystem support ---> [CONFIG_BT]
    <*> or <M> RFCOMM protocol support        [CONFIG_BT_RFCOMM]
    [*] RFCOMM TTY support                    [CONFIG_BT_RFCOMM_TTY]
    <*> or <M> BNEP protocol support          [CONFIG_BT_BNEP]
    [*] Multicast filter support              [CONFIG_BT_BNEP_MC_FILTER]
    [*] Protocol filter support               [CONFIG_BT_BNEP_PROTO_FILTER]
    <*> or <M> HIDP protocol support          [CONFIG_BT_HIDP]

    Bluetooth device drivers --->
  <*> or <M> RF switch subsystem support

Select the appropriate drivers for your Bluetooth hardware.

Installation of BlueZ

Install BlueZ by running the following commands:

patch -Np1 -i ../bluez-5.23-obexd_without_systemd-1.patch &&
./configure --prefix=/usr         \
            --sysconfdir=/etc     \
            --localstatedir=/var  \
            --enable-library &&
make

To test the results, issue: make check.

Now, as the root user:

make install

Install the main configuration file as the root user:

install -v -dm755 /etc/bluetooth &&
install -v -m644 src/main.conf /etc/bluetooth/main.conf

If desired, install the API documentation as the root user:

install -v -dm755 /usr/share/doc/bluez-5.23 &&
install -v -m644 doc/*.txt /usr/share/doc/bluez-5.23

Command Explanations

--enable-library: This switch enables building of the BlueZ 4 compatibility library which is required by some applications.

Configuring BlueZ

Configuration Files

/etc/bluetooth/main.conf is installed automatically during the install. Additionally, there are two supplementary configuration files that you can install by running the following commands as the root user:

cat > /etc/bluetooth/rfcomm.conf << "EOF"
# rfcomm.conf
# Set up the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel.
# Use one line per command
# See the rfcomm man page for options

# End of rfcomm.conf
EOF
cat > /etc/bluetooth/uart.conf << "EOF"
#uart.conf
# Attach serial devices via UART HCI to BlueZ stack
# Use one line per device
# See the hciattach man page for options

# End of uart.conf
EOF

Systemd Units

To start the bluetoothd daemon at boot, enable the previously installed systemd unit by running the following command as the root user:

systemctl enable bluetooth
[Note]

Note

Systemd will start the Bluetooth daemon only when a bluetooth device is detected on the system.

Contents

Installed Programs: bccmd, bluemoon, bluetoothctl, bluetoothd, btmon, ciptool, hciattach, hciconfig, hcidump, hcitool, hid2hci, l2ping, l2test, mpris-proxy, obexd, rctest, rfcomm, and sdptool
Installed Library: libbluetooth.so
Installed Directories: /etc/bluetooth, /usr/include/bluetooth, /usr/libexec/bluetooth, and /usr/share/doc/bluez-5.23

Short Descriptions

bccmd

is used to issue BlueCore commands to Cambridge Silicon Radio devices.

bluetoothd

is the Bluetooth daemon.

ciptool

is used to set up, maintain, and inspect the CIP configuration of the Bluetooth subsystem in the Linux kernel.

hciattach

is used to attach a serial UART to the Bluetooth stack as HCI transport interface.

hciconfig

is used to configure Bluetooth devices.

hcitool

is used to configure Bluetooth connections and send some special command to Bluetooth devices.

hid2hci

is used to set up switch supported Bluetooth devices into the HCI mode and back.

l2ping

is used to send a L2CAP echo request to the Bluetooth MAC address given in dotted hex notation.

rctest

is used to test RFCOMM communications on the Bluetooth stack.

rfcomm

is used to set up, maintain, and inspect the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel.

sdptool

is used to perform SDP queries on Bluetooth devices.

libbluetooth.so

contains the BlueZ 4 API functions.

Last updated on 2014-09-13 23:49:16 -0700