-
Bug
-
Resolution: Fixed
-
Medium
-
SimpleLink CC13x2-26x2 SDK BLE5 Stack
-
BLE_AGAMA-3628
-
BLE Stack BLE5-2.2.2
-
BLE Stack BLE5-2.2.7
-
CC26X2R1
Git/Installer Release Version:
simplelink_cc13x2_26x2_sdk_5_20_00_52, ble5 2.2.2
Application:
simple peripheral.
Problem Reproducibility:
30~50%
Problem Description:
When peripheral receives connection indication packet after 1st advertising packet is sent, the connection establishment will fail from time to time.
From the RF observable signals, it shows that peripheral wakes up too late so it never catch the packets sent from central.
Steps to re-create problem:
Simple_central
- Sends GapInit_connect at the end of GAP_DEVICE_INIT_DONE_EVENT
- Terminate the link 3 seconds after link established.
- Under GAP_LINK_TERMINATED_EVENT, set IO25 to low which puts sp in reset and then sends GapInit_connect right away.
Simple_peripheral
- Only do direct(optional) connectable advertising to sc.
- Stop advertising if link is established successfully.
- Continue advertising if there is no link established.
I have been running the following tests
- Simple_peripheral restarts advertising after links gets terminated. Connection indications are sent after 1st advertising packet is sent.
- Connection sc IO25 to sp reset pin, this will ensure that connection indication packet will be sent right after 1st advertising packet is received.
Then from time to time you will see that the connection was never established and GAP_LINK_TERMINATED_EVENT with reason 0x3E is passed to the application in central device. which is caused by peripheral wakes up too late when joining the connection.