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

SC field in AuthReq pairing response

Hi, I noticed that I can't bond successfully with my device using iOs 9.1 with Nrf Master control panel iOs app. When I insert the PINCODE, the device immediatly disconnects, and debugging it seems that iOs sends a diconnection command (BLE_GAP_EVT_DISCONNECTED). I read that this problem is due to the fact that iOS 9 is now using the new LE Secure Connections pairing model, and the SC bit is set to 1 in the pairing request. (stackoverflow.com/.../ios-9-1-ble-connects-and-immediately-disconnects)

I checked in the bluetooth core V 4.2 specs that in bonding procedure there is that bitfield in the octect 3 of pairing response called AuthReq, but I couldn't find any way to set it with softdevice 8.0.0.0. I guess the problem could be that one, but I couldn't find a way to test it. So is it possible to change that bit or do you have any information about that problem? I know S110 8.0.0.0 is compliant to V4.1 bluetooth specs, but I have this problem and I don't know how to fix it.

Thank you

Parents
  • @Ulrich: the disconnection reason is 0x13 REMOTE_USER_TERMINATED_CONNECTION. @Vidar: I made several tries using LightBlue app or even Master Control Panel. The problem seems to be solved, I mean now iOs is not disconnecting. I changed the parameter in the function: sd_ble_gap_sec_params_reply; the last one parameter I used to use NULL, now I gave a pointer to the structure ble_gap_sec_keyset_t. Probably before there was not the need to store the key. With this pointer I suppose the softdevice is storing the key, that wasn't storing in case of NULL. But Maybe someone could PROVIDE a more precise answer.

Reply
  • @Ulrich: the disconnection reason is 0x13 REMOTE_USER_TERMINATED_CONNECTION. @Vidar: I made several tries using LightBlue app or even Master Control Panel. The problem seems to be solved, I mean now iOs is not disconnecting. I changed the parameter in the function: sd_ble_gap_sec_params_reply; the last one parameter I used to use NULL, now I gave a pointer to the structure ble_gap_sec_keyset_t. Probably before there was not the need to store the key. With this pointer I suppose the softdevice is storing the key, that wasn't storing in case of NULL. But Maybe someone could PROVIDE a more precise answer.

Children
No Data
Related