<?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>SDK10 DFU Problems Freezing</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/21107/sdk10-dfu-problems-freezing</link><description>Hi, 
 I&amp;#39;m using the SDK10 bootloader and DFU mechanism. I can update the firmware using Master Control Panel 3.10.14 on a PC, but the update fails using the iOS library or iOS Nordic tools. The iOS library and tools start the update successfully, but</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 10 Apr 2017 18:20:59 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/21107/sdk10-dfu-problems-freezing" /><item><title>RE: SDK10 DFU Problems Freezing</title><link>https://devzone.nordicsemi.com/thread/82577?ContentTypeID=1</link><pubDate>Mon, 10 Apr 2017 18:20:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:98499591-66bf-4f29-ae29-ec4ab208baef</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;Thanks for the reply @jward. I can&amp;#39;t find anywhere in SDK12 that has the .revision struct member. I think I must have a different problem with similar effect as you. I&amp;#39;ll post a new question in Devzone. Thanks again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK10 DFU Problems Freezing</title><link>https://devzone.nordicsemi.com/thread/82576?ContentTypeID=1</link><pubDate>Sat, 08 Apr 2017 16:20:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c13ec8bb-5feb-440e-afd1-34a9827e10a3</guid><dc:creator>jward</dc:creator><description>&lt;p&gt;Search your project for where you initialize the ble_dfu_init_t struct. The .revision struct member contains this value. It should be defined in two places: dfu_transport_ble.c for the bootloader and somewhere in your application when you setup the DFU service.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK10 DFU Problems Freezing</title><link>https://devzone.nordicsemi.com/thread/82575?ContentTypeID=1</link><pubDate>Thu, 06 Apr 2017 20:44:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae725ee2-24bf-47a2-81b2-54cbd1d6819a</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;Where do you change this value? I&amp;#39;ve looked in main.c for both the app and the bootloader but can&amp;#39;t find it. Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK10 DFU Problems Freezing</title><link>https://devzone.nordicsemi.com/thread/82574?ContentTypeID=1</link><pubDate>Tue, 04 Apr 2017 21:49:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3182d522-f420-44ab-81d3-70e047b47802</guid><dc:creator>jward</dc:creator><description>&lt;p&gt;I solved the issue. For the Nordic tools other than Master Control panel (for some reason), the DFU revision characteristic is used to determine state information about the firmware. With SDK10 buttonless update, the DFU revision in the main application needs to be set to 0.1. The Nordic tools use this to tell that the device is operating in application mode rather than bootloader mode. In the bootloader, the revision needs to be set to specific values so the tools/libraries know how to communicate with the update service. This revision number is tied to the specific SDK version or DFU features you are using.&lt;/p&gt;
&lt;p&gt;I was using this characteristic to store version information about my app. The main headache was that MCP wasn&amp;#39;t using it for some reason. It made it hard to debug.&lt;/p&gt;
&lt;p&gt;I found this comment about DFU revision in the iOS DFU library helpful:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;0.1&lt;/strong&gt; - Device is in a mode that supports buttonless jump to the DFU Bootloader&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;0.5&lt;/strong&gt; - Device can handle DFU operation. Extended Init packet is required. Bond information is lost
in the bootloader mode and after updating an app. Released in SDK 7.0.0.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;0.6&lt;/strong&gt; - Bond information is kept in bootloader mode and may be kept after updating application
(DFU Bootloader must be configured to preserve the bond information).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;0.7&lt;/strong&gt; - The SHA-256 firmware hash is used in the Extended Init Packet instead of CRC-16.
This feature is transparent for the DFU Service.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;0.8&lt;/strong&gt; - The Extended Init Packet is signed using the private key. The bootloader, using the public key,
is able to verify the content. Released in SDK 9.0.0 as experimental feature.
Caution! The firmware type (Application, Bootloader, SoftDevice or SoftDevice+Bootloader) is not
encrypted as it is not a part of the Extended Init Packet. A change in the protocol will be required
to fix this issue.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>