O Bluetooth não funciona com Raspbian Stretch e Raspberry Pi 3

10

Em uma nova instalação do Raspbian Stretch, efetue login e com o primeiro comando de systemctl status bluetooth, recebo:

$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2017-08-18 01:37:37 UTC; 1s ago
     Docs: man:bluetoothd(8)
 Main PID: 667 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─667 /usr/lib/bluetooth/bluetoothd

Aug 18 01:37:37 raspberrypi systemd[1]: Starting Bluetooth service...
Aug 18 01:37:37 raspberrypi bluetoothd[667]: Bluetooth daemon 5.43
Aug 18 01:37:37 raspberrypi systemd[1]: Started Bluetooth service.
Aug 18 01:37:37 raspberrypi bluetoothd[667]: Starting SDP server
Aug 18 01:37:38 raspberrypi bluetoothd[667]: Bluetooth management interface 1.14 initialized
Aug 18 01:37:38 raspberrypi bluetoothd[667]: Failed to obtain handles for "Service Changed" characteristic
Aug 18 01:37:38 raspberrypi bluetoothd[667]: Sap driver initialization failed.
Aug 18 01:37:38 raspberrypi bluetoothd[667]: sap-server: Operation not permitted (1)

Consequentemente, bluetoothctlnão detecta nenhum dispositivo.

Isso não aconteceu com a Raspbian Jessie. Alguma dica sobre como resolver isso?

Roxy
fonte
Nota: Parece haver uma entrada de bug pendente no repositório bluez para Falha ao obter identificadores para a característica "Serviço Alterado"
Besi

Respostas:

7

Acabei de acertar o mesmo problema. Os erros do serviço bluetooth são imprecisos. O problema (para mim, pelo menos) foi que as permissões necessárias para acessar o serviço pelo DBus foram alteradas.

Como usuário regular:

pi@raspberrypi:~ $ busctl tree org.bluez
Failed to introspect object / of service org.bluez: Access denied
No objects discovered.

Como raiz:

pi@raspberrypi:~ $ sudo busctl tree org.bluez
└─/org
  └─/org/bluez
    └─/org/bluez/hci0

Verificado /etc/dbus-1/system.d/bluetooth.conf , que diz que os usuários devem estar no Bluetooth grupo.

Adicionar usuário ao grupo:

pi@raspberrypi:~ $ sudo adduser pi bluetooth
Adding user `pi' to group `bluetooth' ...
Adding user pi to group bluetooth
Done.
pi@raspberrypi:~ $ newgrp bluetooth

Agora funciona:

pi@raspberrypi:~ $ busctl tree org.bluez
└─/org
  └─/org/bluez
    └─/org/bluez/hci0
pi@raspberrypi:~ $ bluetoothctl 
[NEW] Controller 43:43:A1:12:1F:AC raspberrypi [default]
Ioan Rogers
fonte
você conseguiu trabalhar com kodi? Parece único trabalho no navegador cromo
answerSeeker