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

Error code 0x00008043 received when calling dm_security_setup_req

Hello,

I'm working with a nrf51822, SoftDevice S120 v2.0 and SDK v9.0 platform.

Specifically using it a Central role to connect to a Blood Pressure peripheral.

When I connect to the peripheral and subscribe to the target characteristic for "INDICATION" (so it can send me the Blood Pressure readings)

The peripheral responds to my centrals sd_ble_gattc_write() command on its CCCD with a BLE_GATTC_EVT_WRITE_RSP.

Here it indicates that it requires BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION

I then do this:

uint32_t err_code = dm_security_setup_req(&p_client->handle);
APP_ERROR_CHECK(err_code);

When doing this I get an error code of 0x00008043.

I am pretty new to Nordic SD/SDK so I'm unable to work this error code out.

Can someone please advice?

Thanks very much, Mark

Parents
  • Hi @Petter

    I increased DEVICE_MANAGER_MAX_BONDS from 8 to 9.

    I assumed that this new space will be then used to bond with my Peripheral. i.e. m_peer_table[newIndex].id_bitmap would equal UNASSIGNED But I'm seeing some weird behaviour.

    In this method:

    static __INLINE ret_code_t device_instance_allocate(uint8_t *              p_device_index,
                                                          ble_gap_addr_t const * p_addr)
    

    I printed out the id_bitmap of all 9 bond after increasing my MAX BONDS to 9.

    And this is what I see:

    ******** m_peer_table[0].id_bitmap = 0xDB
    ******** m_peer_table[1].id_bitmap = 0x68
    ******** m_peer_table[2].id_bitmap = 0x9B
    ******** m_peer_table[3].id_bitmap = 0x1C
    ******** m_peer_table[4].id_bitmap = 0xFD
    ******** m_peer_table[5].id_bitmap = 0x59
    ******** m_peer_table[6].id_bitmap = 0x58
    ******** m_peer_table[7].id_bitmap = 0xB0
    ******** m_peer_table[8].id_bitmap = 0x1C (This should be the new one) 
    

    m_peer_table[8].id_bitmap should be UNASSIGNED but it holding 0x1C.

    I cant seem to find what 0x1C is? Can you point out what may be happening here?

Reply
  • Hi @Petter

    I increased DEVICE_MANAGER_MAX_BONDS from 8 to 9.

    I assumed that this new space will be then used to bond with my Peripheral. i.e. m_peer_table[newIndex].id_bitmap would equal UNASSIGNED But I'm seeing some weird behaviour.

    In this method:

    static __INLINE ret_code_t device_instance_allocate(uint8_t *              p_device_index,
                                                          ble_gap_addr_t const * p_addr)
    

    I printed out the id_bitmap of all 9 bond after increasing my MAX BONDS to 9.

    And this is what I see:

    ******** m_peer_table[0].id_bitmap = 0xDB
    ******** m_peer_table[1].id_bitmap = 0x68
    ******** m_peer_table[2].id_bitmap = 0x9B
    ******** m_peer_table[3].id_bitmap = 0x1C
    ******** m_peer_table[4].id_bitmap = 0xFD
    ******** m_peer_table[5].id_bitmap = 0x59
    ******** m_peer_table[6].id_bitmap = 0x58
    ******** m_peer_table[7].id_bitmap = 0xB0
    ******** m_peer_table[8].id_bitmap = 0x1C (This should be the new one) 
    

    m_peer_table[8].id_bitmap should be UNASSIGNED but it holding 0x1C.

    I cant seem to find what 0x1C is? Can you point out what may be happening here?

Children
No Data
Related