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

iOS application connecting in the background

I'm using SDK 15.3.0 and SoftDevice 6.1.1 running on an nRF52832.

The iOS application works correctly when it is running in the foreground.  It is able to connect and bond to the nRF.

After it has bonded, if I try to connect in the background, I'm seeing an BLE_GAP_EVT_AUTH_STATUS event.  I don't see that event during a foreground connection. The fields in the status event are saying that the remote side (src) returned a status of BLE_GAP_SEC_STATUS_UNSPECIFIED (0x88):

[00:01:24.056,976] <debug> ble_dcs: Event BLE_GAP_EVT_AUTH_STATUS (0x19)
[00:01:24.057,006] <info> app: BLE_GAP_EVT_AUTH_STATUS: status:0x88 bond:0x0 src:0x1 lesc:0x0
[00:01:24.057,037] <info> app: BLE_GAP_EVT_AUTH_STATUS: sm1:0000
[00:01:24.057,037] <info> app: BLE_GAP_EVT_AUTH_STATUS. sm2.0000
[00:01:24.057,067] <info> app: BLE_GAP_EVT_AUTH_STATUS: kdist_own: enc:0x0 id:0x0 sign:0x0 link:0x0
[00:01:24.057,067] <info> app: BLE_GAP_EVT_AUTH_STATUS: kdist_peer: enc:0x0 id:0x0 sign:0x0 link:0x0


I'm looking for any insight into the cause of this issue and what (if anything) can be done about it?

thanks,

Jeff

Parents
  • A colleague suggested that I double check my connection parameters against the Apple Accessory Design Guidelines (https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf).

    I believe that I'm meeting those with the values:

    • min: 15 ms
    • max: 75 ms
    • latency: 0
    • connection supervision timeout: 6 sec

    However, there is a statement:

    The device will not read or use the parameters in the Peripheral Preferred Connection Parameters characteristic. See the Bluetooth 4.0 specification, Volume 3, Part C, Section 12.5.

    I'm using the function sd_ble_gap_ppcp_set() to set those connection parameters.

    Is there another way that should be used when connecting with an iOS device?

    The guidelines say to send a L2CAP Connection Parameter Update Request at the appropriate time.  Is that done by responding to a BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST event?

    thanks,

    Jeff

Reply
  • A colleague suggested that I double check my connection parameters against the Apple Accessory Design Guidelines (https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf).

    I believe that I'm meeting those with the values:

    • min: 15 ms
    • max: 75 ms
    • latency: 0
    • connection supervision timeout: 6 sec

    However, there is a statement:

    The device will not read or use the parameters in the Peripheral Preferred Connection Parameters characteristic. See the Bluetooth 4.0 specification, Volume 3, Part C, Section 12.5.

    I'm using the function sd_ble_gap_ppcp_set() to set those connection parameters.

    Is there another way that should be used when connecting with an iOS device?

    The guidelines say to send a L2CAP Connection Parameter Update Request at the appropriate time.  Is that done by responding to a BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST event?

    thanks,

    Jeff

Children
No Data
Related