Disconnection during DFU upload

On a 52811, SD s112 v7.0.1, we get a disconnection during DFU upload, and the DFU fails.

Excerpt:

A	17:17:53.330	[DFU] Data object (2/14) created
D	17:17:53.330	[DFU] wait(400)
A	17:17:53.731	[DFU] Uploading firmware...
V	17:17:53.731	[DFU] Sending firmware to characteristic 8ec90002-f315-4f60-9fb8-838830daea50...
V	17:17:53.795	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:53.795	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
E	17:17:59.426	[DFU] Device has disconnected
D	17:17:59.426	[DFU] gatt.disconnect()
D	17:17:59.433	[DFU] gatt.close()
V	17:17:59.446	[DFU] DFU service started
I	17:17:59.449	[DFU] Firmware file opened successfully

I don't understand what happens

Full log :

nRF Connect, 2023-01-27
E6DE1492AB6 (E6:DE:14:92:AB:6C)
V	17:17:32.037	Connecting to E6:DE:14:92:AB:6C...
D	17:17:32.037	gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D	17:17:32.265	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I	17:17:32.265	Connected to E6:DE:14:92:AB:6C
V	17:17:32.271	Discovering services...
D	17:17:32.271	gatt.discoverServices()
I	17:17:32.271	MTU changed to: 40
V	17:17:32.283	Discovering services...
D	17:17:32.283	gatt.discoverServices()
I	17:17:32.758	Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
D	17:17:33.145	[Callback] Services discovered with status: 0
I	17:17:33.145	Services discovered
V	17:17:33.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)
Unknown Service (a7630001-f491-4f21-95ea-846ba586e361)
- Unknown Characteristic [W WNR] (a7630002-f491-4f21-95ea-846ba586e361)
- Unknown Characteristic [N R] (00000004-0000-1000-8000-00805f9b34fb)
   Client Characteristic Configuration (0x2902)
- Unknown Characteristic [N] (a7630003-f491-4f21-95ea-846ba586e361)
   Client Characteristic Configuration (0x2902)
Secure DFU Service (0xFE59)
- Buttonless DFU [I W] (8ec90003-f315-4f60-9fb8-838830daea50)
   Client Characteristic Configuration (0x2902)
Battery Service (0x180F)
- Battery Level [N R] (0x2A19)
   Client Characteristic Configuration (0x2902)
