Bluez: проблема сопряжения с iOS - PullRequest
0 голосов
/ 16 января 2019

У меня есть периферийное приложение, работающее на встроенном устройстве и использующее Bluez 5.48. Я установил свой сервис как платный. Когда я пытаюсь подключиться к сервису с устройства Android, все работает гладко, но когда с iOS через некоторое время соединение теряется, и в инструменте btmon появляются следующие журналы:

> ACL Data RX: Handle 68 flags 0x02 dlen 9              #1050 [hci0] 398.940027
  ATT: Error Response (0x01) len 4
    Read Request (0x0a)
    Handle: 0x0016
    Error: Insufficient Authentication (0x05)
< ACL Data TX: Handle 68 flags 0x00 dlen 7              #1051 [hci0] 398.940268
      ATT: Read Request (0x0a) len 2
        Handle: 0x0016
> ACL Data RX: Handle 68 flags 0x02 dlen 9              #1052 [hci0] 398.991500
      ATT: Error Response (0x01) len 4
        Read Request (0x0a)
        Handle: 0x0016
        Error: Insufficient Authentication (0x05)

Посоветуйте, пожалуйста, как перенастроить приложение или пересобрать Bluez для отключения сопряжения. Все характеристики не защищены.

1 Ответ

0 голосов
/ 22 января 2019

Попробуйте перенастроить приложение, чтобы отключить классический Bluetooth и соединение следующим образом: -

btmgmt power off
btmgmt bredr off
btmgmt bonding off
btmgmt io-cap 0
btmgmt power on

Обратите внимание, что io-cap 0 устанавливает для ваших возможностей ввода-вывода значение «DisplayOnly».Если это не сработает, попробуйте установить для io-cap значение 3 (NoInputNoOutput), чтобы увидеть, если вы получите другой результат.

Также убедитесь, что вы забыли устройство из настроек iOS на устройстве iOS, так какэто может иметь некоторые последствия.

...