Description
Description of defect
Running the SecurityandPrivacy BLE example demonstrating Security Manager implementation only works with 2 microcontrollers doing the demo.
Pairing process fails with error code 'SEC_STATUS_UNSPECIFIED' (0x88) in pairingResult when attempting to pair from Android 12 or iOS as masters. The SecurityandPrivacy was slightly modified to run only as a peripheral in an Arduino Nano 33 BLE (nrf52840). Traces were enabled but does not give additional information about the problem (error code: DM_SEC_PAIR_FAIL_IND ). The same error occurs when securityManager is initialized with static passkey and SecurityManager::IO_CAPS_DISPLAY_ONLY
On the master side an incorrect pin error pops up a few seconds after accepting pairing 2 times.
Target(s) affected by this defect ?
Arduino Nano 33 BLE (nrf58240)
Toolchain(s) (name and version) displaying this defect ?
arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi
What version of Mbed-os are you using (tag or sha) ?
mbed-os-6.14
What version(s) of tools are you using. List all that apply (E.g. mbed-cli)
Uploading firmware to target with Arduino IDE, mbed source code is compiled with script https://github.com/arduino/ArduinoCore-mbed
How is this defect reproduced ?
After uploading the code, the example works correctly with a second board running SecurityandPrivacy example as a master, but trying to connect with Android phone or iPhone does not work. Traces for both cases are attached.
traces pairing 2 boards AN33BLE.txt
traces pairing Android.txt
https://github.com/ARMmbed/mbed-os-example-ble/tree/development/BLE_SecurityAndPrivacy