markferry / multizone-audio

A config generator for a multizone audio system based on snapcast, Mopidy and MQTT.
32 stars 5 forks source link

bluetooth frame reassembly errors - RPi3B and others #26

Open markferry opened 1 year ago

markferry commented 1 year ago

Lower the hciattach baudrate.

markferry commented 1 year ago

OSMC brcm43xx service calls /usr/bin/rpi-btuart:

#!/bin/bash

HCIATTACH=/usr/bin/hciattach
SERIAL=$(awk '/^Serial/{ print $3 }' /proc/cpuinfo)
B1=${SERIAL:10:2}
B2=${SERIAL:12:2}
B3=${SERIAL:14:2}
BDADDR=$(printf b8:27:eb:%02x:%02x:%02x $((0x$B1 ^ 0xaa)) $((0x$B2 ^ 0xaa)) $((0x$B3 ^ 0xaa)))

if [ "$(cat /proc/device-tree/aliases/uart0)" = "$(cat /proc/device-tree/aliases/serial1)" ] ; then
  if [ "$(wc -c /proc/device-tree/soc/gpio@7e200000/uart0_pins/brcm\,pins | cut -f 1 -d ' ')" = "16" ] ; then
    $HCIATTACH /dev/serial1 bcm43xx 3000000 flow - $BDADDR
  else
    $HCIATTACH /dev/serial1 bcm43xx 921600 noflow - $BDADDR
  fi
else
  $HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR
fi
markferry commented 1 year ago

Testing with 460800

systemctl restart brcm43xx

markferry commented 1 year ago

Repro on study with some Kodi activity.

markferry commented 1 year ago

How to make this permanent?