This problem is referenced in many different issues, some of them: Bluetooth: hci0: Frame reassembly failed (-84) https://github.com/raspberrypi/firmware/issues/1150 Error communicating with local bluetooth adapter (RPi3) https://github.com/home-assistant/core/issues/30147 Xiaomi BLE Temperature and Humidity sensor no longer working after update from 0.95.4 to .096.5 https://github.com/home-assistant/core/issues/25704 Xiaomi BLE Temperature and Humidity sensor https://github.com/home-assistant/core/issues/24313#issuecomment-578554315 Solution seemed to reeduce the boud rate of the serial connection to BT on rpi3b where flow control is missing. The patch to the original btuart file is to reduce the baudrate only for rpi3b models where flow control is missing: - $HCIATTACH /dev/serial1 bcm43xx 921600 noflow - $BDADDR + $HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR I'm not a buildroot expert but the best way seemed to move the upstream btuart download in a PRE_PATCH_HOOK so that standard buildroot way of patching can be applied.
17 lines
596 B
Diff
17 lines
596 B
Diff
Bluetooth: hci0: Frame reassembly failed (-84)
|
|
https://github.com/raspberrypi/firmware/issues/1150
|
|
|
|
Signed-off-by: Luca Giovenzana <luca@giovenzana.org>
|
|
|
|
--- btuart.orig 2020-03-25 03:05:24.491176583 +0100
|
|
+++ btuart 2020-03-25 03:05:43.603107833 +0100
|
|
@@ -19,7 +19,7 @@ if [ "$uart0" = "$serial1" ] ; then
|
|
if [ "$uart0_pins" = "16" ] ; then
|
|
$HCIATTACH /dev/serial1 bcm43xx 3000000 flow - $BDADDR
|
|
else
|
|
- $HCIATTACH /dev/serial1 bcm43xx 921600 noflow - $BDADDR
|
|
+ $HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR
|
|
fi
|
|
else
|
|
$HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR
|