Previously, I successfully completed and performed OTA flashing, and I haven't made any changes to the DFU-related programs since then. However, recently, I have been unable to proceed with the DFU uploading process. The connection keeps cycling between connecting and disconnecting. Below is the output information from RTT viewer and nRF Connect for Mobile.
RTT viewer:
<info> app: LE Secure Connections example started. <info> app: Scanning <info> app: Advertising <info> app: calling inv_check_and_setup_chip() <info> app: Gyroscope FSR: INV_ICM20948_GYRO_FSR_2000DPS <info> app: Accelerometer FSR: INV_ICM20948_ACCEL_FSR_04G <info> app: calling inv_icm20948_get_device_id() <info> app: IMU is responding on I2C bus <info> app: LE Secure Connections example started. <info> app: PERIPHERAL: Connected, handle 1. <info> app: Data len is set to 0xF4(244) <info> app: Device is preparing to enter bootloader mode. <info> app: Disconnected 1 links. <info> app: Device will enter bootloader mode. <info> app: LE Secure Connections example started. <info> app: Scanning <info> app: Advertising <info> app: calling inv_check_and_setup_chip() <info> app: Gyroscope FSR: INV_ICM20948_GYRO_FSR_2000DPS <info> app: Accelerometer FSR: INV_ICM20948_ACCEL_FSR_04G <info> app: calling inv_icm20948_get_device_id() <info> app: IMU is responding on I2C bus <info> app: LE Secure Connections example started. <info> app: PERIPHERAL: Connected, handle 1. <info> app: Data len is set to 0xF4(244) <info> app: Device is preparing to enter bootloader mode. <info> app: Disconnected 1 links. <info> app: Device will enter bootloader mode. <info> app: LE Secure Connections example started. <info> app: Scanning <info> app: Advertising <info> app: calling inv_check_and_setup_chip() <info> app: Gyroscope FSR: INV_ICM20948_GYRO_FSR_2000DPS <info> app: Accelerometer FSR: INV_ICM20948_ACCEL_FSR_04G <info> app: calling inv_icm20948_get_device_id() <info> app: IMU is responding on I2C bus <info> app: LE Secure Connections example started. <info> app: PERIPHERAL: Connected, handle 1. <info> app: Data len is set to 0xF4(244) <info> app: Device is preparing to enter bootloader mode. <info> app: Disconnected 1 links. <info> app: Device will enter bootloader mode. <info> app: LE Secure Connections example started. <info> app: Scanning <info> app: Advertising <info> app: calling inv_check_and_setup_chip() <info> app: Gyroscope FSR: INV_ICM20948_GYRO_FSR_2000DPS <info> app: Accelerometer FSR: INV_ICM20948_ACCEL_FSR_04G <info> app: calling inv_icm20948_get_device_id() <info> app: IMU is responding on I2C bus <info> app: LE Secure Connections example started. <info> app: PERIPHERAL: Connected, handle 1. <info> app: Data len is set to 0xF4(244) <info> app: PERIPHERAL: Disconnected, handle 1, reason 0x28. <info> app: PERIPHERAL: Connected, handle 1. <info> app: Data len is set to 0xF4(244) <info> app: PERIPHERAL: Disconnected, handle 1, reason 0x13.
nRF Connect for Mobile:
nRF Connect, 2024-11-18 Safe-Device-A74F (E8:AB:38:E4:A7:4F) I 14:46:10.334 [Server] Server started V 14:46:10.339 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 14:46:10.539 Connecting to E8:AB:38:E4:A7:4F... D 14:46:10.539 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M) D 14:46:10.710 [Server callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 14:46:10.710 [Server] Device with address E8:AB:38:E4:A7:4F connected I 14:46:10.714 [Server] MTU changed to 247 D 14:46:10.733 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 14:46:10.733 Connected to E8:AB:38:E4:A7:4F V 14:46:10.735 Discovering services... D 14:46:10.735 gatt.discoverServices() D 14:46:11.027 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 14:46:11.934 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms) D 14:46:12.180 [Callback] Services discovered with status: 0 I 14:46:12.180 Services discovered V 14:46:12.189 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) Nordic UART Service (6e400001-b5a3-f393-e0a9-e50e24dcca9e) - RX Characteristic [W WNR] (6e400002-b5a3-f393-e0a9-e50e24dcca9e) - TX Characteristic [N] (6e400003-b5a3-f393-e0a9-e50e24dcca9e) Client Characteristic Configuration (0x2902) Secure DFU Service (0xFE59) - Buttonless DFU [I W] (8ec90003-f315-4f60-9fb8-838830daea50) Client Characteristic Configuration (0x2902) D 14:46:12.189 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true) D 14:46:12.193 gatt.setCharacteristicNotification(6e400003-b5a3-f393-e0a9-e50e24dcca9e, true) I 14:46:12.285 Connection parameters updated (interval: 45.0ms, latency: 0, timeout: 5000ms) V 14:46:24.270 [DFU] DFU service started V 14:46:24.270 [DFU] Opening file... I 14:46:24.298 [DFU] Firmware file opened successfully V 14:46:24.298 [DFU] Connecting to DFU target... D 14:46:24.298 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M) I 14:46:24.308 [DFU] Connected to E8:AB:38:E4:A7:4F V 14:46:24.308 [DFU] Discovering services... D 14:46:24.308 [DFU] gatt.discoverServices() I 14:46:24.317 [DFU] Services discovered W 14:46:24.324 [DFU] Application with buttonless update found V 14:46:24.324 [DFU] Jumping to the DFU Bootloader... V 14:46:24.324 [DFU] Enabling indications for 8ec90003-f315-4f60-9fb8-838830daea50 D 14:46:24.324 [DFU] gatt.setCharacteristicNotification(8ec90003-f315-4f60-9fb8-838830daea50, true) D 14:46:24.328 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x02-00) I 14:46:24.391 [DFU] Data written to descr.8ec90003-f315-4f60-9fb8-838830daea50 V 14:46:24.391 [DFU] Notifications enabled for 8ec90003-f315-4f60-9fb8-838830daea50 A 14:46:24.391 [DFU] Indications enabled V 14:46:24.397 [DFU] Writing to characteristic 8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 01 D 14:46:24.398 [DFU] gatt.writeCharacteristic(8ec90003-f315-4f60-9fb8-838830daea50, value=0x01, WRITE_TYPE_DEFAULT) A 14:46:24.478 [DFU] Enter bootloader sent (Op Code = 1) I 14:46:24.479 [DFU] Notification received from 8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 20-01-01 A 14:46:24.479 [DFU] Response received (Op Code = 1, Status = 1) V 14:46:24.479 [DFU] Disconnecting... D 14:46:24.479 [DFU] gatt.disconnect() I 14:46:24.488 [DFU] Disconnected D 14:46:24.488 [DFU] gatt.refresh() (hidden) D 14:46:24.488 [DFU] gatt.disconnect() D 14:46:24.488 [DFU] gatt.close() V 14:46:24.491 [DFU] Scanning for the DFU Bootloader... (timeout 5000 ms) I 14:46:24.856 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms) I 14:46:25.425 [DFU] DFU Bootloader found with address E8:AB:38:E4:A7:4F V 14:46:25.435 [DFU] DFU service started I 14:46:25.435 [DFU] Firmware file opened successfully V 14:46:25.435 [DFU] Connecting to DFU target... D 14:46:25.438 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M) I 14:46:25.448 [DFU] Connected to E8:AB:38:E4:A7:4F V 14:46:25.448 [DFU] Discovering services... D 14:46:25.449 [DFU] gatt.discoverServices() D 14:46:29.862 [Server callback] Connection state changed with status: 0 and new state: DISCONNECTED (0) I 14:46:29.862 [Server] Device disconnected D 14:46:29.874 [Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0) E 14:46:29.874 [DFU] Connection failed (0x08): GATT CONN TIMEOUT W 14:46:29.874 [DFU] Retrying... D 14:46:29.874 [DFU] gatt.refresh() (hidden) D 14:46:29.874 [DFU] gatt.disconnect() D 14:46:29.874 [DFU] gatt.close() E 14:46:29.874 Error 8 (0x8): GATT CONN TIMEOUT I 14:46:29.874 Disconnected D 14:46:29.891 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 14:46:29.901 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED V 14:46:29.915 [DFU] DFU service started I 14:46:29.915 [DFU] Firmware file opened successfully V 14:46:29.915 [DFU] Connecting to DFU target... D 14:46:29.915 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M) D 14:46:30.380 [Server callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 14:46:30.380 [Server] Device with address E8:AB:38:E4:A7:4F connected I 14:46:30.383 [Server] MTU changed to 247 I 14:46:30.400 [DFU] Connected to E8:AB:38:E4:A7:4F V 14:46:30.400 [DFU] Discovering services... D 14:46:30.400 [DFU] gatt.discoverServices() D 14:46:30.426 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED D 14:46:30.429 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 14:46:31.337 [DFU] Services discovered W 14:46:31.363 [DFU] Application with buttonless update found V 14:46:31.363 [DFU] Jumping to the DFU Bootloader... V 14:46:31.363 [DFU] Enabling indications for 8ec90003-f315-4f60-9fb8-838830daea50 D 14:46:31.363 [DFU] gatt.setCharacteristicNotification(8ec90003-f315-4f60-9fb8-838830daea50, true) D 14:46:31.363 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x02-00) I 14:46:31.365 [DFU] Data written to descr.8ec90003-f315-4f60-9fb8-838830daea50 V 14:46:31.365 [DFU] Notifications enabled for 8ec90003-f315-4f60-9fb8-838830daea50 A 14:46:31.365 [DFU] Indications enabled V 14:46:31.366 [DFU] Writing to characteristic 8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 01 D 14:46:31.366 [DFU] gatt.writeCharacteristic(8ec90003-f315-4f60-9fb8-838830daea50, value=0x01, WRITE_TYPE_DEFAULT) A 14:46:31.389 [DFU] Enter bootloader sent (Op Code = 1) I 14:46:31.396 [DFU] Notification received from 8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 20-01-01 A 14:46:31.397 [DFU] Response received (Op Code = 1, Status = 1) V 14:46:31.397 [DFU] Disconnecting... D 14:46:31.398 [DFU] gatt.disconnect() I 14:46:31.413 [DFU] Disconnected D 14:46:31.413 [DFU] gatt.refresh() (hidden) D 14:46:31.413 [DFU] gatt.disconnect() D 14:46:31.416 [DFU] gatt.close() V 14:46:31.424 [DFU] Scanning for the DFU Bootloader... (timeout 5000 ms) I 14:46:32.081 [DFU] DFU Bootloader found with address E8:AB:38:E4:A7:4F V 14:46:32.095 [DFU] DFU service started I 14:46:32.095 [DFU] Firmware file opened successfully V 14:46:32.095 [DFU] Connecting to DFU target... D 14:46:32.118 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M) I 14:46:32.128 [DFU] Connected to E8:AB:38:E4:A7:4F V 14:46:32.128 [DFU] Discovering services... D 14:46:32.128 [DFU] gatt.discoverServices() D 14:46:36.462 [Server callback] Connection state changed with status: 0 and new state: DISCONNECTED (0) I 14:46:36.462 [Server] Device disconnected E 14:46:36.473 [DFU] Connection failed (0x08): GATT CONN TIMEOUT W 14:46:36.473 [DFU] Retrying... D 14:46:36.473 [DFU] gatt.refresh() (hidden) D 14:46:36.473 [DFU] gatt.disconnect() D 14:46:36.484 [DFU] gatt.close() D 14:46:36.504 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 14:46:36.507 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED V 14:46:36.519 [DFU] DFU service started I 14:46:36.519 [DFU] Firmware file opened successfully V 14:46:36.520 [DFU] Connecting to DFU target... D 14:46:36.520 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M) D 14:46:37.309 [Server callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 14:46:37.309 [Server] Device with address E8:AB:38:E4:A7:4F connected I 14:46:37.311 [Server] MTU changed to 247 I 14:46:37.336 [DFU] Connected to E8:AB:38:E4:A7:4F V 14:46:37.336 [DFU] Discovering services... D 14:46:37.336 [DFU] gatt.discoverServices() D 14:46:37.363 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED D 14:46:37.372 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 14:46:38.097 [DFU] Services discovered W 14:46:38.115 [DFU] Application with buttonless update found V 14:46:38.115 [DFU] Jumping to the DFU Bootloader... V 14:46:38.115 [DFU] Enabling indications for 8ec90003-f315-4f60-9fb8-838830daea50 D 14:46:38.115 [DFU] gatt.setCharacteristicNotification(8ec90003-f315-4f60-9fb8-838830daea50, true) D 14:46:38.115 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x02-00) I 14:46:38.129 [DFU] Data written to descr.8ec90003-f315-4f60-9fb8-838830daea50 V 14:46:38.129 [DFU] Notifications enabled for 8ec90003-f315-4f60-9fb8-838830daea50 A 14:46:38.129 [DFU] Indications enabled V 14:46:38.130 [DFU] Writing to characteristic 8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 01 D 14:46:38.130 [DFU] gatt.writeCharacteristic(8ec90003-f315-4f60-9fb8-838830daea50, value=0x01, WRITE_TYPE_DEFAULT) I 14:46:38.154 [DFU] Notification received from 8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 20-01-01 A 14:46:38.156 [DFU] Enter bootloader sent (Op Code = 1) A 14:46:38.156 [DFU] Response received (Op Code = 1, Status = 1) V 14:46:38.157 [DFU] Disconnecting... D 14:46:38.172 [DFU] gatt.disconnect() I 14:46:38.172 [DFU] Disconnected D 14:46:38.172 [DFU] gatt.refresh() (hidden) D 14:46:38.172 [DFU] gatt.disconnect() D 14:46:38.176 [DFU] gatt.close() V 14:46:38.180 [DFU] Scanning for the DFU Bootloader... (timeout 5000 ms) I 14:46:39.045 [DFU] DFU Bootloader found with address E8:AB:38:E4:A7:4F V 14:46:39.071 [DFU] DFU service started I 14:46:39.072 [DFU] Firmware file opened successfully V 14:46:39.073 [DFU] Connecting to DFU target... D 14:46:39.103 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M) I 14:46:39.106 [DFU] Connected to E8:AB:38:E4:A7:4F V 14:46:39.106 [DFU] Discovering services... D 14:46:39.106 [DFU] gatt.discoverServices() D 14:46:43.217 [Server callback] Connection state changed with status: 0 and new state: DISCONNECTED (0) I 14:46:43.217 [Server] Device disconnected E 14:46:43.226 [DFU] Connection failed (0x08): GATT CONN TIMEOUT W 14:46:43.226 [DFU] Retrying... D 14:46:43.226 [DFU] gatt.refresh() (hidden) D 14:46:43.226 [DFU] gatt.disconnect() D 14:46:43.226 [DFU] gatt.close() D 14:46:43.237 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 14:46:43.247 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED V 14:46:43.247 [DFU] DFU service started I 14:46:43.247 [DFU] Firmware file opened successfully V 14:46:43.247 [DFU] Connecting to DFU target... D 14:46:43.247 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M) D 14:46:43.650 [Server callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 14:46:43.650 [Server] Device with address E8:AB:38:E4:A7:4F connected I 14:46:43.653 [Server] MTU changed to 247 D 14:46:43.667 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 14:46:43.669 [DFU] Connected to E8:AB:38:E4:A7:4F V 14:46:43.669 [DFU] Discovering services... D 14:46:43.669 [DFU] gatt.discoverServices() D 14:46:43.669 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 14:46:44.426 [DFU] Services discovered W 14:46:44.427 [DFU] Application with buttonless update found V 14:46:44.427 [DFU] Jumping to the DFU Bootloader... V 14:46:44.427 [DFU] Enabling indications for 8ec90003-f315-4f60-9fb8-838830daea50 D 14:46:44.427 [DFU] gatt.setCharacteristicNotification(8ec90003-f315-4f60-9fb8-838830daea50, true) D 14:46:44.441 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x02-00) D 14:46:50.740 [Server callback] Connection state changed with status: 0 and new state: DISCONNECTED (0) I 14:46:50.740 [Server] Device disconnected E 14:46:50.753 [DFU] Error (0x85): GATT ERROR V 14:46:50.753 [DFU] Disconnecting... D 14:46:50.753 [DFU] gatt.disconnect() I 14:46:50.753 [DFU] Disconnected D 14:46:50.753 [DFU] gatt.refresh() (hidden) D 14:46:50.753 [DFU] gatt.disconnect() D 14:46:50.762 [DFU] gatt.close() D 14:46:50.762 [DFU] wait(600) D 14:46:50.786 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 14:46:50.786 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 14:46:51.363 gatt.close() D 14:46:51.368 wait(200) V 14:46:51.569 Connecting to E8:AB:38:E4:A7:4F... D 14:46:51.570 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M) D 14:46:51.841 [Server callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 14:46:51.841 [Server] Device with address E8:AB:38:E4:A7:4F connected I 14:46:51.844 [Server] MTU changed to 247 D 14:46:51.869 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 14:46:51.869 Connected to E8:AB:38:E4:A7:4F V 14:46:51.889 Discovering services... D 14:46:51.889 gatt.discoverServices() D 14:46:51.901 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 14:46:54.548 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms) D 14:46:56.595 [Callback] Services discovered with status: 0 I 14:46:56.595 Services discovered V 14:46:56.601 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) Nordic UART Service (6e400001-b5a3-f393-e0a9-e50e24dcca9e) - RX Characteristic [W WNR] (6e400002-b5a3-f393-e0a9-e50e24dcca9e) - TX Characteristic [N] (6e400003-b5a3-f393-e0a9-e50e24dcca9e) Client Characteristic Configuration (0x2902) Secure DFU Service (0xFE59) - Buttonless DFU [I W] (8ec90003-f315-4f60-9fb8-838830daea50) Client Characteristic Configuration (0x2902) D 14:46:56.601 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true) D 14:46:56.605 gatt.setCharacteristicNotification(6e400003-b5a3-f393-e0a9-e50e24dcca9e, true) I 14:46:56.969 Connection parameters updated (interval: 45.0ms, latency: 0, timeout: 5000ms)
The text "[DFU] Connection failed (0x08): GATT CONN TIMEOUT" and "Error 8 (0x8): GATT CONN TIMEOUT" is displayed in red.
I would like to ask what could be causing the issue? Currently, I have no direction to resolve it.