This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

missing Generic L2CAP payload after the SM pairing rsp

I updated the original question

Hi, I am working with two nRF52 SDK13 central and peripheral, with no display, each is connected thought UART to a software interface, so I am mimicking the example multi role lesc,

I am able to pair, bond and encrypt the link, but I am wondering why I am getting a empty Generic L2CAP payload after the SM pairing rsp, it happens to each new connection when bonding, and if I am not bonding it happens always to each connection.

my sniffer capture:image description

The only difference between "my application" or multirole_lesc example mimic is. on my application, I am not performing a discovery service because I know where are all my handles for each characteristic and I connect only my own devices.

my code for the ble events realted to security

my scenario is pretty similar to this guy:what-is-the-reason-for-ble_gap_sec_status_dhkey_failure/

Parents
  • Hi Petter, It is include on my UART handle sorry for not included it above.

    void uart_handle(app_uart_evt_t * p_event ) 
    {
    		if (p_event->evt_type == APP_UART_DATA_READY)		// interruption UART RX
    		{
    			
    			if (m_numneric_match_requested)
    			{
    		
    				sd_ble_gap_auth_key_reply(m_num_comp_conn_handle, BLE_GAP_AUTH_KEY_TYPE_PASSKEY, NULL); /*4*/
    				m_numneric_match_requested = false;
    			}	
    		}
    }
    

    When I receive the the "BLE_GAP_EVT_PASSKEY_DISPLAY" over UART I check m_numneric_match_requested to call sd_ble_gap_auth_key_reply(); it has few validation because I am experimenting with it to port the security to my application, it "works" using my two nrf52 central and peripheral, but is unable to pair with numeric comparison when I am using nrf connect. I am using actually the same code from the multirole example

Reply
  • Hi Petter, It is include on my UART handle sorry for not included it above.

    void uart_handle(app_uart_evt_t * p_event ) 
    {
    		if (p_event->evt_type == APP_UART_DATA_READY)		// interruption UART RX
    		{
    			
    			if (m_numneric_match_requested)
    			{
    		
    				sd_ble_gap_auth_key_reply(m_num_comp_conn_handle, BLE_GAP_AUTH_KEY_TYPE_PASSKEY, NULL); /*4*/
    				m_numneric_match_requested = false;
    			}	
    		}
    }
    

    When I receive the the "BLE_GAP_EVT_PASSKEY_DISPLAY" over UART I check m_numneric_match_requested to call sd_ble_gap_auth_key_reply(); it has few validation because I am experimenting with it to port the security to my application, it "works" using my two nrf52 central and peripheral, but is unable to pair with numeric comparison when I am using nrf connect. I am using actually the same code from the multirole example

Children
No Data
Related