Device Information (0x180A)
- Manufacturer Name String [R] (0x2A29)
- Model Number String [R] (0x2A24)
- Serial Number String [R] (0x2A25)
- Firmware Revision String [R] (0x2A26)
- Software Revision String [R] (0x2A28)
D	17:17:33.149	gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
D	17:17:33.152	gatt.setCharacteristicNotification(00000004-0000-1000-8000-00805f9b34fb, true)
D	17:17:33.153	gatt.setCharacteristicNotification(a7630003-f491-4f21-95ea-846ba586e361, true)
D	17:17:33.153	gatt.setCharacteristicNotification(00002a19-0000-1000-8000-00805f9b34fb, true)
I	17:17:33.252	Connection parameters updated (interval: 45.0ms, latency: 0, timeout: 5000ms)
I	17:17:42.392	PHY updated (TX: LE 2M, RX: LE 2M)
V	17:17:43.052	[DFU] DFU service started
V	17:17:43.052	[DFU] Opening file...
I	17:17:44.438	[DFU] Firmware file opened successfully
V	17:17:44.438	[DFU] Connecting to DFU target...
D	17:17:44.439	[DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M)
I	17:17:44.455	[DFU] Connected to E6:DE:14:92:AB:6C
V	17:17:44.456	[DFU] Discovering services...
D	17:17:44.456	[DFU] gatt.discoverServices()
I	17:17:44.459	[DFU] Services discovered
D	17:17:44.467	[DFU] wait(1000)
W	17:17:45.474	[DFU] Application with buttonless update found
V	17:17:45.474	[DFU] Jumping to the DFU Bootloader...
V	17:17:45.474	[DFU] Enabling indications for 8ec90003-f315-4f60-9fb8-838830daea50
D	17:17:45.474	[DFU] gatt.setCharacteristicNotification(8ec90003-f315-4f60-9fb8-838830daea50, true)
D	17:17:45.474	[DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x02-00)
I	17:17:45.539	[DFU] Data written to descr.8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 02-00
V	17:17:45.539	[DFU] Notifications enabled for 8ec90003-f315-4f60-9fb8-838830daea50
A	17:17:45.539	[DFU] Indications enabled
D	17:17:45.539	[DFU] wait(1000)
V	17:17:46.565	[DFU] Writing to characteristic 8ec90003-f315-4f60-9fb8-838830daea50
D	17:17:46.565	[DFU] gatt.writeCharacteristic(8ec90003-f315-4f60-9fb8-838830daea50)
I	17:17:46.625	[DFU] Notification received from 8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 20-01-01
A	17:17:46.625	[DFU] Enter bootloader sent (Op Code = 1)
A	17:17:46.625	[DFU] Response received (Op Code = 1, Status = 1)
D	17:17:46.626	[DFU] gatt.refresh() (hidden)
D	17:17:46.628	[DFU] gatt.disconnect()
D	17:17:46.630	[DFU] gatt.close()
V	17:17:46.631	[DFU] Scanning for the DFU Bootloader... (timeout 5000 ms)
I	17:17:47.067	Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
I	17:17:47.205	[DFU] DFU Bootloader found with address E6:DE:14:92:AB:6D
V	17:17:47.224	[DFU] DFU service started
I	17:17:47.224	[DFU] Firmware file opened successfully
D	17:17:47.224	[DFU] wait(1000)
D	17:17:48.239	[DFU] wait(1000)
V	17:17:49.225	[DFU] Connecting to DFU target...
D	17:17:49.246	[DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M)
I	17:17:49.283	[DFU] Connected to E6:DE:14:92:AB:6D
V	17:17:49.287	[DFU] Discovering services...
D	17:17:49.287	[DFU] gatt.discoverServices()
I	17:17:49.962	[DFU] Services discovered
D	17:17:49.983	[DFU] wait(1000)
V	17:17:50.966	[DFU] Requesting new MTU...
D	17:17:50.966	[DFU] gatt.requestMtu(517)
I	17:17:51.018	[DFU] MTU changed to: 247
V	17:17:51.018	[DFU] Enabling notifications for 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:51.018	[DFU] gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50, true)
D	17:17:51.020	[DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00)
I	17:17:51.047	[DFU] Data written to descr.8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-00
V	17:17:51.047	[DFU] Notifications enabled for 8ec90001-f315-4f60-9fb8-838830daea50
A	17:17:51.047	[DFU] Notifications enabled
D	17:17:51.047	[DFU] wait(1000)
V	17:17:52.048	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:52.048	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
D	17:17:52.077	[Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0)
E	17:17:52.078	Error 8 (0x8): GATT CONN TIMEOUT
I	17:17:52.078	Disconnected
I	17:17:52.088	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-06-01-00-02-00-00-00-00-00-00-00-00-00-00
I	17:17:52.088	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-06-01-00-02-00-00-00-00-00-00-00-00-00-00
A	17:17:52.088	[DFU] Command object info received (Max size = 512, Offset = 0, CRC = 00000000)
V	17:17:52.088	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:52.088	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I	17:17:52.128	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 02-00-00
I	17:17:52.128	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-02-01
A	17:17:52.128	[DFU] Packet Receipt Notif disabled (Op Code = 2, Value = 0)
V	17:17:52.128	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:52.128	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I	17:17:52.141	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-01-8F-00-00-00
I	17:17:52.144	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01
A	17:17:52.144	[DFU] Command object created
V	17:17:52.144	[DFU] Writing to characteristic 8ec90002-f315-4f60-9fb8-838830daea50
D	17:17:52.144	[DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I	17:17:52.147	[DFU] Data written to 8ec90002-f315-4f60-9fb8-838830daea50, value (0x): 12-8C-01-0A-46-08-01-12-42-08-A8-B9-02-10-34-1A-02-CD-01-20-00-28-00-30-00-38-D0-BB-03-42-24-08-03-12-20-C1-99-0E-9B-04-4A-58-AC-17-AA-54-55-90-B7-B3-3B-1E-3E-FE-D8-23-A1-58-AE-15-EE-0D-D7-5F-84-26-A9-48-00-52-04-08-01-12-00-10-00-1A-40-84-4B-BD-CA-56-0D-C2-52-AA-71-E5-FA-2B-DB-7E-EE-7A-23-CB-C0-74-37-76-E5-99-70-4D-2C-DF-AD-8C-E0-40-C4-9E-0E-EC-FC-1A-87-01-F3-68-F8-93-D7-92-4F-24-68-54-69-D6-3B-08-36-57-48-92-B9-0A-C0-65-98
A	17:17:52.147	[DFU] Command object sent (CRC = A6A8FDB4)
V	17:17:52.147	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:52.147	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I	17:17:52.201	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 03
I	17:17:52.202	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-03-01-8F-00-00-00-B4-FD-A8-A6
A	17:17:52.202	[DFU] Checksum received (Offset = 143, CRC = A6A8FDB4)
V	17:17:52.203	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:52.203	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I	17:17:52.232	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 04
I	17:17:52.383	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-04-01
A	17:17:52.384	[DFU] Command object executed
V	17:17:52.384	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:52.384	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I	17:17:52.412	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 06-02
I	17:17:52.419	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-06-01-00-10-00-00-00-00-00-00-00-00-00-00
A	17:17:52.420	[DFU] Data object info received (Max size = 4096, Offset = 0, CRC = 00000000)
V	17:17:52.446	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:52.446	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I	17:17:52.551	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01
I	17:17:52.551	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01
A	17:17:52.551	[DFU] Data object (1/14) created
D	17:17:52.551	[DFU] wait(400)
A	17:17:52.952	[DFU] Uploading firmware...
V	17:17:52.952	[DFU] Sending firmware to characteristic 8ec90002-f315-4f60-9fb8-838830daea50...
V	17:17:53.002	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:53.002	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I	17:17:53.270	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 03
I	17:17:53.270	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-03-01-00-10-00-00-71-E6-EE-CB
A	17:17:53.270	[DFU] Checksum received (Offset = 4096, CRC = CBEEE671)
V	17:17:53.270	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:53.270	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I	17:17:53.299	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 04
I	17:17:53.299	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-04-01
A	17:17:53.299	[DFU] Data object executed
V	17:17:53.299	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:53.299	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I	17:17:53.328	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-02-00-10-00-00
I	17:17:53.330	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01
A	17:17:53.330	[DFU] Data object (2/14) created
D	17:17:53.330	[DFU] wait(400)
A	17:17:53.731	[DFU] Uploading firmware...
V	17:17:53.731	[DFU] Sending firmware to characteristic 8ec90002-f315-4f60-9fb8-838830daea50...
V	17:17:53.795	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D	17:17:53.795	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
E	17:17:59.426	[DFU] Device has disconnected
D	17:17:59.426	[DFU] gatt.disconnect()
D	17:17:59.433	[DFU] gatt.close()
V	17:17:59.446	[DFU] DFU service started
I	17:17:59.449	[DFU] Firmware file opened successfully
D	17:17:59.457	[DFU] wait(1000)
D	17:18:00.483	[DFU] wait(1000)
V	17:18:01.459	[DFU] Connecting to DFU target...
D	17:18:01.498	[DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M)

Related