Board: nRF52833
SoftDevice: s140
SDK version: 17.0.2
I've added OTA DFU feature to my application. I flashed pca10100_s140_ble bootloader and my application to my board, but my application doesn't work. To debug the error I've followed the solution provided in the link https://devzone.nordicsemi.com/f/nordic-q-a/86402/unable-to-debug-the-application-with-bootloader. I made app_is_valid() function to always return true and flashed on my board, My application works fine. Then I tried to perform OTA DFU using nrf connect for mobile app I'm getting the following error
nRF Connect, 2022-04-10
No name (E3:EA:FD:9B:DB:9F)
I 15:32:24.677 [Server] Server started
V 15:32:24.721 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)
Secure DFU Service (0xFE59)
- Buttonless DFU [I N W] (8ec90003-f315-4f60-9fb8-838830daea50)
Client Characteristic Configuration (0x2902)
D 15:32:24.721 [Server callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I 15:32:24.722 [Server] Device with address E3:EA:FD:9B:DB:9F connected
I 15:32:24.898 [Server] PHY updated (TX: LE 2M, RX: LE 2M)
V 15:32:24.983 Connecting to E3:EA:FD:9B:DB:9F...
D 15:32:24.983 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, opportunistic = true, preferred PHY = LE 1M) (hidden)
D 15:32:25.022 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I 15:32:25.022 Connected to E3:EA:FD:9B:DB:9F
V 15:32:25.178 Discovering services...
D 15:32:25.178 gatt.discoverServices()
I 15:32:25.257 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
D 15:32:25.369 [Callback] Services discovered with status: 0
I 15:32:25.369 Services discovered
V 15:32:25.392 Generic Access (0x1800)
- Device Name [R] (0x2A00)
- Appearance [R] (0x2A01)
- Peripheral Preferred Connection Parameters [R] (0x2A04)
- Central Address Resolution [R] (0x2AA6)
Generic Attribute (0x1801)
Secure DFU Service (0xFE59)
- Buttonless DFU [I W] (8ec90003-f315-4f60-9fb8-838830daea50)
Client Characteristic Configuration (0x2902)
I 15:32:25.465 Connection parameters updated (interval: 30.0ms, latency: 0, timeout: 4000ms)
V 15:32:35.757 [DFU] DFU service started
V 15:32:35.757 [DFU] Opening file...
I 15:32:35.876 [DFU] Firmware file opened successfully
V 15:32:35.876 [DFU] Connecting to DFU target...
D 15:32:35.876 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M)
I 15:32:35.876 [DFU] Connected to E3:EA:FD:9B:DB:9F
V 15:32:35.876 [DFU] Discovering services...
D 15:32:35.876 [DFU] gatt.discoverServices()
I 15:32:35.888 [DFU] Services discovered
D 15:32:35.913 [DFU] wait(1000)
W 15:32:36.907 [DFU] Application with buttonless update found
V 15:32:36.907 [DFU] Jumping to the DFU Bootloader...
V 15:32:36.907 [DFU] Enabling indications for 8ec90003-f315-4f60-9fb8-838830daea50
D 15:32:36.907 [DFU] gatt.setCharacteristicNotification(8ec90003-f315-4f60-9fb8-838830daea50, true)
D 15:32:36.907 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x02-00)
I 15:32:36.972 [DFU] Data written to descr.8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 02-00
V 15:32:36.972 [DFU] Notifications enabled for 8ec90003-f315-4f60-9fb8-838830daea50
A 15:32:36.972 [DFU] Indications enabled
D 15:32:36.972 [DFU] wait(1000)
V 15:32:37.985 [DFU] Writing to characteristic 8ec90003-f315-4f60-9fb8-838830daea50
D 15:32:37.985 [DFU] gatt.writeCharacteristic(8ec90003-f315-4f60-9fb8-838830daea50)
I 15:32:38.057 [DFU] Notification received from 8ec90003-f315-4f60-9fb8-838830daea50, value (0x): 20-01-01
A 15:32:38.057 [DFU] Enter bootloader sent (Op Code = 1)
A 15:32:38.057 [DFU] Response received (Op Code = 1, Status = 1)
D 15:32:38.057 [DFU] gatt.refresh() (hidden)
D 15:32:38.057 [DFU] gatt.disconnect()
D 15:32:38.057 [DFU] gatt.close()
V 15:32:38.057 [DFU] Scanning for the DFU Bootloader...
D 15:32:42.087 [Server callback] Connection state changed with status: 0 and new state: DISCONNECTED (0)
I 15:32:42.087 [Server] Device disconnected
D 15:32:42.200 [Callback] Connection state changed with status: 22 and new state: DISCONNECTED (0)
E 15:32:42.201 Error 22 (0x16): GATT CONN TERMINATE LOCAL HOST
I 15:32:42.201 Disconnected
I 15:32:43.189 [DFU] DFU Bootloader not found. Trying the same address...
V 15:32:43.220 [DFU] DFU service started
I 15:32:43.220 [DFU] Firmware file opened successfully
D 15:32:43.220 [DFU] wait(1000)
D 15:32:44.267 [DFU] wait(1000)
V 15:32:45.221 [DFU] Connecting to DFU target...
D 15:32:45.307 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M)
D 15:33:15.246 [Server callback] Connection state changed with status: 0 and new state: DISCONNECTED (0)
I 15:33:15.246 [Server] Device disconnected
E 15:33:15.306 [DFU] Error 133: Connection timeout
W 15:33:15.307 [DFU] Retrying...
D 15:33:15.307 [DFU] gatt.refresh() (hidden)
D 15:33:15.307 [DFU] gatt.disconnect()
D 15:33:15.307 [DFU] gatt.close()
V 15:33:15.357 [DFU] DFU service started
I 15:33:15.357 [DFU] Firmware file opened successfully
D 15:33:15.357 [DFU] wait(1000)
D 15:33:16.367 [DFU] wait(1000)
V 15:33:17.343 [DFU] Connecting to DFU target...
D 15:33:17.343 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M)
How can I solve this issue?
Thanks in advance.