This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2642R: Device getting disconnect while making other ble connection

Part Number: CC2642R

I am using simplelink_cc26x2_sdk_2_30_00_34 sdk simple_peripheral example. As per my usecase, device will work in peripheral mode and connect upto 8 central devices but right now i am trying with only 2 connections. My BLE device is always sending continuous data to all connected central devices using notification. If new connection request comes at that time, everytimes connection become unstable and device got disconnected after few seconds with ble error code 0x28(BLE_HCI_INSTANT_PASSED) or 0x08(BLE_HCI_CONNECTION_TIMEOUT).

Can someone tell me what causing this issue. How to solve this?

  • Hey Aditya,

    Are you able to connect to two devices with a stable connection if the continuous notifications are turned off?

    Can you provide sniffer logs so that we can see what's happening over the air?
  • Hi Ammar,

    Yes,If we turned off notification then connect devices connections are stable with 3-4 connections also. But when some data transfer going on we are getting connection failed.

    Please check below sniffer logs with 2 connections. If we increase MAX_BLE_CONN connections this connection instability increased. 

    Connection_instabilty_issue.txt

  • Hey Aditya,

    I didn't see any disconnections in the logs. This post is very similar to your other post here: e2e.ti.com/.../766643 .

    Let's communicate there to find a solution to these problems.
  • Hi Ammar,

    I will share the disconnection logs again, for now can you please tell me what are the cause of below error codes, means when below error code comes?

    0x28 (BLE_HCI_INSTANT_PASSED) 

    0x08 (BLE_HCI_CONNECTION_TIMEOUT)

  • I went back and saw the 0x28 disconnect in the logs. I'm sorry that I missed it the first time around.

    This error code means that "the instant (for updating the parameters) has occurred and the control procedure for the connection update request still has not been ACK'd by the slave."

    Do you pause notifications when a connection event is received? I think that maybe the stack is busy processing the continuous notifications and is not able to process the incoming connection request/parameter update. Therefore, you may also get a BLE_HCI_CONNECTION_TIMEOUT error because the slave did not respond in time, and the ble connection times out. If the slave is busy sending notifications, then this case is possible and is likely what we're seeing.
  • Hi Ammar,

    I tried pausing notifications when a new connection request comes till the connection parameter updated. But still connection is not stable, sometimes connection made sometimes not, but even if device make successful connection, it got disconnected after sometime.

    After making 3 successful connection, i left the device for few minutes without sending any notification, but still device got disconnected with error code 0x08(BLE_HCI_CONNECTION_TIMEOUT).
    I am not sure why it is happening , Please suggest something how i can resolve this?

  • What is your test setup, so that I may reproduce the issue on my end? What devices are you using to connect to the peripheral?

    Can you share your code?
  • Hi Ammar,

    Below details of my test setup:

    IDE: - CCS V8.2.0

    SDK:- simplelink_cc26x2_sdk_2_30_00_34

    Example:- simple_peripheral

    No. of BLE connection:- 3 (need to increase to 8 stable connections)

    Peripheral device:- CC2642R1 LAUNCHPAD Rev:1.0.1 / Custom board.

    I am using Andriod & IOS Phones with nRF APP to connect to my custom board(Peripheral) over BLE.

    Due to some restriction, i cannot share the complete code, so I have shared code with only data notification part.
    TI_TEST.rar

  • Hey Aditya,

    I apologize for the delay. I've loaded the code and connected with 3 devices out of the box and didn't experience any disconnects. Can you try reproducing the issue with a launchpad?

    I tried using LightBlue on a Samsung Galaxy S7 running Android v8.0, and experienced issues connecting. However, when switching to the nRF app, it connected. On the second device, I am running iOS using the LightBlue app and connected stably. The last device was another Launchpad connected via HostTest.

    Am I missing something?