we send a relatively large stream of data (~160 kb) from peripherals
via GATT notifications, multiple times per hour. occasionally (about
once an hour per peripheral) we loose sync of our protocol between the
central and peripheral.
this seems to happen only in a system with lower performance (iMX7d).
we traced this to some GATT notifications that don't reach the
application level, these are visible in `btmon`. we're using BlueZ
5.50 (also tried to apply patches since the release due to required
bug fixes). it happens both with with start_notitfy and
acquire_notify.
we have another implementation of this transfer that is less stressful
and streams 256 kb chunks with a pause for sending a command in the
other direction for the next chunk and it has no issues. we also have
an older implementation of the central application that uses HCI
sockets and not bluetoothd/d-bus, which also has no issues.
is it possible that in some occasions bluetoothd will skip
notifications? how do I even start to debug/fix it ?