This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF Connect suddenly can't perform OTA DFU anymore

Hi,

we've been experiencing some strange issues with the OTA DFU on nRF Connect for Androind in the past two days.

We've been using such function on a regular basis with our devices and everything has always been fine, but since a couple of days nRF Connect disconnects from the device saying "CRC does not match!" right after the DFU packet (zip) is selected.

Luckily the same DFU packet (zip) can be successfully loaded on the same device using another smartphone (Blackview A60 Pro), while it does not work on Samsung A8 and Xiaomi Mi 9.

Any clue why this is happening and how to resolve it? Such a problem is quite harmful for us since we are afraid that our clients are likely not able to update the firmware as well.

I'm attaching a log from nRF Connect, hoping it helps.

nRF Connect, 2019-12-17
BLE-B OTA DFU (DD:C3:65:EE:13:97)
V 18:10:11.417 Connecting to DD:C3:65:EE:13:97...
D 18:10:11.417 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D 18:10:11.511 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I 18:10:11.511 Connected to DD:C3:65:EE:13:97
D 18:10:11.535 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
V 18:10:11.546 Discovering services...
D 18:10:11.546 gatt.discoverServices()
I 18:10:11.886 Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms)
I 18:10:12.011 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
D 18:10:12.095 [Callback] Services discovered with status: 0
I 18:10:12.095 Services discovered
V 18:10:12.116 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)
Secure DFU Service (0xFE59)
- DFU Packet [WNR] (8ec90002-f315-4f60-9fb8-838830daea50)
- DFU Control Point [N W] (8ec90001-f315-4f60-9fb8-838830daea50)
   Client Characteristic Configuration (0x2902)
