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

Occasional Slow Disconnect

We have an application that requires a fairly quick disconnect (under 250msec) when the RSSI exceeds a threshold, for example -80db. Unfortunately, around 1 out of every 4 disconnects is taking over 4sec. This is the time from when the Peripheral executes sd_ble_gap_disconnect to the receiving of the BLE_GAP_EVT_DISCONNECTED event.

I know the RSSI is up to date because our application is transferring data every 256msec.

I'm running SDK 10.0.0 with nRF51 devices.

Any ideas as to what may be causing the intermittent slow disconnect? Unfortunately I'm having problems using your nRF Sniffer tool, so I'm not able to see what going on over the air.

Thanks.

--karl

Parents
  • FormerMember
    0 FormerMember

    When using sd_ble_gap_disconnect(..) the disconnect should be immediate. Which error code does sd_ble_gap_disconnect() return?

    If it takes 4s before the BLE_GAP_EVT_DISCONNECTED occur, a timeout could be the reason for the disconnect. What is the connection supervision timeout?

    When the BLE_GAP_EVT_DISCONNECTED occur, which disconnect reason does it contain? (ble_evt_t -> ble_gap_evt_t -> ble_gap_evt_disconnected_t )

    What goes wrong when you try the sniffer? Which version of Wireshark do you use? The sniffer works best with version 1.10, not one of the newer versions. The older versions can be downloaded here:

  • FormerMember
    0 FormerMember in reply to FormerMember

    Okay, I see. If you are able to transfer data, you should be able to disconnect the link as well. In that case, it would be very nice to use the sniffer, to check what is being transferred over the air. What goes wrong when you use the sniffer?

Reply Children
No Data
Related