Я разрабатываю периферийное устройство BLE на основе Linux (bluez 5.48) и приложения QT для службы gatt. Я также разрабатываю приложение для телефона Android для подключения устройства.
Моя проблема связана со вторым соединением (# 3), как показано ниже:
- Устройство запускает рекламу -› Android-приложение сканирует его и подключается -› Android-приложение пытается написать характеристику, которая имеет безопасность аутентификации -› произошла недостаточная аутентификация, и на телефоне появилось сообщение о вводе PIN-кода -› Введите PIN-код, успешное сопряжение и запись характеристика в порядке.
- Отключить
- Устройство запускает рекламу -› Android-приложение сканирует его и подключается -› Android-приложение пытается написать характеристику, которая имеет безопасность аутентификации -› произошла недостаточная аутентификация, и на телефоне появился ввод пин-кода ????????????
В журнале устройства обнаружена ошибка отсутствия пин-кода или ключа. Кажется, мое устройство распознает телефон как новое устройство из-за случайного MAC-адреса телефона. Любая идея или решение этой проблемы?
Ps: устройство bluez настроено на DisplayOnly
Спасибо, Кальвин
Я добавил журнал устройства вышеуказанной тестовой последовательности. Почему происходит Удаление временного устройства...?
=============== первое подключение и сопряжение с моим тестовым приложением для Android: подключение -> соединение -> отключение от приложения =========
17 декабря 07:35:38 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_ref() 0xfd1000: ref=1
17 декабря 07:35:38 bluetoothd[368]: ../bluez-5.50/src/agent.c:register_agent() агент: 1.49
17 декабря 07:35:38 bluetoothd[368]: ../bluez-5.50/src/agent.c:unregister_agent() агент: 1.49
17 декабря 07:35:38 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_disconnect() Агент: 1.49 отключен
17 декабря 07:35:38 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_destroy() агент: 1.49
17 декабря 07:35:38 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_unref() 0xfd1000: ref=0
17 декабря 07:35:38 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_ref() 0xfd1000: ref=1
17 декабря 07:35:38 bluetoothd[368]: ../bluez-5.50/src/agent.c:register_agent() агент: 1.49
17 декабря 07:35:38 bluetoothd[368]: ../bluez-5.50/src/agent.c:add_default_agent() Агент по умолчанию установлен на: 1.49 /org/bluez/agent
17 декабря 07:35:46 bluetoothd[368]: ../bluez-5.50/src/adapter.c:connected_callback() hci0 устройство 5C:CB:99:7F:77:02 подключено eir_len 0
17 декабря 07:35:47 bluetoothd[368]: ../bluez-5.50/src/adapter.c:user_passkey_notify_callback() hci0 5C:CB:99:7F:77:02
17 декабря 07:35:47 bluetoothd[368]: ../bluez-5.50/src/adapter.c:user_passkey_notify_callback() ключ доступа 859060 введен 0
17 декабря 07:35:47 bluetoothd[368]: ../bluez-5.50/src/device.c:new_auth() Запрос аутентификации агента для 5C:CB:99:7F:77:02
17 декабря 07:35:47 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_ref() 0xfd1000: ref=2
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/adapter.c:new_irk_callback() hci0 новый IRK для 5C:CB:99:7F:77:02 RPA 00:00:00: 00:00:00
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/adapter.c:new_csrk_callback() hci0 новый CSRK для 5C:CB:99:7F:77:02 тип 3
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/adapter.c:new_csrk_callback() hci0 новый CSRK для 5C:CB:99:7F:77:02 тип 2
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/adapter.c:new_long_term_key_callback() hci0 новый LTK для 5C:CB:99:7F:77:02 тип 1 enc_size 16
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/device.c:device_set_bonded()
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/device.c:device_bonding_complete() статус соединения (ноль) 0x00
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_unref() 0xfd1000: ref=1
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/adapter.c:resume_discovery()
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/adapter.c:new_long_term_key_callback() hci0 новый LTK для 5C:CB:99:7F:77:02 тип 1 enc_size 16
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/device.c:device_set_bonded()
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/device.c:device_bonding_complete() статус соединения (ноль) 0x00
17 декабря 07:35:56 bluetoothd[368]: ../bluez-5.50/src/adapter.c:resume_discovery()
17 декабря 07:36:15 bluetoothd[368]: ../bluez-5.50/src/adapter.c:dev_disconnected() Устройство 5C:CB:99:7F:77:02 отключено, причина 3
17 декабря 07:36:15 bluetoothd[368]: ../bluez-5.50/src/adapter.c:adapter_remove_connection() 17 декабря 07:36:15 bluetoothd[368]: ../bluez-5.50/plugins/policy .c:disconnect_cb() причина 3
17 декабря 07:36:15 bluetoothd[368]: ../bluez-5.50/src/adapter.c:bonding_attempt_complete() hci0 bdaddr 5C:CB:99:7F:77:02 тип 1 статус 0xe
17 декабря 07:36:15 bluetoothd[368]: ../bluez-5.50/src/device.c:device_bonding_complete() статус соединения (ноль) 0x0e
17 декабря 07:36:15 bluetoothd[368]: ../bluez-5.50/src/device.c:device_bonding_failed() статус 14
17 декабря 07:36:15 bluetoothd[368]: ../bluez-5.50/src/adapter.c:resume_discovery()
17 декабря 07:36:36 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_disconnect() Агент: 1.49 отключен
17 декабря 07:36:36 bluetoothd[368]: ../bluez-5.50/src/agent.c:remove_default_agent() Агент по умолчанию очищен
17 декабря 07:36:36 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_destroy() агент: 1.49
17 декабря 07:36:36 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_unref() 0xfd1000: ref=0
17 декабря 07:36:37 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_ref() 0xfd2808: ref=1
17 декабря 07:36:37 bluetoothd[368]: ../bluez-5.50/src/agent.c:register_agent() агент: 1.51
17 декабря 07:36:37 bluetoothd[368]: ../bluez-5.50/src/agent.c:unregister_agent() агент: 1.51
17 декабря 07:36:37 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_disconnect() Агент: 1.51 отключен
17 декабря 07:36:37 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_destroy() агент: 1.51
17 декабря 07:36:37 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_unref() 0xfd2808: ref=0
============= второе подключение: это устройство непреднамеренно отключилось от системы приложений, как только подключилось ======================= ==============
17 декабря 07:36:37 bluetoothd[368]: ../bluez-5.50/src/agent.c:agent_ref() 0xfd2808: ref=1
17 декабря 07:36:37 bluetoothd[368]: ../bluez-5.50/src/agent.c:register_agent() агент: 1.51
17 декабря 07:36:37 bluetoothd[368]: ../bluez-5.50/src/agent.c:add_default_agent() Агент по умолчанию установлен на: 1.51 /org/bluez/agent
17 декабря 07:36:42 bluetoothd[368]: ../bluez-5.50/src/adapter.c:connected_callback() hci0 устройство 4D:EE:4F:F1:6F:FD подключено eir_len 0
17 декабря 07:36:42 bluetoothd[368]: ../bluez-5.50/src/device.c:device_create() dst 4D:EE:4F:F1:6F:FD
17 декабря 07:36:42 bluetoothd[368]: ../bluez-5.50/src/device.c:device_new() адрес 4D:EE:4F:F1:6F:FD
17 декабря 07:36:42 bluetoothd[368]: ../bluez-5.50/src/device.c:device_new() Создание устройства /org/bluez/hci0/dev_4D_EE_4F_F1_6F_FD
17 декабря 07:36:43 bluetoothd[368]: ../bluez-5.50/src/adapter.c:dev_disconnected() Устройство 4D:EE:4F:F1:6F:FD отключено, причина 3
17 декабря 07:36:43 bluetoothd[368]: ../bluez-5.50/src/adapter.c:adapter_remove_connection()
17 декабря 07:36:43 bluetoothd[368]: ../bluez-5.50/src/adapter.c:adapter_remove_connection() Удаление временного устройства /org/bluez/hci0/dev_4D_EE_4F_F1_6F_FD
17 декабря 07:36:43 bluetoothd[368]: ../bluez-5.50/src/device.c:device_remove() Удаление устройства /org/bluez/hci0/dev_4D_EE_4F_F1_6F_FD
17 декабря 07:36:43 bluetoothd[368]: ../bluez-5.50/src/device.c:btd_device_unref() Освобождение устройства /org/bluez/hci0/dev_4D_EE_4F_F1_6F_FD
17 декабря 07:36:43 bluetoothd[368]: ../bluez-5.50/src/device.c:device_free() 0xff3058
17 декабря 07:36:43 bluetoothd[368]: ../bluez-5.50/plugins/policy.c:disconnect_cb() причина 3
17 декабря 07:36:43 bluetoothd[368]: ../bluez-5.50/src/adapter.c:bonding_attempt_complete() hci0 bdaddr 4D:EE:4F:F1:6F:FD тип 2 статус 0xe
17 декабря 07:36:43 bluetoothd[368]: ../bluez-5.50/src/adapter.c:resume_discovery()