<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DFU Update: &amp;quot;Upload Failed: Unknown Command&amp;quot; &amp;amp; Signature-less Bootloader</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/37133/dfu-update-upload-failed-unknown-command-signature-less-bootloader</link><description>I am trying to package a firmware update and flash it over BLE DFU and I keep getting the following error on the nRF Toolbox app: 
 &amp;quot;Upload Failed: Unknown Command&amp;quot; 
 I cannot figure out why this is happening and I can&amp;#39;t find anyone else having this error</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 09 Aug 2018 17:48:02 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/37133/dfu-update-upload-failed-unknown-command-signature-less-bootloader" /><item><title>RE: DFU Update: "Upload Failed: Unknown Command" &amp; Signature-less Bootloader</title><link>https://devzone.nordicsemi.com/thread/143631?ContentTypeID=1</link><pubDate>Thu, 09 Aug 2018 17:48:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a920f1db-87ea-4c50-b268-cfded7298516</guid><dc:creator>tkstreet</dc:creator><description>&lt;p&gt;I have a number of nRF52832 devices in the field where the bootloader was created with SDK 11.&amp;nbsp; They were created in the most liberal format, using the 0xFFFF codes in all fields (using the old nrfutil version) and no key signing.&amp;nbsp; I would like to flash an entirely new set to these devices - new bootloader, S132, and new application - but I cannot find any way to do this using either packaging format with the old nrfutil (v0.3.0, I believe) nor the new nrfutil (v3.5.0). I have tried just about every combination and permutation I could think of to no avail.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Update: "Upload Failed: Unknown Command" &amp; Signature-less Bootloader</title><link>https://devzone.nordicsemi.com/thread/143490?ContentTypeID=1</link><pubDate>Thu, 09 Aug 2018 07:20:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:227723b3-b330-47d3-b5e1-711dd155c1c9</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;You are right, signing is needed even in debug mode. However, in that case the default configuration of the example is to use a example public key that can only be used with the prebuild .zip distributions in the SDK, as we do not provide the private key. You need to replace the public key with your own public key in order to test the bootloader with your own DFU .zip files, even with the debug bootloader.&lt;/p&gt;
