<?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>Problem with implementing DFU over iOS</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/42552/problem-with-implementing-dfu-over-ios</link><description>Hi, 
 
 We are developing a BLE peripheral that support DFU and accompanying Andriod &amp;amp; iOS apps. 
 
 When using the following tools, (buttonless) DFU concludes successfully : 
 
 nRF connect for PC 
 nRF connect on Android, 
 nRF toolbox for Android </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 16 Jan 2019 14:15:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/42552/problem-with-implementing-dfu-over-ios" /><item><title>RE: Problem with implementing DFU over iOS</title><link>https://devzone.nordicsemi.com/thread/166016?ContentTypeID=1</link><pubDate>Wed, 16 Jan 2019 14:15:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1c5ebf53-32b1-4efa-893c-151af61c7ce1</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t think the advertising data would be the issue here. As you can see in the log, the DFU master on the phone managed to switch from the application to DFU bootloader, and the bootloader get connected and the phone tried to do service discovery. This was where the issue happened. DFU service was not found.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We suspected it was due to cached attribute table, but as you mentioned you already included service changed, nobond, turn off and on Bluetooth, it should work.&lt;/p&gt;
&lt;p&gt;A&lt;a href="https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF-Sniffer/"&gt; sniffer trace &lt;/a&gt;would be really helpful to check if the service discovery actually happens or not.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I would suggest you after you have the disconnection, try using nRFConnect to scan and find the DFU bootloader and connect to it and check what&amp;#39;s inside the attribute table at that point.&lt;/p&gt;
&lt;p&gt;In addition you can also test to trigger the switching from application to bootloader by 1. Enable indication. 2. Write 0x01 to the DFU control point characteristic. The device should switch to bootloader and it should start advertising as DFU target. You then can switch to scan mode in nRFConnect and connect to the DFU target. If there is a DFU service inside the bootloader, you should be able to perform DFU.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I would suggest to test with the stock ble_app_buttonless example instead of your application, just&amp;nbsp;to align with what we have here.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with implementing DFU over iOS</title><link>https://devzone.nordicsemi.com/thread/165740?ContentTypeID=1</link><pubDate>Tue, 15 Jan 2019 13:00:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:453d2cc5-b1b7-49bd-9ff0-60b6a22208eb</guid><dc:creator>eyalasko</dc:creator><description>&lt;p&gt;one interesting observation -&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The advertised field payload is marked as incomplete 16-bit service, while its actually 128 bit.&lt;/p&gt;
&lt;p&gt;Can it be related to the problem?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/2019_2D00_01_2D00_15-14_5F00_57_5F00_27_2D00_Window.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>