Контекст:
Я работаю над аутентификатором Bluetooth FIDO-U2F с nRF52 BLE SoC. и хотите протестировать его с помощью примера Google.
Пока что я реализовал Спецификация FIDO Bluetooth, и у меня есть устройство, которое рекламируется как FIDO-совместимое устройство.
Благодаря nRF Connect у меня есть гарантировал, что все службы и характеристики правильно представлены и что я могу взаимодействовать с ним только тогда, когда мое устройство надежно сопряжено (с LTK):
Проблема:
Когда приложение выполняет поиск подходящего устройства FIDO, оно не находит мое.
Я застрял на экране, который просит нажать кнопку на 5 секунд, что мне не нужно, поскольку мое устройство отвечает на запрос на сопряжение без взаимодействия с пользователем и уже сопряжено с моим SAMSUNG A8.
I/BluetoothDevicePreference: onDeviceAttributesChanged :: Device = (N) D8BE86, isBonded = 12 , mIsOnProgressAddVI = false
I/Fido: [BleScanner] startScan()
E/Fido: [BluetoothPairingStateProvider] getUuids() returns null for device: D8:BE:86:4A:E5:65
I/Fido: [PreferredTransportProvider] BLE enabled but no device is paired
I/Fido: [AuthenticateBaseChimeraActivity] User selected transport ble
I/Fido: [ViewController] Accepting proposed view {"viewName":"ble_instructions","anyU2fDevicesPaired":false}: outranks current (2 > 0)
I/Fido: [ViewPresenter] viewSelected(...) ble_instructions
I/Fido: [U2fRequestController] onResultReceived(null, ErrorResponseData{errorCode=5})
I/Fido: [BleScanner] stopScan()
Я попытался удалить данные сопряжения, и все, что у меня есть, это:
I/BluetoothDevicePreference: onDeviceAttributesChanged :: Device = (N) D8BE86, isBonded = 10 , mIsOnProgressAddVI = false
Рекламные флаги в настоящее время установлены на «BR / EDR не поддерживается», но я также пробовал «LE Limited Discoverable Mode» и «LE General Discoverable Mode em> "безуспешно.
Я просмотрел источники android-fido, но сканирование BLE кажется импортированным из другого места, я не могу отладить его в этом проекте.
Любой указатель приветствуется