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

what is the meaning of difference of keys list distributed between own device and peer?

In ANCS example (SDK 11.0.0)

I thought keys list distributed should be the same naturally until I see the code below.

ret_code_t   dm_register( dm_application_instance_t    *p_appl_instance,
                          dm_application_param_t const   *p_appl_param )
{
    .
    .
    .

    m_application_table[0].sec_param.kdist_peer.enc  = 0;
    m_application_table[0].sec_param.kdist_peer.id   = 1;
    m_application_table[0].sec_param.kdist_peer.sign = 0;

    m_application_table[0].sec_param.kdist_own.enc   = 1;
    m_application_table[0].sec_param.kdist_own.id    = 1;
    m_application_table[0].sec_param.kdist_own.sign  = 0;
    
    .
    .
    .
}

Is there no problem, although keys distributed are different?

Parents Reply
  • The LTK should be always provided by the slave. The LTK provide by the master can only be used if they switch role in the future. Please see section 2.4.2.3 Vol 3 Part H in Bluetooth Core Spec 5.0.

    IRK = 0 is a little bit strange. I would suggest you to test your phone with one of our example and check if our device manager managed to capture IRK correctly or not (check in the whitelist if we have that IRK provided or not when we advertise after bonding. )

Children
No Data
Related