This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Samsung Android 10 DFU + BLE Connection issues.

Hi, my development is based on the nrf52 SoC. I use the s132 Softdevice. 

One of my clients has recently experienced a Gatt error when uploading firmware using the nrf toolbox mobile app. Secondly, after uploading the firmware...the device disconnected from the nrf connect app after 30 seconds. This is a recurring issue, every time the device connects to the mobile app...it disconnects after 30 seconds.

Lastly, the important part of this post is that the client used a Samsung S10, Android version 10. I have tested the BLE connection and DFU update with various phones such as the Nexus, Pixel, Huawei and an Iphone and all of them work just fine. I have seen this type of issue replicate in China with region-locked smartphones. Im assuming this is an issue with the mobile devices BLE standard but could anyone please advise me as to how i can fix this issue as soon as possible. Thank you 

  • nRF Connect, 2020-06-08
    RombotB_C520F1A0669B (C5:20:F1:A0:66:9B)
    V	15:26:55.449	Connecting to C5:20:F1:A0:66:9B...
    D	15:26:55.449	gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
    D	15:26:55.630	[Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
    D	15:26:55.650	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I	15:26:55.650	Connected to C5:20:F1:A0:66:9B
    V	15:26:55.669	Discovering services...
    D	15:26:55.669	gatt.discoverServices()
    I	15:26:56.184	Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
    D	15:26:56.506	[Callback] Services discovered with status: 0
    I	15:26:56.506	Services discovered
    V	15:26:56.521	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)
    - Service Changed [I] (0x2A05)
       Client Characteristic Configuration (0x2902)
    Secure DFU Service (0xFE59)
    - Buttonless DFU [I W] (8ec90003-f315-4f60-9fb8-838830daea50)
       Client Characteristic Configuration (0x2902)
    Device Information (0x180A)
    - Manufacturer Name String [R] (0x2A29)
    - Hardware Revision String [R] (0x2A27)
    - Firmware Revision String [R] (0x2A26)
    - Software Revision String [R] (0x2A28)
    Battery Service (0x180F)
    - Battery Level [N R] (0x2A19)
       Client Characteristic Configuration (0x2902)
    Unknown Service (8b71a0c0-d50e-67b4-e811-0e2d1c4b0b8b)
    - Unknown Characteristic [R W] (8b710000-d50e-67b4-e811-0e2d1c4b0b8b)
    - Unknown Characteristic [N R W] (8b710001-d50e-67b4-e811-0e2d1c4b0b8b)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [R W] (8b710002-d50e-67b4-e811-0e2d1c4b0b8b)
    - Unknown Characteristic [N R W] (8b710003-d50e-67b4-e811-0e2d1c4b0b8b)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [N R W] (8b710004-d50e-67b4-e811-0e2d1c4b0b8b)
       Client Characteristic Configuration (0x2902)
    D	15:26:56.522	gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
    D	15:26:56.523	gatt.setCharacteristicNotification(00002a19-0000-1000-8000-00805f9b34fb, true)
    D	15:26:56.524	gatt.setCharacteristicNotification(8b710001-d50e-67b4-e811-0e2d1c4b0b8b, true)
    D	15:26:56.525	gatt.setCharacteristicNotification(8b710003-d50e-67b4-e811-0e2d1c4b0b8b, true)
    D	15:26:56.526	gatt.setCharacteristicNotification(8b710004-d50e-67b4-e811-0e2d1c4b0b8b, true)
    I	15:26:56.583	Connection parameters updated (interval: 35.0ms, latency: 0, timeout: 5000ms)
    D	15:27:13.151	[Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0)
    E	15:27:13.151	Error 8 (0x8): GATT CONN TIMEOUT
    I	15:27:13.151	Disconnected
    D	15:27:13.231	[Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED
    V	15:27:29.947	Refreshing device cache...
    D	15:27:29.947	gatt.refresh() (hidden)
    I	15:27:29.949	Cache refreshed
    D	15:27:32.866	gatt.close()
    D	15:27:32.869	wait(200)
    V	15:27:33.071	Connecting to C5:20:F1:A0:66:9B...
    D	15:27:33.071	gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
    D	15:27:33.237	[Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
    D	15:27:33.246	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I	15:27:33.246	Connected to C5:20:F1:A0:66:9B
    V	15:27:33.270	Discovering services...
    D	15:27:33.270	gatt.discoverServices()
    I	15:27:33.797	Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
    D	15:27:34.132	[Callback] Services discovered with status: 0
    I	15:27:34.132	Services discovered
    V	15:27:34.149	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)
    - Service Changed [I] (0x2A05)
       Client Characteristic Configuration (0x2902)
    Secure DFU Service (0xFE59)
    - Buttonless DFU [I W] (8ec90003-f315-4f60-9fb8-838830daea50)
       Client Characteristic Configuration (0x2902)
    Device Information (0x180A)
    - Manufacturer Name String [R] (0x2A29)
    - Hardware Revision String [R] (0x2A27)
    - Firmware Revision String [R] (0x2A26)
    - Software Revision String [R] (0x2A28)
    Battery Service (0x180F)
    - Battery Level [N R] (0x2A19)
       Client Characteristic Configuration (0x2902)
    Unknown Service (8b71a0c0-d50e-67b4-e811-0e2d1c4b0b8b)
    - Unknown Characteristic [R W] (8b710000-d50e-67b4-e811-0e2d1c4b0b8b)
    - Unknown Characteristic [N R W] (8b710001-d50e-67b4-e811-0e2d1c4b0b8b)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [R W] (8b710002-d50e-67b4-e811-0e2d1c4b0b8b)
    - Unknown Characteristic [N R W] (8b710003-d50e-67b4-e811-0e2d1c4b0b8b)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [N R W] (8b710004-d50e-67b4-e811-0e2d1c4b0b8b)
       Client Characteristic Configuration (0x2902)
    D	15:27:34.149	gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
    D	15:27:34.151	gatt.setCharacteristicNotification(00002a19-0000-1000-8000-00805f9b34fb, true)
    D	15:27:34.152	gatt.setCharacteristicNotification(8b710001-d50e-67b4-e811-0e2d1c4b0b8b, true)
    D	15:27:34.153	gatt.setCharacteristicNotification(8b710003-d50e-67b4-e811-0e2d1c4b0b8b, true)
    D	15:27:34.154	gatt.setCharacteristicNotification(8b710004-d50e-67b4-e811-0e2d1c4b0b8b, true)
    I	15:27:34.191	Connection parameters updated (interval: 35.0ms, latency: 0, timeout: 5000ms)
    D	15:27:39.969	[Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0)
    E	15:27:39.969	Error 8 (0x8): GATT CONN TIMEOUT
    I	15:27:39.969	Disconnected
    D	15:27:39.997	[Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED
    D	15:27:50.299	gatt.close()
    D	15:27:50.302	wait(200)
    V	15:27:50.503	Connecting to C5:20:F1:A0:66:9B...
    D	15:27:50.504	gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
    D	15:27:50.769	[Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
    D	15:27:50.785	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I	15:27:50.785	Connected to C5:20:F1:A0:66:9B
    V	15:27:50.802	Discovering services...
    D	15:27:50.802	gatt.discoverServices()
    I	15:27:51.330	Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
    D	15:27:51.658	[Callback] Services discovered with status: 0
    I	15:27:51.658	Services discovered
    V	15:27:51.674	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)
    - Service Changed [I] (0x2A05)
       Client Characteristic Configuration (0x2902)
    Secure DFU Service (0xFE59)
    - Buttonless DFU [I W] (8ec90003-f315-4f60-9fb8-838830daea50)
       Client Characteristic Configuration (0x2902)
    Device Information (0x180A)
    - Manufacturer Name String [R] (0x2A29)
    - Hardware Revision String [R] (0x2A27)
    - Firmware Revision String [R] (0x2A26)
    - Software Revision String [R] (0x2A28)
    Battery Service (0x180F)
    - Battery Level [N R] (0x2A19)
       Client Characteristic Configuration (0x2902)
    Unknown Service (8b71a0c0-d50e-67b4-e811-0e2d1c4b0b8b)
    - Unknown Characteristic [R W] (8b710000-d50e-67b4-e811-0e2d1c4b0b8b)
    - Unknown Characteristic [N R W] (8b710001-d50e-67b4-e811-0e2d1c4b0b8b)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [R W] (8b710002-d50e-67b4-e811-0e2d1c4b0b8b)
    - Unknown Characteristic [N R W] (8b710003-d50e-67b4-e811-0e2d1c4b0b8b)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [N R W] (8b710004-d50e-67b4-e811-0e2d1c4b0b8b)
       Client Characteristic Configuration (0x2902)
    D	15:27:51.674	gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
    D	15:27:51.676	gatt.setCharacteristicNotification(00002a19-0000-1000-8000-00805f9b34fb, true)
    D	15:27:51.677	gatt.setCharacteristicNotification(8b710001-d50e-67b4-e811-0e2d1c4b0b8b, true)
    D	15:27:51.678	gatt.setCharacteristicNotification(8b710003-d50e-67b4-e811-0e2d1c4b0b8b, true)
    D	15:27:51.680	gatt.setCharacteristicNotification(8b710004-d50e-67b4-e811-0e2d1c4b0b8b, true)
    I	15:27:51.726	Connection parameters updated (interval: 35.0ms, latency: 0, timeout: 5000ms)
    D	15:27:58.355	[Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0)
    E	15:27:58.356	Error 8 (0x8): GATT CONN TIMEOUT
    I	15:27:58.356	Disconnected
    D	15:27:58.424	[Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED
    
    Here's a txt file of the log report

  • Hello,

    Is this log from the phone?

    Is it possible to provide logs from the nRF as well? Just to see if that reveals anything. In order to enable logging, you should use the ..._debug projects from the bootloader folder.

    And finally, if you suspect that this has to do with the phone version, it would be good to have a sniffer trace. You can use the nRF Sniffer. Preferably one with the phone that is not working, and one with a phone that is working.

    Store the sniffer traces as .pcapng (standard).

  • Hiya,

    Any update on this situation? I seem to be having the same issue when I am using the Nordic Device Manager with my NRF52840.

  • Hello,

    Please open a new ticket, as this is more than 3 years old. Include some information on what you are seeing in your ticket, together with what versions of the SDK you are using.

    Best regards,

    Edvin

Related