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
  • Thank you Ulrich. What I see when the BLE_GAP_EVT_AUTH_STATUS event happens is BLE_GAP_SEC_STATUS_SUCCESS in p_ble_evt->evt.gap_evt.params.auth_status.auth_status. this should mean that the PIN was right. The reason field on the disconnect event is 0x13 BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION. About thee OOB answering in evt BLE_GAP_EVT_SEC_PARAMS_REQUEST I use:

    sd_ble_gap_sec_params_reply(m_conn_handle , BLE_GAP_SEC_STATUS_SUCCESS , &own_params, NULL);
    

    where:

    own_params.bond = 1; own_params.mitm = 1; own_params.io_caps = BLE_GAP_IO_CAPS_DISPLAY_ONLY; own_params.oob = 0; own_params.min_key_size = 7; own_params.max_key_size = 16; Any Ideas? It seems that iOs doesn't like some answer I provide??

Reply
  • Thank you Ulrich. What I see when the BLE_GAP_EVT_AUTH_STATUS event happens is BLE_GAP_SEC_STATUS_SUCCESS in p_ble_evt->evt.gap_evt.params.auth_status.auth_status. this should mean that the PIN was right. The reason field on the disconnect event is 0x13 BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION. About thee OOB answering in evt BLE_GAP_EVT_SEC_PARAMS_REQUEST I use:

    sd_ble_gap_sec_params_reply(m_conn_handle , BLE_GAP_SEC_STATUS_SUCCESS , &own_params, NULL);
    

    where:

    own_params.bond = 1; own_params.mitm = 1; own_params.io_caps = BLE_GAP_IO_CAPS_DISPLAY_ONLY; own_params.oob = 0; own_params.min_key_size = 7; own_params.max_key_size = 16; Any Ideas? It seems that iOs doesn't like some answer I provide??

Children
No Data
Related