Мое приложение отправляет некоторые данные через разъем Bluetooth через профиль последовательного порта, а другое устройство представляет собой модуль BM78 от Microchip.
Все работает нормально, за исключением одного особого случая при тестировании с телефоном Huawei NEM-L21. Данные доставляются правильно сразу после установления соединения или при частой отправке фреймов данных. Но если между передачами будет пауза в 5-10 секунд, то при следующей передаче будет изменено начало большого двоичного объекта данных. Первые два блока по 650 байт каждый поменялись местами, как если бы они были буферизованы перед отправкой, а второй буфер был передан перед первым. Остальная часть блоба в порядке.
У меня нет объяснения этому. Я исключил проблемы BM78, он работает нормально с Windows (виртуальный COM-порт для Bluetooth), и с кучей других устройств Android. Только этот конкретный телефон показывает эту проблему.
Итак, это просто ошибка в прошивке телефона, или что-то в bluetooth пропустило мое внимание? Как, например, варианты управления питанием, которые я могу настроить в телефоне? Что-нибудь связанное с Bluetooth вообще?