Hi!
In our test, it was found that CC2640R2F had compatibility problems with some mobile phones when running BLE5 stack. When we use TI official SDK BLE5 "simple_peripheral" firmware test, this phenomenon also came out.
Our customers have reported this problem for many times during the use of the product, and we hope that TI can support us to solve this problem. The method to reappear the phenomenon is as follows:
Test conditions:
- Hardware: TI Launchpad ("LAUNCHXL-CC2640R2F Rev:1.0)
- Firmware: cc2640r2lp_simple_peripheral.hex (C:/ti/simplelink_cc2640r2_sdk_4_20_00_04/examples/rtos/CC2640R2_LAUNCHXL/ble5stack/hexfiles/cc2640r2lp_simple_peripheral.hex)
- Mobile phone: Redmi Note 7 Pro (MIUI 11.0.8) (The phenomenon was found more frequently in this phone).
- APP: nRF Connect v4.19.0
Problem phenomenon:
- The mobile phone uses the "nRF Connect" APP to scan broadcast packet of the development board, and then the mobile phone connects to the development board.
- The APP will initiate two link parameter updates (7.5 ms and 45 ms respectively) and service discovery to the device by default. When the APP initiates the second link parameter update of 45 ms to the device, and the APP received the successful update feedback, in a in large probability, the mobile phone may receive a timeout disconnect (GATT CONN TIMEOUT) after 5 seconds.
- This phenomenon occurs so frequently. Repeat operations (connecting to the development board, waiting for more than 5 seconds after completing the second link parameter update of the APP, and then disconnecting the development board), and the phenomenon approximately occurs once in 12 operations.
Measured times:
According to the above method, repeat the operation for the following times, the development board will have a timeout disconnect:
5, 15, 11, 11, 1, 18, 44, 10, 2, 7, 15, 4, 10.
Similarly, according to the above method, the operation was repeated 70 times in other manufacturers' development board, and there was no overtime disconnection.
Attachments:
- "nrf-debug.png" and "nrf-info.png" are screenshots of APP log data, both of which are log information under the same operation. The "nrf-debug" log information is more detailed, while the "nrf-info" log information will be more concise, but it is clearer that the timeout disconnection occurs when the connection disconnect operation is performed.


- "mobile phone model.jpg" is a screenshot of the mobile phone model used in the test.

Hope we can get the feedback ASAP.
Best regards.
Sunny


