Hello,
I am working with a custom board with the nrf52832 chip.
I have merged and written the following on the board: SD (s132, 6.1.0) + secure bootloader from the latest sdk15.2 (no bonding) + bootloader settings + ble_app_buttonless_dfu (adapted to custom board).
All works fine, the bootloader switches to the app, but when I try to upload a .zip file with a new app I get a SD version error in nrfConnect after I enter the bootloader, followed by a disconnect. After aprox 30 seconds the app is started once again.
Here is the log from nrfConnect on android phone (tested on 2 different phones with the same result):
nRF Connect, 2018-10-31 DfuTarg (CB:C4:2C:36:96:CF) D 07:47:34.521 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED V 07:47:34.669 Connecting to CB:C4:2C:36:96:CF... D 07:47:34.669 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE) D 07:47:34.784 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 07:47:34.784 Connected to CB:C4:2C:36:96:CF V 07:47:34.845 Discovering services... D 07:47:34.845 gatt.discoverServices() D 07:47:35.144 [Callback] Services discovered with status: 0 I 07:47:35.144 Services discovered V 07:47:35.174 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) D 07:47:35.175 gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50, true) I 07:47:37.297 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 07:47:37.297 "Response for: Read Object Info Status: Success Max object size: 256 bytes Current offset: 0 bytes CRC-32: 00000000" received I 07:47:37.310 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-02-01 A 07:47:37.310 "Response for: Set PRN value Status: Success" received I 07:47:37.340 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-01-01 A 07:47:37.340 "Response for: Create Object Status: Success" received I 07:47:37.385 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-03-01-87-00-00-00-B8-A4-C6-60 A 07:47:37.385 "Response for: Calculate Checksum Status: Success Current offset: 135 bytes CRC-32: 60C6A4B8" received I 07:47:37.550 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-04-0B-07 A 07:47:37.550 "Response for: Execute Status: Extended error Details: SD version failure" received V 07:48:06.448 [DFU] DFU service started V 07:48:06.448 [DFU] Opening file... I 07:48:06.466 [DFU] Firmware file opened successfully V 07:48:06.466 [DFU] Connecting to DFU target... D 07:48:06.480 [DFU] gatt = device.connectGatt(autoConnect = false) I 07:48:06.581 [DFU] Connected to CB:C4:2C:36:96:CF V 07:48:06.581 [DFU] Discovering services... D 07:48:06.581 [DFU] gatt.discoverServices() I 07:48:06.581 [DFU] Services discovered D 07:48:06.609 [DFU] wait(1000) V 07:48:07.608 [DFU] Requesting new MTU... D 07:48:07.608 [DFU] gatt.requestMtu(517) V 07:48:07.641 [DFU] Enabling notifications for 8ec90001-f315-4f60-9fb8-838830daea50 D 07:48:07.642 [DFU] gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50, true) D 07:48:07.642 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00) I 07:48:07.675 [DFU] Data written to descr.8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-00 V 07:48:07.675 [DFU] Notifications enabled for 8ec90001-f315-4f60-9fb8-838830daea50 A 07:48:07.675 [DFU] Notifications enabled D 07:48:07.675 [DFU] wait(1000) V 07:48:08.668 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50 D 07:48:08.668 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50) I 07:48:08.687 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-06-01-00-01-00-00-87-00-00-00-B8-A4-C6-60 A 07:48:08.687 "Response for: Read Object Info Status: Success Max object size: 256 bytes Current offset: 135 bytes CRC-32: 60C6A4B8" received I 07:48:08.745 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 06-01 I 07:48:08.746 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-06-01-00-01-00-00-87-00-00-00-B8-A4-C6-60 A 07:48:08.746 [DFU] Command object info received (Max size = 256, Offset = 135, CRC = 60C6A4B8) A 07:48:08.746 [DFU] Received CRC match Init packet V 07:48:08.746 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50 D 07:48:08.746 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50) I 07:48:08.746 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 04 I 07:48:08.853 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-04-0B-07 A 07:48:08.853 "Response for: Execute Status: Extended error Details: SD version failure" received I 07:48:08.859 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-04-0B-07 E 07:48:08.859 [DFU] Remote DFU error: EXTENDED ERROR E 07:48:08.859 [DFU] Details: SD version failure (Code = 7) V 07:48:08.860 [DFU] Disconnecting... D 07:48:08.889 [DFU] gatt.disconnect() I 07:48:08.890 [DFU] Disconnected D 07:48:08.890 [DFU] gatt.refresh() (hidden) D 07:48:08.890 [DFU] gatt.close() D 07:48:08.907 [DFU] wait(600)
And here is the log from when I try the same thing with nrfConnect installed in macOS + DK:
2018-10-30T14_00_34.625Z-log.txt
Any suggestions on what may be the problem?
Thanks