<?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>Thread Secure DFU compatibility with bootloader</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/65838/thread-secure-dfu-compatibility-with-bootloader</link><description>We have Thread devices with bootloader and applicaion based on nRF5 SDK for Thread and Zigbee 2.0, and now we are migrating to SDK 4.1. As it&amp;#39;s stated in documentation the bootloader cannot be updated with Thread Secure DFU, so we need to stay with bootloadter</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 30 Oct 2020 14:33:33 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/65838/thread-secure-dfu-compatibility-with-bootloader" /><item><title>RE: Thread Secure DFU compatibility with bootloader</title><link>https://devzone.nordicsemi.com/thread/277847?ContentTypeID=1</link><pubDate>Fri, 30 Oct 2020 14:33:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d853b824-adc6-4992-8dc9-4b8915404dc5</guid><dc:creator>kristofbo</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you for the answer.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve verified it on my setup and indeed it looks&amp;nbsp;that compatibility is broken between SDK 2.0 and SDK 4.1.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Test procedure:&lt;/strong&gt;&lt;br /&gt;1. Flash loader and application based on SDK 2.0&lt;br /&gt;2. Perform DFU of application only, based on SDK 4.1&lt;br /&gt;3. Perform next DFU of application only, based on SDK 4.1&lt;/p&gt;
&lt;p&gt;On step 3. I get an error like below:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;[00:00:00.041,346] &amp;lt;debug&amp;gt; nrf_dfu_settings: Calling nrf_dfu_settings_init()...
[00:00:00.041,474] &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
[00:00:00.041,858] &amp;lt;debug&amp;gt; nrf_dfu_settings: Using settings page.
[00:00:00.042,114] &amp;lt;debug&amp;gt; nrf_dfu_settings: Copying forbidden parts from backup page.
[00:00:00.043,010] &amp;lt;warning&amp;gt; nrf_dfu_settings: Settings write aborted since it tries writing to forbidden settings.
[00:00:00.043,138] &amp;lt;error&amp;gt; nrf_dfu_settings: nrf_dfu_settings_write_and_backup() failed with error: F&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I see there is a NRF_DFU_SETTINGS_COMPATIBILITY_MODE but it is active only when NRF_DFU_IN_APP is disabled. The full condition:&lt;pre class="ui-code" data-mode="c_cpp"&gt;if (NRF_DFU_SETTINGS_COMPATIBILITY_MODE &amp;amp;&amp;amp; !NRF_DFU_IN_APP &amp;amp;&amp;amp; (s_dfu_settings.settings_version == 1))&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;...so I&amp;#39;ve even removed !NRF_DFU_IN_APP from that condition to force settings migration:&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;if (NRF_DFU_SETTINGS_COMPATIBILITY_MODE &amp;amp;&amp;amp; (s_dfu_settings.settings_version == 1))&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;but it did not help:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;[00:00:00.125,832] &amp;lt;debug&amp;gt; nrf_dfu_settings: Calling nrf_dfu_settings_init()...
[00:00:00.125,960] &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
[00:00:00.126,344] &amp;lt;debug&amp;gt; nrf_dfu_settings: Using settings page.
[00:00:00.126,600] &amp;lt;debug&amp;gt; nrf_dfu_settings: Copying forbidden parts from backup page.
[00:00:00.126,728] &amp;lt;info&amp;gt; nrf_dfu_settings: Old settings page detected. Upgrading info.
[00:00:00.127,368] &amp;lt;warning&amp;gt; nrf_dfu_settings: Settings write aborted since it tries writing to forbidden settings.
[00:00:00.127,496] &amp;lt;error&amp;gt; nrf_dfu_settings: nrf_dfu_settings_write_and_backup() failed with error: F&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Krzysztof&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread Secure DFU compatibility with bootloader</title><link>https://devzone.nordicsemi.com/thread/272344?ContentTypeID=1</link><pubDate>Wed, 30 Sep 2020 13:44:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b5a33ee7-8306-40cd-b304-660833c7c853</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There may have been some changes to the applications are verified by the bootloader. This means that the old bootloader may not be compatible with the latest SDK. We did not investigate this further, as it made more sense t verify if bootloader can be updated with latest SDK version (which I confirmed&amp;nbsp;is possible in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/65790/bootloader-and-softdevice-update-using-thread-secure-dfu/272331#272331"&gt;your other case&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Please let me know if you see any reason to look more into this.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread Secure DFU compatibility with bootloader</title><link>https://devzone.nordicsemi.com/thread/269308?ContentTypeID=1</link><pubDate>Mon, 14 Sep 2020 08:37:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d9efd0ee-b434-4a05-9f64-ee502036fa78</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m checking with our Thread team what your options are and what is supported in the SDK. I will get back to you as soon as I receive their response.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>