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

About central pair issues

Hi,

I'm developing a CENTRAL using 52832 to connect a earphone.

1.When I enable LESC, the pair fails with the AUTH_NOT_SUPP error. Why ?

What I think if the earphone doesn't support LESC, legacy pair will take place, pair should still complete.

2.When CENTRAL disconnects from a bounded connection and erased the bond info(earphone still keep the bond info), it cannot make the connection again. There will be error=0x3e immediately happens on every connect attempt.

How to modify to CENTRAL code to adapt this case. When I use phone APP nRF Connect, there is no such problem.

Tks for any advices!

Parents
  • Hi, 

    1.When I enable LESC, the pair fails with the AUTH_NOT_SUPP error. Why ?

    Which SDK version are you using?

    Are you able to provide the complete log? You could build with debug or add DEBUG into Processor Definitions. 

    Which function returns AUTH_NOT_SUPP error?

    2.When CENTRAL disconnects from a bounded connection and erased the bond info(earphone still keep the bond info), it cannot make the connection again. There will be error=0x3e immediately happens on every connect attempt.

    Please beware that repairing is not secure. If repairing is allowed anyone can just pretend it has the same MAC address and read all the data by bonding again.

    It's recommended to instead remove the pairing info on both sides. This can also be done "remotely", like with a "restore factory defaults" setting in your device, or with a button. For the SDK examples, you can delete all bonds by pressing board button 2 while resetting the device. If you choose to allow repairing anyways, the user data should at least be removed so no one can get access to them.

    The peer manager which handles pairing requests will for security reasons* reject new pairing requests from an already bonded peer device. You may add the following event handling to the PM callback if you want to allow repairing:

           case PM_EVT_CONN_SEC_CONFIG_REQ: 
           {
                pm_conn_sec_config_t config = {.allow_repairing = true};
                pm_conn_sec_config_reply(p_evt->conn_handle, &config);
           }
     

     -Amanda H.

  • It's weird, LESC will cause system reboot or ERR:Fatal.

Reply Children
No Data
Related