BlueZ-5.72
Introdução a "BlueZ"
O pacote BlueZ contém a pilha de
protocolos "Bluetooth" para Linux.
Esse pacote é conhecido por construir e funcionar corretamente
usando uma plataforma LFS 12.1.
Informação do Pacote
-
Transferência (HTTP):
https://www.kernel.org/pub/linux/bluetooth/bluez-5.72.tar.xz
-
Transferência (FTP):
-
Soma de verificação MD5 da transferência:
fcacd4d6d65f7da141977a2beb1ba78f
-
Tamanho da transferência: 2,3 MB
-
Espaço em disco estimado exigido: 81 MB (adicionar 84 MB para
testes)
-
Tempo de construção estimado: 0,4 UPC (usando paralelismo =
4; com os testes)
Dependências do "BlueZ"
Exigidas
dbus-1.14.10, GLib-2.78.4 e libical-3.0.17
Opcionais
docutils-0.20.1 (para gerar páginas de
manual)
Configuração do Núcleo
Se você estiver construindo esse pacote para usar dispositivos
"bluetooth" (em vez de uma dependência de construção), [então]
habilite as seguintes opções na configuração do núcleo, também as
opções na seção “Cryptographic API” se você pretende executar
os testes e recompile o núcleo, se necessário:
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]
Instalação do "BlueZ"
Instale BlueZ executando os
seguintes comandos:
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-manpages \
--enable-library &&
make
Para testar os resultados, emita: make check
.
Agora, como o(a) usuário(a) root
:
make install &&
ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin
Instale o principal arquivo de configuração como o(a) usuário(a)
root
:
install -v -dm755 /etc/bluetooth &&
install -v -m644 src/main.conf /etc/bluetooth/main.conf
Se desejado, [então] instale a documentação da "API" como o(a)
usuário(a) root
:
install -v -dm755 /usr/share/doc/bluez-5.72 &&
install -v -m644 doc/*.txt /usr/share/doc/bluez-5.72
Explicações do Comando
--disable-manpages
: Essa
chave desabilita a geração de páginas de manual por causa da
dependência de 'rst2man' em "docutils". Remova essa chave se você
tiver docutils-0.20.1 instalado e desejar gerar as
páginas de manual.
--enable-library
: Essa
chave habilita construir a biblioteca de compatibilidade
BlueZ 4 que é exigida por alguns
aplicativos.
ln -svf
../libexec/bluetooth/bluetoothd /usr/sbin: Esse
comando torna o acesso ao processo de segundo plano "bluetooth"
mais conveniente.
Configurando o "BlueZ"
Arquivos de
Configuração
/etc/bluetooth/main.conf
é
instalado automaticamente durante a instalação. Além disso,
existem dois arquivos de configuração suplementares. Você pode
opcionalmente instalar os seguintes arquivos como o(a) usuário(a)
root
:
cat > /etc/bluetooth/rfcomm.conf << "EOF"
# Início rfcomm.conf
# Configura a configuração "RFCOMM" do subsistema "Bluetooth" no núcleo Linux.
# Usa uma linha por comando
# Veja-se a página de manual do "rfcomm" para opções
# Fim do rfcomm.conf
EOF
cat > /etc/bluetooth/uart.conf << "EOF"
# Início uart.conf
# Anexa dispositivos seriais via "UART HCI" à pilha "BlueZ"
# Usa uma linha por dispositivo
# Veja-se a página de manual do "hciattach" para opções
# Fim do uart.conf
EOF
Serviços Bluez do
Systemd
Para iniciar o processo de segundo plano bluetoothd na inicialização,
habilite a unidade do systemd instalada anteriormente executando
o seguinte comando como o(a) usuário(a) root
:
systemctl enable bluetooth
Para iniciar o processo de segundo plano obexd para uma sessão de
usuário(a) (para suportar alguns aplicativos "Bluetooth" que o
utilizam), habilite a unidade do "systemd" instalada
anteriormente para todos(as) os(as) usuários(as) executando o
seguinte comando como o(a) usuário(a) root
:
systemctl enable --global obex
Nota
Systemd iniciará o processo de
segundo plano "Bluetooth" somente quando um dispositivo
"bluetooth" for detectado no sistema.
Conteúdo
Aplicativos Instalados:
bluemoon, bluetoothctl, bluetoothd (link
simbólico), btattach, btmon, hex2hcd, l2ping, l2test,
mpris-proxy e rctest
Biblioteca Instalada:
libbluetooth.so
Diretórios Instalados:
/etc/bluetooth,
/usr/{include,libexec}/bluetooth e
/usr/share/doc/bluez-5.72
Descrições Curtas
bluemoon
|
é um utilitário de configuração do "Bluemoon"
|
bluetoothctl
|
é o aplicativo interativo de controle do "Bluetooth"
|
bluetoothd
|
é o processo de segundo plano "Bluetooth"
|
btmon
|
fornece acesso à infraestrutura do monitor do subsistema
"Bluetooth" para leitura de rastreamentos "HCI"
|
hex2hcd
|
é usado para converter um arquivo necessário para
dispositivos "Broadcom" para o formato "hcd" ("Broadcom
bluetooth firmware")
|
l2ping
|
é usado para enviar uma solicitação de eco "L2CAP" para o
endereço "MAC" do "Bluetooth" fornecido em notação
hexadecimal com pontos
|
l2test
|
é um aplicativo de teste "L2CAP"
|
rctest
|
é usado para testar as comunicações "RFCOMM" na pilha
"Bluetooth"
|
libbluetooth.so
|
contém as funções de "API" do BlueZ 4
|