&lt;p&gt;SDK 15 introduced a bootloader which does not use signing (called &amp;quot;&lt;em&gt;open&lt;/em&gt; bootloader&amp;quot;). This is intended specifically for the nRF52840 dongle, so the only example we provide uses USB transport. However, it should be possible to replace the transport layer with BLE (though I have not tested).&lt;/p&gt;
&lt;p&gt;I am a bit unsure about what you mean when you say:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I would like to not have to sign it with a private key.&amp;nbsp; I need to do this in order to maintain backward compatibility with firmware that was compiled and packaged without key signing.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I assume this older firmware packages were made for the legacy bootloader (no signature verification)? If so, there are also many other differences, so you cannot use these packages with the new bootloader. You anyway need to re-pack it for use with the new bootloader, therefore I do not see a significant issue with using signed images for the new bootloader and non-signed images for the old. Or am I missing something? I would also like to emphasize the risk of having an open bootloader, as this makes it very easy for an attacker to change the firmware of a device in the field, modifying its behavior or bricking it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Update: "Upload Failed: Unknown Command"</title><link>https://devzone.nordicsemi.com/thread/143442?ContentTypeID=1</link><pubDate>Wed, 08 Aug 2018 18:58:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8935417b-7a78-4e1e-9ebb-354826d773f7</guid><dc:creator>tkstreet</dc:creator><description>&lt;p&gt;Yes, I get the same response from nRF Connect.&amp;nbsp; I&amp;#39;m using whatever the latest version is for Android nRF Toolbox.&lt;/p&gt;
&lt;p&gt;Am I required to use PGP key signing for DFU?&amp;nbsp; I think this is where the problem lies.&amp;nbsp; When I am compiling the bootloader, even though I am using the NRF_DFU_DEBUG_VERSION, it is still compiling the dfu_public_Key.c file and thus signing the bootloader with the public key.&amp;nbsp; When I am generating the package, I would like to not have to sign it with a private key.&amp;nbsp; I need to do this in order to maintain backward compatibility with firmware that was compiled and packaged without key signing.&amp;nbsp; It seems that now, even in debug mode, I am required to do key signing.&amp;nbsp; Is this correct?&amp;nbsp; If so, why is it even possible to generate DFU packages that are unsigned?&amp;nbsp; It seems that the BLE DFU depends on the dfu_req_handling driver (as well as crypto and crc32).&lt;/p&gt;
&lt;p&gt;I can&amp;#39;t find any documentation on non-signed bootloaders, nor are there any examples in the SDK.&amp;nbsp; But what&amp;#39;s strange is that the warning in nrfutil suggests it&amp;#39;s possible:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;|===============================================================|
|You are not providing a signature key, which means the DFU     |
|files will not be signed, and are vulnerable to tampering.     |
|This is only compatible with a signature-less bootloader and is|
|not suitable for production environments.                      |
|===============================================================|&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Can you point me in the right direction to make a signature-less bootloader?&amp;nbsp; Thank you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Update: "Upload Failed: Unknown Command"</title><link>https://devzone.nordicsemi.com/thread/142986?ContentTypeID=1</link><pubDate>Mon, 06 Aug 2018 10:51:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:703d6653-fda9-4e54-9568-2f2fd65ed76b</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;From the log it seems that the nRF receives an unsigned command (log says&amp;nbsp;&amp;quot;Handling unsigned command&amp;quot;). Referring to the implementation in dfu_req_handling.c in SDK 14.2.0, this always leads to a &amp;quot;Unknown command&amp;quot; response. I have a a few more questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which version of nRF Toolbox are you using?&lt;/li&gt;
&lt;li&gt;Do you get the same behaviour if you use nRF Connect (for mobile and/or desktop?&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Update: "Upload Failed: Unknown Command"</title><link>https://devzone.nordicsemi.com/thread/142882?ContentTypeID=1</link><pubDate>Fri, 03 Aug 2018 18:05:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9764d9c3-3809-4f60-a615-584968f47590</guid><dc:creator>tkstreet</dc:creator><description>&lt;p&gt;I just flashed the same bootloader but unsecured and in debug mode.&amp;nbsp; I tried using DFU to send one of the example .zip packages and it worked fine.&amp;nbsp; So it doesn&amp;#39;t seem like the problem is in the bootloader, but in my application package.&amp;nbsp; I&amp;#39;m not sure what it is though.&amp;nbsp; If I flash the firmware and bootloader directly, everything works fine.&amp;nbsp; Then if I package &lt;em&gt;the exact same application&lt;/em&gt; and try to flash over DFU, that&amp;#39;s when I get this Unknown Command error.&amp;nbsp; Do you see something wrong with the settings I am using with nrfutil to package my application?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Update: "Upload Failed: Unknown Command"</title><link>https://devzone.nordicsemi.com/thread/142876?ContentTypeID=1</link><pubDate>Fri, 03 Aug 2018 17:11:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:20b680ec-3df7-42e4-b035-7b16bb2f7df2</guid><dc:creator>tkstreet</dc:creator><description>&lt;p&gt;Here&amp;#39;s the log from the RTT viewer:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: Inside main
 0&amp;gt; &amp;lt;debug&amp;gt; app: In nrf_bootloader_init
 0&amp;gt; &amp;lt;debug&amp;gt; app: in weak nrf_dfu_init_user
 0&amp;gt; &amp;lt;debug&amp;gt; app: In real nrf_dfu_init
 0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Running nrf_dfu_settings_init(sd_irq_initialized=false).
 0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Calling nrf_dfu_flash_init(sd_irq_initialized=false)...
 0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
 0&amp;gt; &amp;lt;debug&amp;gt; app: Initializing the clock.
 0&amp;gt; &amp;lt;debug&amp;gt; app: Enter nrf_dfu_continue
 0&amp;gt; &amp;lt;debug&amp;gt; app: Valid App
 0&amp;gt; &amp;lt;info&amp;gt; app: Bootloader Button read: Pressed
 0&amp;gt; &amp;lt;debug&amp;gt; app: Application sent bootloader request
 0&amp;gt; &amp;lt;debug&amp;gt; app: In nrf_dfu_transports_init
 0&amp;gt; &amp;lt;debug&amp;gt; app: num transports: 1
 0&amp;gt; &amp;lt;debug&amp;gt; app: Initializing BLE DFU transport
 0&amp;gt; &amp;lt;debug&amp;gt; app: vector table: 0x00073000
 0&amp;gt; &amp;lt;debug&amp;gt; app: vector table: 0x00073000
 0&amp;gt; &amp;lt;debug&amp;gt; app: Error code - sd_softdevice_vector_table_base_set: 0x00000000
 0&amp;gt; &amp;lt;debug&amp;gt; app: Enabling SoftDevice.
 0&amp;gt; &amp;lt;warning&amp;gt; nrf_sdh_ble: RAM starts at 0x20002830, can be adjusted to 0x20002180.
 0&amp;gt; &amp;lt;warning&amp;gt; nrf_sdh_ble: RAM size can be adjusted to 0xDE80.
 0&amp;gt; &amp;lt;debug&amp;gt; app: SoftDevice enabled.
 0&amp;gt; &amp;lt;debug&amp;gt; app: nrf_dfu_settings_adv_name_is_valid FALSE
 0&amp;gt; &amp;lt;debug&amp;gt; app: Regular adv name
 0&amp;gt; &amp;lt;debug&amp;gt; app: #### Advertising NO BONDING ####
 0&amp;gt; &amp;lt;debug&amp;gt; app: Finished initializing BLE DFU transport
 0&amp;gt; &amp;lt;debug&amp;gt; app: After nrf_dfu_transports_init
 0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Calling nrf_dfu_flash_init(sd_irq_initialized=true)...
 0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_sd backend.
 0&amp;gt; &amp;lt;debug&amp;gt; app: Waiting for events
 0&amp;gt; &amp;lt;debug&amp;gt; app: Received: BLE_GAP_EVT_CONN_PARAM_UPDATE
 0&amp;gt; &amp;lt;debug&amp;gt; app: conn_sup_timeout: 2000
 0&amp;gt; max_conn_interval: 6
 0&amp;gt; min_conn_interval: 6
 0&amp;gt; slave_latency 0
 0&amp;gt; &amp;lt;debug&amp;gt; app: Received: BLE_GAP_EVT_CONN_PARAM_UPDATE
 0&amp;gt; &amp;lt;debug&amp;gt; app: conn_sup_timeout: 2000
 0&amp;gt; max_conn_interval: 36
 0&amp;gt; min_conn_interval: 36
 0&amp;gt; slave_latency 0
 0&amp;gt; &amp;lt;debug&amp;gt; app: Received select object
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Valid Command: NRF_DFU_OBJECT_OP_SELECT
 0&amp;gt; &amp;lt;debug&amp;gt; app: Sending Object Info: [0x60, 0x06, 0x01 max: 0:x00000100 0:x00000000, CRC:0x00000000]
 0&amp;gt; &amp;lt;debug&amp;gt; app: Set receipt notif
 0&amp;gt; &amp;lt;debug&amp;gt; app: Sending Response: [0x2, 0x1]
 0&amp;gt; &amp;lt;debug&amp;gt; app: Received create object
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Before OP create command
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Valid Command Create
 0&amp;gt; &amp;lt;debug&amp;gt; app: Sending Response: [0x1, 0x1]
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Before OP write command
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Before OP write command
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Before OP write command
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Before OP write command
 0&amp;gt; &amp;lt;debug&amp;gt; app: Received calculate CRC
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Valid Command CRC
 0&amp;gt; &amp;lt;debug&amp;gt; app: Sending CRC: [0x60, 0x03, 0x01, 0:x00000042, CRC:0x13C9BA70]
 0&amp;gt; &amp;lt;debug&amp;gt; app: Received execute object
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Before OP execute command
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Valid command execute
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: PB: Init packet data len: 60
 0&amp;gt; &amp;lt;info&amp;gt; dfu_req_handling: Handling unsigned command
 0&amp;gt; &amp;lt;debug&amp;gt; app: Sending Response: [0x4, 0xB]
 0&amp;gt; &amp;lt;debug&amp;gt; app: #### Advertising NO BONDING ####
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And here&amp;#39;s the log from nRF Connect:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nRF Connect, 2018-08-03
DfuTarg (DA:B9:73:AE:5B:2C)
V 10:00:43.841 Connecting to DA:B9:73:AE:5B:2C...
D 10:00:43.842 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE)
D 10:00:44.106 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I 10:00:44.106 Connected to DA:B9:73:AE:5B:2C
D 10:00:44.124 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
V 10:00:44.126 Discovering services...
D 10:00:44.126 gatt.discoverServices()
D 10:00:44.619 [Callback] Services discovered with status: 0
I 10:00:44.619 Services discovered
V 10:00:44.640 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)
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 10:00:44.640 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
D 10:00:44.643 gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50, true)
D 10:01:07.826 [Callback] Connection state changed with status: 34 and new state: DISCONNECTED (0)
E 10:01:07.827 Error 34 (0x22): GATT CONN LMP TIMEOUT
I 10:01:07.827 Disconnected
D 10:01:07.893 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED
D 10:01:12.795 gatt.close()
D 10:01:12.797 wait(200)
V 10:01:13.001 Connecting to DA:B9:73:AE:5B:2C...
D 10:01:13.001 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE)
D 10:01:13.271 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I 10:01:13.271 Connected to DA:B9:73:AE:5B:2C
D 10:01:13.280 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
V 10:01:13.282 Discovering services...
D 10:01:13.282 gatt.discoverServices()
D 10:01:13.769 [Callback] Services discovered with status: 0
I 10:01:13.769 Services discovered
V 10:01:13.784 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)
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 10:01:13.784 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
D 10:01:13.787 gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50, true)
V 10:01:33.772 [DFU] DFU service started
V 10:01:33.772 [DFU] Opening file...
I 10:01:33.832 [DFU] Firmware file opened successfully
V 10:01:33.833 [DFU] Connecting to DFU target...
D 10:01:33.837 [DFU] gatt = device.connectGatt(autoConnect = false)
I 10:01:33.840 [DFU] Connected to DA:B9:73:AE:5B:2C
V 10:01:33.840 [DFU] Discovering services...
D 10:01:33.840 [DFU] gatt.discoverServices()
I 10:01:34.357 [DFU] Services discovered
D 10:01:34.385 [DFU] wait(1000)
V 10:01:35.385 [DFU] Requesting new MTU...
D 10:01:35.386 [DFU] gatt.requestMtu(517)
I 10:01:35.449 [DFU] MTU changed to: 23
V 10:01:35.449 [DFU] Enabling notifications for 8ec90001-f315-4f60-9fb8-838830daea50
D 10:01:35.449 [DFU] gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50, true)
D 10:01:35.449 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00)
I 10:01:35.585 [DFU] Data written to descr.8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-00
V 10:01:35.586 [DFU] Notifications enabled for 8ec90001-f315-4f60-9fb8-838830daea50
A 10:01:35.586 [DFU] Notifications enabled
D 10:01:35.586 [DFU] wait(1000)
V 10:01:36.592 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 10:01:36.592 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 10:01:36.659 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 10:01:36.660 &amp;quot;Response for: Read Object Info
Status: Success
Max object size: 256 bytes
Current offset: 0 bytes
CRC-32: 00000000&amp;quot; received
I 10:01:36.677 [DFU] 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
I 10:01:36.677 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-06-01-00-01-00-00-00-00-00-00-00-00-00-00
A 10:01:36.677 [DFU] Command object info received (Max size = 256, Offset = 0, CRC = 00000000)
V 10:01:36.677 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 10:01:36.677 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 10:01:36.748 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-02-01
A 10:01:36.748 &amp;quot;Response for: Set PRN value
Status: Success&amp;quot; received
I 10:01:36.760 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-02-01
I 10:01:36.760 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-02-01
A 10:01:36.760 [DFU] Packet Receipt Notif disabled (Op Code = 2, Value = 0)
V 10:01:36.760 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 10:01:36.760 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 10:01:36.837 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-01-01
A 10:01:36.837 &amp;quot;Response for: Create Object
Status: Success&amp;quot; received
I 10:01:36.848 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01
I 10:01:36.848 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01
A 10:01:36.848 [DFU] Command object created
V 10:01:36.848 [DFU] Writing to characteristic 8ec90002-f315-4f60-9fb8-838830daea50
D 10:01:36.848 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 10:01:36.848 [DFU] Data written to 8ec90002-f315-4f60-9fb8-838830daea50, value (0x): 0A-40-08-01-12-3C-08-15-10-34-1A-04-9D-01-A5-01-20-00-28-00
V 10:01:36.848 [DFU] Writing to characteristic 8ec90002-f315-4f60-9fb8-838830daea50
D 10:01:36.848 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 10:01:36.848 [DFU] Data written to 8ec90002-f315-4f60-9fb8-838830daea50, value (0x): 30-00-38-B0-DD-0F-42-24-08-03-12-20-4D-16-56-65-E7-52-56-36
V 10:01:36.848 [DFU] Writing to characteristic 8ec90002-f315-4f60-9fb8-838830daea50
D 10:01:36.848 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 10:01:36.860 [DFU] Data written to 8ec90002-f315-4f60-9fb8-838830daea50, value (0x): 42-3A-91-F5-81-CA-C6-2E-A6-36-2B-4F-CD-B3-C4-56-4D-33-9B-C3
V 10:01:36.860 [DFU] Writing to characteristic 8ec90002-f315-4f60-9fb8-838830daea50
D 10:01:36.860 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 10:01:36.860 [DFU] Data written to 8ec90002-f315-4f60-9fb8-838830daea50, value (0x): 3F-CA-4E-8C-48-00
A 10:01:36.860 [DFU] Command object sent (CRC = 13C9BA70)
V 10:01:36.860 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 10:01:36.860 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 10:01:36.980 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 03
I 10:01:37.016 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-03-01-42-00-00-00-70-BA-C9-13
A 10:01:37.016 &amp;quot;Response for: Calculate Checksum
Status: Success
Current offset: 66 bytes
CRC-32: 13C9BA70&amp;quot; received
I 10:01:37.028 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-03-01-42-00-00-00-70-BA-C9-13
A 10:01:37.028 [DFU] Checksum received (Offset = 66, CRC = 13C9BA70)
V 10:01:37.028 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
D 10:01:37.028 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 10:01:37.108 Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value: (0x) 60-04-0B-03
A 10:01:37.108 &amp;quot;Response for: Execute
Status: Extended error
Details: Unknown command&amp;quot; received
I 10:01:37.114 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 04
I 10:01:37.114 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-04-0B-03
E 10:01:37.114 [DFU] Remote DFU error: EXTENDED ERROR
E 10:01:37.114 [DFU] Details: Unknown command (Code = 3)
V 10:01:37.114 [DFU] Disconnecting...
D 10:01:37.142 [DFU] gatt.disconnect()
I 10:01:37.142 [DFU] Disconnected
D 10:01:37.142 [DFU] gatt.refresh() (hidden)
D 10:01:37.142 [DFU] gatt.close()
D 10:01:37.142 [DFU] wait(600)
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Thanks for your help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Update: "Upload Failed: Unknown Command"</title><link>https://devzone.nordicsemi.com/thread/142821?ContentTypeID=1</link><pubDate>Fri, 03 Aug 2018 12:27:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a841f105-cf6c-4a89-a014-77dbd6c0fbed</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Can you upload a log of the DFU upgrade process to give a bit more understanding of what is going on? You can also try upgrading using the nRF Connect app for mobile or desktop. It might also be useful to see the log from the nRF side, which you can get by using the debug version of the bootloader (with RTT logging).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>