BLE Multirole LESC Example Doesn't work on SDK 17.1.0

Hello everyone. I tried to run the ble_app_multirole_lesc example on SDK 17.1.0. But it seems that the App can't Initialize Successfully. I opened the Logs and Found "fatal error" log after initializing the RTC. I thought that the download button in Keil has some issues. So, I erased the whole flash and flashed the example hex and the soft device 7.2.0 exists with the same SDK. And got the same log. So, I build the same app from SDK 16.0.0 and flashed it with this SDK Soft device 7.0.1 and it worked normally. Then I changed the soft device to the same version in SDK 17.1.0 (SD 7.2.0) and it worked as well. Note: I compared the Keil projects for the same example in both SDK and found that the following changes 1. SDK 16.0.0 uses Oberon library version 3.0.1 while SDK 17.1.0 uses Oberon library version 3.0.8 2. SDK 16.0.0 uses nrf_cc310 library version 0.9.12 while SDK 17.1.0 nrf_cc310 library version 0.9.13

  • I will try the same family package and will let you know the results if it was solved or not.

  • I tried the same example with the recommended family package and still the issue exists. Kindly find attached log files and the corresponding sniffing session.

    LESC SDK 17.1.0 Native Example.pcapng

    [2024-02-18 17:02:38.259] <info> app_timer: RTC: initialized.
    [2024-02-18 17:02:38.262] <info> app: LE Secure Connections example started.
    [2024-02-18 17:02:38.267] <info> app: Scanning
    [2024-02-18 17:02:38.272] <info> app: Advertising
    [2024-02-18 17:02:53.436] <info> app: PERIPHERAL: Connected, handle 1.
    [2024-02-18 17:02:53.496] <info> app: PERIPHERAL: BLE_GAP_EVT_SEC_PARAMS_REQUEST
    [2024-02-18 17:02:53.755] <info> app: PERIPHERAL: BLE_GAP_EVT_LESC_DHKEY_REQUEST
    [2024-02-18 17:02:53.763] <info> nrf_ble_lesc: Calling sd_ble_gap_lesc_dhkey_reply on conn_handle: 1
    [2024-02-18 17:02:54.128] <info> app: PERIPHERAL: BLE_GAP_EVT_PASSKEY_DISPLAY: passkey=472085 match_req=1
    [2024-02-18 17:02:54.134] <info> app: Press Button 1 to confirm, Button 2 to reject
    [2024-02-18 17:02:57.451] <info> app: Numeric REJECT. Conn handle: 1
    [2024-02-18 17:03:24.146] <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x1, procedure: Bonding, error: 1
    [2024-02-18 17:03:24.157] <warning> peer_manager_handler: Disconnecting conn_handle 1.
    [2024-02-18 17:03:24.162] <info> app: PERIPHERAL: BLE_GAP_EVT_AUTH_STATUS: status=0x1 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0
    [2024-02-18 17:03:24.187] <info> app: PERIPHERAL: Disconnected, handle 1, reason 0x16.
    

  • Hi

    In the logs we can see that the connection security failed due to a numeric reject. So it seems like the security procedure failed with the incorrect passcode. You will have to go back and look into what you configured as the bonding method, and if you entered the correct passkey when the user interaction triggered.

    Best regards,

    Simon

  • Hello Simon. The code was displayed correctly in both sides. Also, there is no passkey needs to be entered.

  •  
    The Example on SDK 17.1.0 shall work with family Package 8.44.0 or newer in order to operate normally. While the same Example on SDK 16.0.0 shall work with family Package 8.27.0 or newer.

    The issue was solved by upgrading the family package and the example works and behaves the same as exist in SDK 16.0.0. But.. 

    There is another issue (SMP Pairing Failed) Message is not sent over the air in the Native Example. I Already opened another ticket for it. So I appreciate if we can continue the discussion of the missing packet there. for better tickets organization for future reference. 

    Ticket Link:

    (+) SMP Pairing Failed message is not sent from Peripheral to Central in Numeric Comparison Bonding - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)

    Thanks A lot Simon for your support.

    Best Regards,

    Mina

Related