1

I use it to connect to a speaker (as a pulseaudio sink)

dmesg | grep Blue shows the following:

[   14.034501] Bluetooth: Core ver 2.22
[   14.034587] Bluetooth: HCI device and connection manager initialized
[   14.034609] Bluetooth: HCI socket layer initialized
[   14.034622] Bluetooth: L2CAP socket layer initialized
[   14.034654] Bluetooth: SCO socket layer initialized
[   14.048959] Bluetooth: HCI UART driver ver 2.3
[   14.048974] Bluetooth: HCI UART protocol H4 registered
[   14.048980] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   14.049211] Bluetooth: HCI UART protocol Broadcom registered
[   14.324295] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   14.324304] Bluetooth: BNEP filters: protocol multicast
[   14.324318] Bluetooth: BNEP socket layer initialized
[   14.400493] Bluetooth: RFCOMM TTY layer initialized
[   14.400517] Bluetooth: RFCOMM socket layer initialized
[   14.400544] Bluetooth: RFCOMM ver 1.11
[ 1615.270230] Bluetooth: hci0 hardware error 0x00
[ 1619.500366] Bluetooth: hci0 command 0x1003 tx timeout
[ 1621.580373] Bluetooth: hci0 command 0x1001 tx timeout
[ 1623.660382] Bluetooth: hci0 command 0x1009 tx timeout
[ 1627.980418] Bluetooth: hci0 hardware error 0x00
[ 1630.060437] Bluetooth: hci0 command 0x1003 tx timeout
[ 1632.140793] Bluetooth: hci0 command 0x1001 tx timeout
[ 1634.220438] Bluetooth: hci0 command 0x1009 tx timeout
[ 1717.420690] Bluetooth: hci0 command 0x1003 tx timeout
[ 1719.500695] Bluetooth: hci0 command 0x1001 tx timeout
[ 1721.580697] Bluetooth: hci0 command 0x1009 tx timeout
[ 1728.940700] Bluetooth: hci0 command 0x1003 tx timeout
[ 1731.020745] Bluetooth: hci0 command 0x1001 tx timeout
[ 1733.100711] Bluetooth: hci0 command 0x1009 tx timeout
[ 1766.060724] Bluetooth: hci0 command 0x1003 tx timeout
[ 1768.140730] Bluetooth: hci0 command 0x1001 tx timeout
[ 1770.220721] Bluetooth: hci0 command 0x1009 tx timeout
[ 1830.140659] Bluetooth: hci0 command 0x1003 tx timeout
[ 1832.220708] Bluetooth: hci0 command 0x1001 tx timeout
[ 1834.300655] Bluetooth: hci0 command 0x1009 tx timeout

systemctl status bluetooth shows:

Jan 13 21:46:10 picroft bluetoothd[7820]: Excluding (cli) sap
Jan 13 21:46:10 picroft bluetoothd[7820]: Bluetooth management interface 1.14 initialized
Jan 13 21:46:10 picroft bluetoothd[7820]: Failed to obtain handles for "Service Changed" characteristic
Jan 13 21:46:10 picroft bluetoothd[7820]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSource
Jan 13 21:46:10 picroft bluetoothd[7820]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSink
Jan 13 21:46:12 picroft bluetoothd[7820]: Loading LTKs timed out for hci0
Jan 13 21:46:20 picroft bluetoothd[7820]: Failed to set mode: Failed (0x03)
Jan 13 21:46:31 picroft bluetoothd[7820]: Failed to set mode: Failed (0x03)
Jan 13 21:53:30 picroft bluetoothd[7820]: Endpoint unregistered: sender=:1.33 path=/MediaEndpoint/A2DPSource
Jan 13 21:53:30 picroft bluetoothd[7820]: Endpoint unregistered: sender=:1.33 path=/MediaEndpoint/A2DPSink

I really don't know whats causing this, but a reboot fixes it.

Does anyone know whats the cause / how to fix it?

  • 1
    You may be able to work around the problem with "systemctl restart bluetooth". Sometimes hardware components need an actual power off to clear error conditions, but more commonly a reset by software is sufficient. – Chad Farmer Jan 17 at 18:45
1

I have a bit of experience with putting heavy RFCOMM loads on the Pi 3's built-in adapter...in particular, rapid creation and tear down of RFCOMM connections over a short period of time. In most cases, after a few minutes of that, I had to power-cycle the Pi (restarting the bluetooth service did nothing, and trying to issue commands of any kind to the adapter were unsuccessful). Other symptoms that occurred around this time were under voltage warnings in dmesg (I run Ubuntu Mate), and intermittent disconnects in low-load WiFi connections. This behavior occurred consistently across all 12 Pis that I had at the time. Perhaps how the speaker is establishing or terminating connections is putting the Pi in a similar state as my code was.

Ultimately, I wasn't able to get further into the cause after a lot of troubleshooting, but instead bought a class 1 USB Bluetooth dongle (around $20) and disabled the built-in adapter completely, and all of the above symptoms stopped. Also, when using the built-in adapter, it often took up to 20-30 seconds to establish a new RFCOMM connection (sometimes the connection attempt would timeout as well), but with the other adapter its much faster (ie much closer to the Bluetooth spec).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.