DFU has worked fine until just recently.
Our custom hardware is using the nRF51822 and softdevice 8. We are using non-secure DFU.
We are using the latest nrFConnect. We have tried both the iOS and Android app.
The log from the DFU is the following:
nRF Connect, 2019-02-21 Lock 66 (F4:44:F2:00:A4:66) V 09:52:56.808 Connecting to F4:44:F2:00:A4:66... D 09:52:56.808 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE) (hidden) D 09:52:57.360 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 09:52:57.360 Connected to F4:44:F2:00:A4:66 D 09:52:57.433 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED V 09:52:57.461 Discovering services... D 09:52:57.461 gatt.discoverServices() D 09:53:02.234 [Callback] Services discovered with status: 0 I 09:53:02.237 Services discovered V 09:53:02.301 Generic Access (0x1800) - Device Name [R W] (0x2A00) - Appearance [R] (0x2A01) - Peripheral Preferred Connection Parameters [R] (0x2A04) Generic Attribute (0x1801) - Service Changed [I] (0x2A05) Client Characteristic Configuration (0x2902) Device Information (0x180A) - Manufacturer Name String [R] (0x2A29) - Model Number String [R] (0x2A24) - Hardware Revision String [R] (0x2A27) - Firmware Revision String [R] (0x2A26) Unknown Service (b1de1523-85ef-37cc-00c8-a3cf3412a548) - Unknown Characteristic [N R] (b1de1524-85ef-37cc-00c8-a3cf3412a548) Client Characteristic Configuration (0x2902) - Unknown Characteristic [W] (b1de1525-85ef-37cc-00c8-a3cf3412a548) - Unknown Characteristic [W] (b1de1526-85ef-37cc-00c8-a3cf3412a548) - Unknown Characteristic [R] (b1de1527-85ef-37cc-00c8-a3cf3412a548) Device Firmware Update Service (00001530-1212-efde-1523-785feabcd123) - DFU Packet [WNR] (00001532-1212-efde-1523-785feabcd123) - DFU Control Point [N W] (00001531-1212-efde-1523-785feabcd123) Client Characteristic Configuration (0x2902) - DFU Version [R] (00001534-1212-efde-1523-785feabcd123) D 09:53:02.322 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true) D 09:53:02.325 gatt.setCharacteristicNotification(b1de1524-85ef-37cc-00c8-a3cf3412a548, true) V 09:53:28.559 [DFU] DFU service started V 09:53:28.559 [DFU] Opening file... I 09:53:28.559 [DFU] Firmware file opened successfully V 09:53:28.559 [DFU] Connecting to DFU target... D 09:53:28.559 [DFU] gatt = device.connectGatt(autoConnect = false) I 09:53:28.705 [DFU] Connected to F4:44:F2:00:A4:66 V 09:53:28.709 [DFU] Discovering services... D 09:53:28.709 [DFU] gatt.discoverServices() I 09:53:32.052 [DFU] Services discovered D 09:53:32.134 [DFU] wait(1000) V 09:53:33.184 [DFU] Reading DFU version number... D 09:53:33.184 [DFU] gatt.readCharacteristic(00001534-1212-efde-1523-785feabcd123) I 09:53:33.224 [DFU] Read Response received from 00001534-1212-efde-1523-785feabcd123, value (0x): 01-00 A 09:53:33.224 [DFU] Version number read: 0.1 W 09:53:33.224 [DFU] Application with buttonless update found V 09:53:33.224 [DFU] Jumping to the DFU Bootloader... V 09:53:33.224 [DFU] Enabling notifications for 00001531-1212-efde-1523-785feabcd123 D 09:53:33.224 [DFU] gatt.setCharacteristicNotification(00001531-1212-efde-1523-785feabcd123, true) D 09:53:33.224 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00) I 09:53:33.324 [DFU] Data written to descr.00001531-1212-efde-1523-785feabcd123, value (0x): 01-00 V 09:53:33.324 [DFU] Notifications enabled for 00001531-1212-efde-1523-785feabcd123 A 09:53:33.324 [DFU] Notifications enabled D 09:53:33.324 [DFU] wait(1000) V 09:53:34.348 [DFU] Writing to characteristic 00001531-1212-efde-1523-785feabcd123 D 09:53:34.348 [DFU] gatt.writeCharacteristic(00001531-1212-efde-1523-785feabcd123) D 09:54:04.338 [Callback] Connection state changed with status: 22 and new state: DISCONNECTED (0) E 09:54:04.338 Error 22 (0x16): GATT CONN TERMINATE LOCAL HOST I 09:54:04.339 Disconnected A 09:54:04.373 [DFU] Jump to bootloader sent (Op Code = 1, Upload Mode = 4) I 09:54:04.373 [DFU] Disconnected by the remote device D 09:54:04.373 [DFU] gatt.refresh() (hidden) D 09:54:04.373 [DFU] gatt.close() V 09:54:04.405 [DFU] DFU service started I 09:54:04.405 [DFU] Firmware file opened successfully D 09:54:04.405 [DFU] wait(1000) D 09:54:04.511 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:54:04.529 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:54:05.395 [DFU] wait(1000) V 09:54:06.401 [DFU] Connecting to DFU target... D 09:54:06.469 [DFU] gatt = device.connectGatt(autoConnect = false) I 09:54:06.857 [DFU] Connected to F4:44:F2:00:A4:66 V 09:54:06.857 [DFU] Discovering services... D 09:54:06.857 [DFU] gatt.discoverServices() D 09:54:06.857 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED D 09:54:06.889 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 09:54:07.541 [DFU] Services discovered D 09:54:07.574 [DFU] wait(1000) V 09:54:08.564 [DFU] Reading DFU version number... D 09:54:08.564 [DFU] gatt.readCharacteristic(00001534-1212-efde-1523-785feabcd123) I 09:54:08.665 [DFU] Read Response received from 00001534-1212-efde-1523-785feabcd123, value (0x): 01-00 A 09:54:08.665 [DFU] Version number read: 0.1 W 09:54:08.665 [DFU] Application with buttonless update found V 09:54:08.665 [DFU] Jumping to the DFU Bootloader... V 09:54:08.666 [DFU] Enabling notifications for 00001531-1212-efde-1523-785feabcd123 D 09:54:08.666 [DFU] gatt.setCharacteristicNotification(00001531-1212-efde-1523-785feabcd123, true) D 09:54:08.666 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00) I 09:54:08.766 [DFU] Data written to descr.00001531-1212-efde-1523-785feabcd123, value (0x): 01-00 V 09:54:08.766 [DFU] Notifications enabled for 00001531-1212-efde-1523-785feabcd123 A 09:54:08.766 [DFU] Notifications enabled D 09:54:08.766 [DFU] wait(1000) V 09:54:09.842 [DFU] Writing to characteristic 00001531-1212-efde-1523-785feabcd123 D 09:54:09.842 [DFU] gatt.writeCharacteristic(00001531-1212-efde-1523-785feabcd123) A 09:54:39.849 [DFU] Jump to bootloader sent (Op Code = 1, Upload Mode = 4) I 09:54:39.850 [DFU] Disconnected by the remote device D 09:54:39.850 [DFU] gatt.refresh() (hidden) D 09:54:39.867 [DFU] gatt.close() V 09:54:39.897 [DFU] DFU service started I 09:54:39.897 [DFU] Firmware file opened successfully D 09:54:39.897 [DFU] wait(1000) D 09:54:40.032 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:54:40.064 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:54:40.886 [DFU] wait(1000) V 09:54:41.892 [DFU] Connecting to DFU target... D 09:54:41.970 [DFU] gatt = device.connectGatt(autoConnect = false) I 09:54:42.229 [DFU] Connected to F4:44:F2:00:A4:66 V 09:54:42.229 [DFU] Discovering services... D 09:54:42.230 [DFU] gatt.discoverServices() D 09:54:42.244 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED D 09:54:42.266 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 09:54:42.866 [DFU] Services discovered D 09:54:42.967 [DFU] wait(1000) V 09:54:43.955 [DFU] Reading DFU version number... D 09:54:43.956 [DFU] gatt.readCharacteristic(00001534-1212-efde-1523-785feabcd123) I 09:54:44.057 [DFU] Read Response received from 00001534-1212-efde-1523-785feabcd123, value (0x): 01-00 A 09:54:44.057 [DFU] Version number read: 0.1 W 09:54:44.057 [DFU] Application with buttonless update found V 09:54:44.057 [DFU] Jumping to the DFU Bootloader... V 09:54:44.057 [DFU] Enabling notifications for 00001531-1212-efde-1523-785feabcd123 D 09:54:44.057 [DFU] gatt.setCharacteristicNotification(00001531-1212-efde-1523-785feabcd123, true) D 09:54:44.057 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00) I 09:54:44.157 [DFU] Data written to descr.00001531-1212-efde-1523-785feabcd123, value (0x): 01-00 V 09:54:44.157 [DFU] Notifications enabled for 00001531-1212-efde-1523-785feabcd123 A 09:54:44.157 [DFU] Notifications enabled D 09:54:44.157 [DFU] wait(1000) V 09:54:45.198 [DFU] Writing to characteristic 00001531-1212-efde-1523-785feabcd123 D 09:54:45.198 [DFU] gatt.writeCharacteristic(00001531-1212-efde-1523-785feabcd123) A 09:55:15.208 [DFU] Jump to bootloader sent (Op Code = 1, Upload Mode = 4) I 09:55:15.209 [DFU] Disconnected by the remote device D 09:55:15.209 [DFU] gatt.refresh() (hidden) D 09:55:15.209 [DFU] gatt.close() V 09:55:15.256 [DFU] DFU service started I 09:55:15.256 [DFU] Firmware file opened successfully D 09:55:15.256 [DFU] wait(1000) D 09:55:15.408 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:55:15.422 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:55:16.258 [DFU] wait(1000) V 09:55:17.268 [DFU] Connecting to DFU target... D 09:55:17.269 [DFU] gatt = device.connectGatt(autoConnect = false) I 09:55:17.457 [DFU] Connected to F4:44:F2:00:A4:66 V 09:55:17.457 [DFU] Discovering services... D 09:55:17.457 [DFU] gatt.discoverServices() D 09:55:17.466 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED D 09:55:17.483 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 09:55:18.188 [DFU] Services discovered D 09:55:18.389 [DFU] wait(1000) V 09:55:19.395 [DFU] Reading DFU version number... D 09:55:19.395 [DFU] gatt.readCharacteristic(00001534-1212-efde-1523-785feabcd123) I 09:55:19.455 [DFU] Read Response received from 00001534-1212-efde-1523-785feabcd123, value (0x): 01-00 A 09:55:19.455 [DFU] Version number read: 0.1 W 09:55:19.455 [DFU] Application with buttonless update found V 09:55:19.455 [DFU] Jumping to the DFU Bootloader... V 09:55:19.455 [DFU] Enabling notifications for 00001531-1212-efde-1523-785feabcd123 D 09:55:19.455 [DFU] gatt.setCharacteristicNotification(00001531-1212-efde-1523-785feabcd123, true) D 09:55:19.455 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00) I 09:55:19.546 [DFU] Data written to descr.00001531-1212-efde-1523-785feabcd123, value (0x): 01-00 V 09:55:19.546 [DFU] Notifications enabled for 00001531-1212-efde-1523-785feabcd123 A 09:55:19.547 [DFU] Notifications enabled D 09:55:19.547 [DFU] wait(1000) V 09:55:20.587 [DFU] Writing to characteristic 00001531-1212-efde-1523-785feabcd123 D 09:55:20.588 [DFU] gatt.writeCharacteristic(00001531-1212-efde-1523-785feabcd123) A 09:55:50.578 [DFU] Jump to bootloader sent (Op Code = 1, Upload Mode = 4) I 09:55:50.579 [DFU] Disconnected by the remote device D 09:55:50.579 [DFU] gatt.refresh() (hidden) D 09:55:50.579 [DFU] gatt.close() V 09:55:50.628 [DFU] DFU service started I 09:55:50.628 [DFU] Firmware file opened successfully D 09:55:50.628 [DFU] wait(1000) D 09:55:50.777 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:55:50.805 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:55:51.632 [DFU] wait(1000) V 09:55:52.625 [DFU] Connecting to DFU target... D 09:55:52.704 [DFU] gatt = device.connectGatt(autoConnect = false) I 09:55:53.117 [DFU] Connected to F4:44:F2:00:A4:66 V 09:55:53.117 [DFU] Discovering services... D 09:55:53.117 [DFU] gatt.discoverServices() D 09:55:53.117 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED D 09:55:53.144 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 09:55:55.826 [DFU] Services discovered D 09:55:55.929 [DFU] wait(1000) V 09:55:56.933 [DFU] Reading DFU version number... D 09:55:56.934 [DFU] gatt.readCharacteristic(00001534-1212-efde-1523-785feabcd123) I 09:55:56.985 [DFU] Read Response received from 00001534-1212-efde-1523-785feabcd123, value (0x): 01-00 A 09:55:56.985 [DFU] Version number read: 0.1 W 09:55:56.985 [DFU] Application with buttonless update found V 09:55:56.985 [DFU] Jumping to the DFU Bootloader... V 09:55:56.985 [DFU] Enabling notifications for 00001531-1212-efde-1523-785feabcd123 D 09:55:56.985 [DFU] gatt.setCharacteristicNotification(00001531-1212-efde-1523-785feabcd123, true) D 09:55:57.001 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00) I 09:55:57.083 [DFU] Data written to descr.00001531-1212-efde-1523-785feabcd123, value (0x): 01-00 V 09:55:57.083 [DFU] Notifications enabled for 00001531-1212-efde-1523-785feabcd123 A 09:55:57.083 [DFU] Notifications enabled D 09:55:57.083 [DFU] wait(1000) V 09:55:58.144 [DFU] Writing to characteristic 00001531-1212-efde-1523-785feabcd123 D 09:55:58.145 [DFU] gatt.writeCharacteristic(00001531-1212-efde-1523-785feabcd123)
Could it be the nrfConnect app? We have checked for app version, so the reason for the device to disconnect is not to do with the bootloader settings being incorrect.
Could you please help us.
Thx.