Dear Nordic Engineers
Our customers use nrf5 sdk 17.1.0 for development, and they now test and find that they use the ble_app_keyboard example to connect, and there is a problem of disconnection after the mobile phone is connected to the device.
Their phone model: Redmi k30i 5G
Mobile system: Android 11
APP for testing: nrf connect
The specific phenomenon is that after the mobile phone is successfully connected to the device, after a period of time, the mobile phone will be disconnected. I have used other Android phone tests and did not find this phenomenon.
The following is the LOG printed by the nrf connect app
nRF Connect, 2022-04-14 Nordic_Keyboard (FE:5F:AD:0D:DB:17) I 17:19:08.377 [Server] Server started V 17:19:08.382 Heart Rate (0x180D) - Heart Rate Measurement [N] (0x2A37) Client Characteristic Configuration (0x2902) - Body Sensor Location [R] (0x2A38) - Heart Rate Control Point [W] (0x2A39) Unknown Service (0000aaa0-0000-1000-8000-aabbccddeeff) - Unknown Characteristic [N R] (0000aaa1-0000-1000-8000-aabbccddeeff) Client Characteristic Configuration (0x2902) Unknown Descriptor (0000aab0-0000-1000-8000-aabbccddeeff) Characteristic User Description (0x2901) Characteristic Presentation Format (0x2904) - Unknown Characteristic [I W WNR] (0000aaa2-0000-1000-8000-aabbccddeeff) Client Characteristic Configuration (0x2902) User Data (0x181C) - First Name [R W] (0x2A8A) - Last Name [R W] (0x2A90) - Gender [R W] (0x2A8C) V 17:19:08.663 Connecting to FE:5F:AD:0D:DB:17... D 17:19:08.663 gatt = device.connectGatt(autoConnect = false) D 17:19:10.737 [Server callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 17:19:10.737 [Server] Device with address FE:5F:AD:0D:DB:17 connected V 17:19:10.737 [Server] Creating server connection... D 17:19:10.737 server.connect(device, autoConnect = false) D 17:19:10.742 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED D 17:19:10.747 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 17:19:10.747 Connected to FE:5F:AD:0D:DB:17 D 17:19:10.747 wait(600ms) V 17:19:11.348 Discovering services... D 17:19:11.348 gatt.discoverServices() D 17:19:11.479 [Callback] Services discovered with status: 0 I 17:19:11.480 Services discovered V 17:19:11.496 Generic Access (0x1800) - Device Name [R W] (0x2A00) - Appearance [R] (0x2A01) - Peripheral Preferred Connection Parameters [R] (0x2A04) - Central Address Resolution [R] (0x2AA6) Generic Attribute (0x1801) Device Information (0x180A) - Manufacturer Name String [R] (0x2A29) - PnP ID [R] (0x2A50) Battery Service (0x180F) - Battery Level [N R] (0x2A19) Client Characteristic Configuration (0x2902) Human Interface Device (0x1812) - Protocol Mode [R WNR] (0x2A4E) - Report [N R W] (0x2A4D) Client Characteristic Configuration (0x2902) Report Reference (0x2908) - Report [R W WNR] (0x2A4D) Report Reference (0x2908) - Report [R W] (0x2A4D) Report Reference (0x2908) - Report Map [R] (0x2A4B) - Boot Keyboard Input Report [N R] (0x2A22) Client Characteristic Configuration (0x2902) - Boot Keyboard Output Report [R W WNR] (0x2A32) - HID Information [R] (0x2A4A) - HID Control Point [WNR] (0x2A4C) D 17:19:22.633 [Server callback] Connection state changed with status: 0 and new state: DISCONNECTED (0) I 17:19:22.633 [Server] Device disconnected D 17:19:22.634 [Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0) E 17:19:22.634 Error 8 (0x8): GATT CONN TIMEOUT I 17:19:22.635 Disconnected D 17:19:22.693 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED
Please help me analyze what is causing this phenomenon.
Best regards.