Bluetooth no funciona con Raspbian Stretch y Raspberry Pi 3

10

En una nueva instalación de Raspbian Stretch, inicie sesión y con el primer comando de systemctl status bluetooth, obtengo:

$ 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)

En consecuencia, bluetoothctlno detecta ningún dispositivo.

Esto no sucedió con Raspbian Jessie. ¿Alguna sugerencia sobre cómo resolver esto?

Roxy
fuente
Nota: Parece que hay una entrada de error pendiente en el repositorio de bluez por Error al obtener identificadores para la característica "Servicio cambiado"
Besi

Respuestas:

7

Acabo de tocar el mismo problema. Los errores del servicio bluetooth son pistas rojas. El problema (para mí, de todos modos) fue que los permisos requeridos para acceder al servicio a través de DBus han cambiado.

Como usuario habitual:

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

Como root:

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

Comprobado /etc/dbus-1/system.d/bluetooth.conf , que dice que los usuarios deben estar en el bluetooth del grupo.

Agregar usuario al grupo:

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

Ahora 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
fuente
¿Lo has conseguido para trabajar en Kodi? Parece que solo funciona en el navegador
Chrome