<?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 image offset recovery</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/86492/dfu-image-offset-recovery</link><description>I want to recover DFU over BLE upon a dropped connection while in the middle of an update. 
 I have my own software that I&amp;#39;ve cooked up to program from another NRF52 chip and I&amp;#39;ve tested with nrfutil the following scenarios: 
 
 Start secure DFU, force</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 06 Apr 2022 14:06:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/86492/dfu-image-offset-recovery" /><item><title>RE: DFU image offset recovery</title><link>https://devzone.nordicsemi.com/thread/362124?ContentTypeID=1</link><pubDate>Wed, 06 Apr 2022 14:06:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3e40bde9-3d9b-4cb2-8604-f0a171d4450c</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Einar is Out of Office, so I will look at your questions.&lt;/p&gt;
&lt;p&gt;What SDK version is the nRF Bootloader that is programmed onto the nRF from? In the sdk_config.h file from that bootloader, do you see something like&amp;nbsp;NRF_DFU_SAVE_PROGRESS_IN_FLASH? (that is what it is called in SDK 17.1.0). You need to enable this by setting that parameter to 1 for it to store the progress over resets.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU image offset recovery</title><link>https://devzone.nordicsemi.com/thread/361560?ContentTypeID=1</link><pubDate>Mon, 04 Apr 2022 13:56:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fef95ed5-5e83-472f-aa5a-95704abd7b8a</guid><dc:creator>adamZ</dc:creator><description>&lt;p&gt;I&amp;#39;ve went back to the DFU test image software (secure/bondless/nrf52832 from v17.0.2 nrf5 sdk), and was unable to recover from last offset before a disconnection event. Again, it seems the init packet stayed in memory and was able to recover what was already transmitted but the image offset still responded back as 0...&lt;/p&gt;
&lt;p&gt;Where I forced disconnect...&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;2022-04-04 08:42:24,087 | nordicsemi.dfu.dfu_transport_ble:626 |  DEBUG: BLE: Object selected: max_size:4096 offset:0 crc:0
2022-04-04 08:42:24,201 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:0 crc:0x00000000
  [------------------------------------]    2%  00:11:462022-04-04 08:42:27,081 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:4096 crc:0xC512DFBB
  [#-----------------------------------]    5%  00:08:592022-04-04 08:42:29,991 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:8192 crc:0x3F11680D
  [##----------------------------------]    8%  00:07:252022-04-04 08:42:32,871 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:12288 crc:0xFBDB4B41
  [###---------------------------------]   10%  00:06:222022-04-04 08:42:35,751 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:16384 crc:0x6A13CD4B
  [####--------------------------------]   13%  00:05:352022-04-04 08:42:38,661 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:20480 crc:0xDF895DEC
  [#####-------------------------------]   16%  00:05:002022-04-04 08:42:41,541 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:24576 crc:0xC1CFC488&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Where i tried to reconnect and re-transmit...&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;2022-04-04 08:45:59,479 | nordicsemi.dfu.dfu_transport_ble:626 |  DEBUG: BLE: Object selected: max_size:512 offset:148 crc:3907975341
2022-04-04 08:45:59,565 | nordicsemi.dfu.dfu_transport_ble:621 |  DEBUG: BLE: Selecting Object: type:2
2022-04-04 08:45:59,732 | nordicsemi.dfu.dfu_transport_ble:626 |  DEBUG: BLE: Object selected: max_size:4096 offset:0 crc:0
2022-04-04 08:45:59,833 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:0 crc:0x00000000
  [------------------------------------]    2%  00:08:112022-04-04 08:46:02,713 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:4096 crc:0xC512DFBB
  [#-----------------------------------]    5%  00:06:232022-04-04 08:46:05,653 | nordicsemi.dfu.dfu_transport_ble:636 |  DEBUG: BLE: Streaming Data: len:4096 offset:8192 crc:0x3F11680D&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Thanks for the help with this...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU image offset recovery</title><link>https://devzone.nordicsemi.com/thread/361293?ContentTypeID=1</link><pubDate>Fri, 01 Apr 2022 20:34:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4cd0b483-72d8-40ca-bbc6-850b4924b8d5</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user=""]&lt;p&gt;However, I am unable to read my last image offset from before these events and recover from that point, which is what I want to do so that I spend less time re-sending packets when dropped connections can occur.&lt;/p&gt;
&lt;p&gt;I would post some of my code, but I am unable to recover even when using nrfutil application that has code showing a recovery method that doesn&amp;#39;t seem to work either...&lt;/p&gt;[/quote]
&lt;p&gt;As you also see this with nrfutil I assume we can hold your DFU master implementation out of the equation for now. Did you check with nRF Connect for iOS or Android also? Those also supports continuing in the middle of an update instead of starting from the scratch. If this fails also there it would be interesting to know about your bootloader. Which SDK version do you use, and which modifications have you done to the bootloader?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>