BlueZ-5.72
Introduction à BlueZ
Le paquet BlueZ contient la pile
de protocole Bluetooth pour Linux.
This package is known to build and work properly using an LFS 12.1
platform.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://www.kernel.org/pub/linux/bluetooth/bluez-5.72.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 : fcacd4d6d65f7da141977a2beb1ba78f
-
Taille du téléchargement : 2,3 Mo
-
Estimation de l'espace disque requis : 81 Mo (plus
84 Mo pour les tests)
-
Estimation du temps de construction : 0,4 SBU (avec
parallélisme = 4 ; avec les tests)
Dépendances de BlueZ
Requises
dbus-1.14.10, GLib-2.78.4 et libical-3.0.17
Facultatives
docutils-0.20.1 (pour générer les pages de
manuel)
Configuration du noyau
Si vous construisez ce paquet pour utiliser des appareils bluetooth
(plutôt qu'en tant que dépendance), activez les options suivantes
dans la configuration du noyau, ainsi que les options de la section
« API
cryptographique » si vous voulez lancez les
tests, et recompilez le noyau si nécessaire :
General setup --->
# If it is disabled, [TIMERFD] and [EVENTFD] will be hidden and
# enabled implicitly. We DO NOT recommend to enable [EXPERT]
# unless you are really an expert user:
[ /*] Configure standard kernel features (expert users) ---> [EXPERT]
[*] Enable timerfd() system call [TIMERFD]
[*] Enable eventfd() system call [EVENTFD]
[*] Networking support ---> [NET]
<*/M> Bluetooth subsystem support ---> [BT]
[*] Bluetooth Classic (BR/EDR) features [BT_BREDR]
<*/M> RFCOMM protocol support [BT_RFCOMM]
[*] RFCOMM TTY support [BT_RFCOMM_TTY]
<*/M> BNEP protocol support [BT_BNEP]
[*] Multicast filter support [BT_BNEP_MC_FILTER]
[*] Protocol filter support [BT_BNEP_PROTO_FILTER]
<*/M> HIDP protocol support [BT_HIDP]
Bluetooth device drivers --->
# Select the appropriate drivers for your bluetooth hardware.
# There are more vendor-specific drivers not listed here:
< /*/M> HCI USB driver [BT_HCIBTUSB]
< /*/M> HCI SDIO driver [BT_HCIBTSDIO]
< /*/M> HCI UART driver [BT_HCIUART]
<*/M> RF switch subsystem support ---> [RFKILL]
-*- Cryptographic API ---> [CRYPTO]
Crypto core or helper --->
<*/M> Userspace cryptographic algorithm configuration [CRYPTO_USER]
Block ciphers --->
<*/M> AES (Advanced Encryption Standard) [CRYPTO_AES]
AEAD (authenticated encryption with associated data) ciphers --->
<*/M> CCM (Counter with Cipher Block Chaining-MAC) [CRYPTO_CCM]
Hashes, digests, and MACs --->
<*/M> CMAC (Cipher-based MAC) [CRYPTO_CMAC]
Userspace interface --->
<*/M> Hash algorithms [CRYPTO_USER_API_HASH]
<*/M> Symmetric key cipher algorithms [CRYPTO_USER_API_SKCIPHER]
<*/M> AEAD cipher algorithms [CRYPTO_USER_API_AEAD]
Installation de BlueZ
Installez BlueZ en exécutant les
commandes suivantes :
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-manpages \
--enable-library &&
make
Pour tester les résultats, tapez : make check
.
Maintenant, en tant qu'utilisateur root
:
make install &&
ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin
Installez le fichier principal de configuration en tant
qu'utilisateur root
:
install -v -dm755 /etc/bluetooth &&
install -v -m644 src/main.conf /etc/bluetooth/main.conf
Si vous le souhaitez, installez la documentation de l'API en tant
qu'utilisateur root
:
install -v -dm755 /usr/share/doc/bluez-5.72 &&
install -v -m644 doc/*.txt /usr/share/doc/bluez-5.72
Explication des commandes
--disable-manpages
:
ce paramètre désactive la génération des pages de manuel à cause de
la dépendance à « rst2man » de docutils. Supprimez ce
paramètre si vous avez installé docutils-0.20.1 et souhaitez générer les
pages de manuel.
--enable-library
:: Ce
paramètre active la construction de la bibliothèque de
compatibilité BlueZ 4 qui est
requises par certaines applications.
ln -svf
../libexec/bluetooth/bluetoothd /usr/sbin :
Cette commande donne accès au démon bluetooth de façon plus
cohérente.
Configuration de BlueZ
Fichiers de
configuration
/etc/bluetooth/main.conf
est
installé automatiquement pendant l'installation. En plus, il y a
deux fichiers de configuration complémentaires. Vous pouvez
éventuellement installer les fichiers suivants en tant
qu'utilisateur root
:
cat > /etc/bluetooth/rfcomm.conf << "EOF"
# Start 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"
# Start 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
Service Bluez Systemd
Pour démarrer le démon bluetoothd au démarrage,
activez l'unité systemd précédemment installée en exécutant la
commande suivante en tant qu'utilisateur root
:
systemctl enable bluetooth
Pour démarrer le démon obexd dans une session
utilisateur (pour supporter certains programmes Bluetooth qui
l'utilisent), activez l'unité systemd précédemment installée en
exécutant la commande suivante en tant qu'utilisateur
root
:
systemctl enable --global obex
Note
Systemd démarrera le démon
Bluetooth seulement si un périphérique bluetooth est détecté
sur le système.
Contenu
Programmes installés:
bluemoon, bluetoothctl, bluetoothd (lien
symbolique), btattach, btmon, hex2hcd, l2ping, l2test,
mpris-proxy et rctest
Bibliothèque installée:
libbluetooth.so
Répertoires installés:
/etc/bluetooth,
/usr/{include,libexec}/bluetooth et
/usr/share/doc/bluez-5.72
Descriptions courtes
bluemoon
|
est un utilitaire de configuration de Bluemoon
|
bluetoothctl
|
est le programme de contrôle interactif de Bluetooth
|
bluetoothd
|
est le démon Bluetooth
|
btmon
|
fournit l'accès à l'infrastructure de surveillance de
Bluetooth pour lire les traces HCI
|
hex2hcd
|
est utilisé pour convertir un fichier utilisé par les
périphériques Broadcom au format hcd (Broadcom bluetooth
firmware)
|
l2ping
|
est utilisé pour envoyer des demandes d'écho L2CAP à
l'adresse MAC Bluetooth donné en notation hexadécimale
|
l2test
|
est le programme de tests de L2CAP
|
rctest
|
est utilisé pour tester les communications RFCOMM de la
pile Bluetooth
|
libbluetooth.so
|
contient les fonctions de l'API de BlueZ 4
|