I'm running into an issue where my BLE Peripheral with TI BLE-Stack 2.2.0 is no longer able to connect to a Central.
I have a custom board with the CC2650DK_4XS using the internal low-frequency RC oscillator (RCOSC_LF without the 32kHz crystal), and I've loaded it with simple_peripheral with a few minor tweaks (no display and different connection parameters). I ran a basic test where the Central connects, discovers services, read characteristics and disconnects. Initially it worked fine, but after running the test multiple times, the Peripheral can no longer stay connected to the Central. I could see ADV_IND from the Peripheral, as well as CONNECT_IND, but ~200ms afterwards the Peripheral starts sending ADV_IND again with no apparent disconnect reasons.
The following are the steps to reproduce the issue:
1. Install TI BLE-Stack 2.2.0 ble_sdk_2_02_00_31_setup.exe
2. Open IAR workspace C:\ti\simplelink\ble_sdk_2_02_00_31\examples\cc2650em\simple_peripheral\iar\simple_peripheral.eww
3. Select the FlashROM_RCOSC build configuration
4. Set the defined symbols for cc2650em_app – FlashROM_RCOSC:
- USE_ICALL
- USE_RCOSC
- POWER_SAVING
- HEAPMGR_SIZE=0
- Display_DISABLE_ALL
- BOARD_DISPLAY_EXCLUDE_UART
- BOARD_DISPLAY_EXCLUDE_LCD
- ICALL_MAX_NUM_TASKS=3
- ICALL_MAX_NUM_ENTITIES=6
- xdc_runtime_Assert_DISABLE_ALL
- xdc_runtime_Log_DISABLE_ALL
- CC2650DK_4XS
- CC26XX
5. Exclude Startup/ccfg_app_ble.c from build configuration
6. Include Startup/ccfg_app_ble_rcosc.c to build configuration
7. Change connection parameters in simple_peripheral.c:
- #define DEFAULT_DESIRED_MIN_CONN_INTERVAL 300
- #define DEFAULT_DESIRED_MAX_CONN_INTERVAL 315
- #define DEFAULT_DESIRED_SLAVE_LATENCY 4
- #define DEFAULT_DESIRED_CONN_TIMEOUT 600
- #define DEFAULT_CONN_PAUSE_PERIPHERAL 0
8. Rebuild and download cc2650em_app
9. Rebuild and download cc2650em_stack
I used a Samsung S6, Android version 5.0, with BluePixel's BLE Scanner App version 3.6. Note that BTool/HostTest was also unable to maintain a connection after the issue happened.
Sniffer trace are attached.