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

BLE_GAP_EVT_DISCONNECTED Reason 0x2A

Hi,I need your help.

I use NRF51822QFAA, SDK nRF51_SDK_9.0.0 and iPhone 11 ( IOS 13.2) 

I use a project is ble_app_ancs_c at nRF51_SDK_9.0.0\examples\ble_peripheral\ble_app_ancs_c\pca10028\s110\arm4

I modified the following content:

#define MIN_CONN_INTERVAL MSEC_TO_UNITS(500, UNIT_1_25_MS) /**< Minimum acceptable connection interval (0.5 seconds). */
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(1000, UNIT_1_25_MS) /**< Maximum acceptable connection interval (1 second). */
#define SLAVE_LATENCY 0 /**< Slave latency. */
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) /**< Connection supervisory time-out (4 seconds). */

after modified:

#define MIN_CONN_INTERVAL MSEC_TO_UNITS(220, UNIT_1_25_MS) /**< Minimum acceptable connection interval (0.5 seconds). */
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(280, UNIT_1_25_MS) /**< Maximum acceptable connection interval (1 second). */
#define SLAVE_LATENCY 4 /**< Slave latency. */
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(6000, UNIT_10_MS) /**< Connection supervisory time-out (4 seconds). */

The problem is that the connection to the phone is often broken, the reason is 0x2A

Parents Reply Children
  • Hi,

    There have been a few BLE issues with iPhone 11 and iOS 13, but most seem fixed in 13.2.2. Since that does not seem to be the case we should probably look a bit more closely. Can you make a sniffer trace of the communication and upload it here?

  • Hi,I can't catch the data because you have a system to pair. in fact, this problem is very easy to appear, you can also follow my practice to test.I also have this problem with IOS13.2.2 and SDK12.3.0(S130)

  • Hi,

    I have reproduced this issue and collected a sniffer trace. Looking at it, I see that the peer (iPhone) is initiating new LL control procedures before the previous one has completed, which is violating the Bluetooth specification. Therefore the nRF disconnect with disconnect reason 0x2A (BLE_HCI_DIFFERENT_TRANSACTION_COLLISION). This is an issue on the iPhone and should be solved there.

    We have seen these issues a few times before, and therefore have added workaround in recent SoftDevice versions (starting with 5.x.x), but there are no SoftDevice versions for nRF51 with this workaround implemented. nor do we plan to make any new nRF51 SoftDevices. So unfortunately this means that you have to wait for Apple to fix the bug.

Related