SMP Pairing Failed message is not sent from Peripheral to Central in Numeric Comparison Bonding

Hello Everyone. I tried to run the ble_app_multirole_lesc example on SDK 16.0.0 to test the numeric comparison match feature on bonding. And found that the handling of this feature shall follow the same sequence diagram illustrated in this link: infocenter.nordicsemi.com/index.jsp I noticed that the SMP Pairing Failed message is not sent from the peripheral to central if we rejected the pairing from the peripheral device only and no action is taken from the central side. Attached our sniffing sessions.

Multirole LESC Reject Pairing Peripheral_SD_7_2_0.pcapng

Parents Reply Children
  • I tried the same example on both SDK 16.0.0 and 17.1.0, After Making it work as per this ticket [(+) BLE Multirole LESC Example Doesn't work on SDK 17.1.0 - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)]. And it seems that the SMP Pairing Rejected Message is not sent over the air in both examples. Attached The Logs, Sniffing Session for the example behavior

    8726.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!

    When I'm testing this with a nRF52840-DK, nRF5 SDK v17.1.0 , S140 v7.2.0, ble_app_multirole_lesc example, I'm getting the Pairing Failed:

    On the Phone side, I'm using nRF connect for mobile app.

    I start the pairing from the phone, then reject with the button 2 on the DK, and when I see the numeric number on the phone side, I press connect on the phone.

  • The issue will appear when you are not taking any action on the phone. And reject the bonding on the DK only

  •  
    The issue i'm talking about will appear when you take the action from the peripheral side only (DK) and no action is taken from the central side (Mobile).

    If you need any more details regarding the generation scenario. Kinly let me know.

    Thanks 

    Mina 

Related