I 18:10:12.147 Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms)
V 18:10:23.557 [DFU] DFU service started
V 18:10:23.557 [DFU] Opening file...
I 18:10:23.596 [DFU] Firmware file opened successfully
V 18:10:23.596 [DFU] Connecting to DFU target...
D 18:10:23.596 [DFU] gatt = device.connectGatt(autoConnect = false)
I 18:10:23.598 [DFU] Connected to DD:C3:65:EE:13:97
V 18:10:23.615 [DFU] Discovering services...
D 18:10:23.615 [DFU] gatt.discoverServices()
I 18:10:23.615 [DFU] Services discovered
W 18:10:23.615 [DFU] Sending system components
D 18:10:23.637 [DFU] wait(1000)
V 18:10:24.659 [DFU] Requesting new MTU...
D 18:10:24.659 [DFU] gatt.requestMtu(517)
I 18:10:24.659 [DFU] MTU changed to: 247
V 18:10:24.659 [DFU] Enabling notifications for 8ec90001-f315-4f60-9fb8-838830daea50
D 18:10:24.659 [DFU] gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50, true)
D 18:10:24.661 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00)
I 18:10:24.718 [DFU] Data written to descr.8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-00
V 18:10:24.718 [DFU] Notifications enabled for 8ec90001-f315-4f60-9fb8-838830daea50
A 18:10:24.718 [DFU] Notifications enabled
D 18:10:24.718 [DFU] wait(1000)
V 18:10:25.730 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 18:10:25.730 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 18:10:25.752 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 06-01
I 18:10:25.752 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-06-01-00-01-00-00-00-00-00-00-00-00-00-00
A 18:10:25.753 [DFU] Command object info received (Max size = 65280, Offset = 0, CRC = 00000000)
V 18:10:25.753 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 18:10:25.753 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 18:10:25.782 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 02-00-00
I 18:10:25.783 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-02-01
A 18:10:25.783 [DFU] Packet Receipt Notif disabled (Op Code = 2, Value = 0)
V 18:10:25.783 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 18:10:25.783 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 18:10:25.811 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-01-97-00-00-00
I 18:10:25.812 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01
A 18:10:25.812 [DFU] Command object created
V 18:10:25.813 [DFU] Writing to characteristic 8ec90002-f315-4f60-9fb8-838830daea50
D 18:10:25.813 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 18:10:25.816 [DFU] Data written to 8ec90002-f315-4f60-9fb8-838830dae
a50, value (0x): 12-94-01-0A-4E-08-01-12-4A-08-10-10-34-1A-04-A8-01-B7-01-20-03-28-D0-82-09-30-94-C2-01-38-00-42-24-08-03-12-20-3F-A7-ED-CA-44-C9-A7-36-74-05-8D-1B-7C-18-01-9D-D7-47-3B-C6-E8-8F-9C-49-35-A4-9A-95-40-55-1B-50-48-00-52-04-08-01-12-00-52-04-08-01-12-00-10-00-1A-40-7D-D3-44-55-90-C3-5C-C1-69-AC-2E-6B-5E-5B-93-38-E9-5C-55-89-9E-8A-84-F1-32-35-28-2F-E7-96-6D-1F-A8-A5-21-A0-34-CF-33-3C-A7-F1-D1-61-3A-84-25-7A-AD-C4-20-A4-7B-5B-59-46-A4-74-61-9E-30-50-AA-04
A 18:10:25.817 [DFU] Command object sent (CRC = 3F8B8C06)
V 18:10:25.817 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 18:10:25.817 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 18:10:25.846 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 03
I 18:10:25.848 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-03-01-97-00-00-00-06-8C-8B-3F
A 18:10:25.848 [DFU] Checksum received (Offset = 151, CRC = 3F177406)
W 18:10:25.848 [DFU] CRC does not match! Retrying...(2/3)
V 18:10:25.848 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 18:10:25.848 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 18:10:25.887 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-01-97-00-00-00
I 18:10:25.888 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01
A 18:10:25.888 [DFU] Command object created
V 18:10:25.888 [DFU] Writing to characteristic 8ec90002-f315-4f60-9fb8-838830daea50
D 18:10:25.888 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 18:10:25.891 [DFU] Data written to 8ec90002-f315-4f60-9fb8-838830daea50, value (0x): 12-94-01-0A-4E-08-01-12-4A-08-10-10-34-1A-04-A8-01-B7-01-20-03-28-D0-82-09-30-94-C2-01-38-00-42-24-08-03-12-20-3F-A7-ED-CA-44-C9-A7-36-74-05-8D-1B-7C-18-01-9D-D7-47-3B-C6-E8-8F-9C-49-35-A4-9A-95-40-55-1B-50-48-00-52-04-08-01-12-00-52-04-08-01-12-00-10-00-1A-40-7D-D3-44-55-90-C3-5C-C1-69-AC-2E-6B-5E-5B-93-38-E9-5C-55-89-9E-8A-84-F1-32-35-28-2F-E7-96-6D-1F-A8-A5-21-A0-34-CF-33-3C-A7-F1-D1-61-3A-84-25-7A-AD-C4-20-A4-7B-5B-59-46-A4-74-61-9E-30-50-AA-04
A 18:10:25.892 [DFU] Command object sent (CRC = 3F8B8C06)
V 18:10:25.892 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 18:10:25.892 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 18:10:25.917 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 03
I 18:10:25.917 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-03-01-97-00-00-00-06-8C-8B-3F
A 18:10:25.923 [DFU] Checksum received (Offset = 151, CRC = 3F177406)
W 18:10:25.923 [DFU] CRC does not match! Retrying...(3/3)
V 18:10:25.923 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 18:10:25.923 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 18:10:25.947 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-01-97-00-00-00
I 18:10:25.948 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01
A 18:10:25.949 [DFU] Command object created
V 18:10:25.949 [DFU] Writing to characteristic 8ec90002-f315-4f60-9fb8-838830daea50
D 18:10:25.949 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 18:10:25.952 [DFU] Data written to 8ec90002-f315-4f60-9fb8-838830daea50, value (0x): 12-94-01-0A-4E-08-01-12-4A-08-10-10-34-1A-04-A8-01-B7-01-20-03-28-D0-82-09-30-94-C2-01-38-00-42-24-08-03-12-20-3F-A7-ED-CA-44-C9-A7-36-74-05-8D-1B-7C-18-01-9D-D7-47-3B-C6-E8-8F-9C-49-35-A4-9A-95-40-55-1B-50-48-00-52-04-08-01-12-00-52-04-08-01-12-00-10-00-1A-40-7D-D3-44-55-90-C3-5C-C1-69-AC-2E-6B-5E-5B-93-38-E9-5C-55-89-9E-8A-84-F1-32-35-28-2F-E7-96-6D-1F-A8-A5-21-A0-34-CF-33-3C-A7-F1-D1-61-3A-84-25-7A-AD-C4-20-A4-7B-5B-59-46-A4-74-61-9E-30-50-AA-04
A 18:10:25.953 [DFU] Command object sent (CRC = 3F8B8C06)
V 18:10:25.953 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 18:10:25.953 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-
838830daea50)
I 18:10:25.977 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 03
I 18:10:25.978 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-03-01-97-00-00-00-06-8C-8B-3F
A 18:10:25.978 [DFU] Checksum received (Offset = 151, CRC = 3F177406)
E 18:10:25.979 [DFU] CRC does not match!
V 18:10:25.979 [DFU] Disconnecting...
D 18:10:26.003 [DFU] gatt.disconnect()
I 18:10:26.003 [DFU] Disconnected
D 18:10:26.003 [DFU] gatt.refresh() (hidden)
D 18:10:26.005 [DFU] gatt.close()
D 18:10:26.012 [DFU] wait(600)
I 18:10:26.110 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
I 18:10:26.290 Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms)
I 18:10:31.316 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
I 18:10:31.497 Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms)
I 18:10:36.508 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
I 18:10:36.685 Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms)

Best regards

Related