<?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>Need to run DFU procedure twice</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/4508/need-to-run-dfu-procedure-twice</link><description>Hi 
 NRF51822 with SD7, S110. 
 I have some troubles with DFU procedure. I uploaded standard OTA-DFU bootloader and S110 to my NRF. Everything works well with my code except DFU. I have to start DFU procedure twice. 
 When I&amp;#39;m trying to start DFU from</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 21 Nov 2014 14:26:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/4508/need-to-run-dfu-procedure-twice" /><item><title>RE: Need to run DFU procedure twice</title><link>https://devzone.nordicsemi.com/thread/15999?ContentTypeID=1</link><pubDate>Fri, 21 Nov 2014 14:26:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb47defd-4766-41ab-b3a4-7b893baa4cf5</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;The thing that you describe with needing to start DFU twice, has something to do with that the central DFU app (on android and IOS) conserves the GATT table for a device that it was connected with before. When then trying to upload new firmware with the bootloader, the Android phone still has GATT table from HRS service (or whatever profile you were connected with before), but it really needs the GATT table for the bootloader. The upload fails and the phone disconnects and erases the GATT table. On the second attempt, there is no GATT table present on the phone so the app will perform a service discovery on the bootloader profile and then the upload works afterwards. The app developers are aware of this behavior and hopefully they will make improvements in future release&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>