<?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>Issue in sequential update of  firmware packages (SD + BL + APP) in iOS  without bonds?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/62909/issue-in-sequential-update-of-firmware-packages-sd-bl-app-in-ios-without-bonds</link><description>Hello, 
 I am trying to transfer firmware packages in sequence (SD , BL &amp;amp; APP) to iOS device. I am using button less DFU without bonds. iOS device could able to transfer only one package after that the iOS is not able to detect the services in from BLE</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 25 Jun 2020 15:08:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/62909/issue-in-sequential-update-of-firmware-packages-sd-bl-app-in-ios-without-bonds" /><item><title>RE: Issue in sequential update of  firmware packages (SD + BL + APP) in iOS  without bonds?</title><link>https://devzone.nordicsemi.com/thread/256987?ContentTypeID=1</link><pubDate>Thu, 25 Jun 2020 15:08:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:671dd661-3f08-4b2a-addb-f304d4581329</guid><dc:creator>Aleksander Nowakowski</dc:creator><description>&lt;p&gt;If both the app and bootloader are to have the same Mac, you need to solve caching issue. On iOS it&amp;#39;s enough to enable Service Changed characteristic. On Android.. I think it clears the cache in right moments, but if not, you&amp;#39;ll have to add one line of code to your custom dfu Android lib.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue in sequential update of  firmware packages (SD + BL + APP) in iOS  without bonds?</title><link>https://devzone.nordicsemi.com/thread/256884?ContentTypeID=1</link><pubDate>Thu, 25 Jun 2020 11:34:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cb395868-b2d6-4918-b565-b714c6918291</guid><dc:creator>deepu301</dc:creator><description>&lt;p&gt;Hello&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/afnowakowski"&gt;Aleksander Nowakowski&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for your reply. As I have commented&amp;nbsp; below line in file&amp;nbsp;bootloader\ble_dfu\nrf_dfu_ble.c in order to use same MAC ID&amp;nbsp;in&amp;nbsp; application and DFU mode which led to caching in iOS device. After commenting it works fine with +1 incremented MAC ID now can load all three files.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;uint32_t ble_dfu_transport_init(nrf_dfu_observer_t observer)
{

....

....

//err_code = gap_params_init();
// VERIFY_SUCCESS(err_code);

}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Now the question is, in our&amp;nbsp; project we might have multiple devices at a time close by and we are using custom MAC range for application if it increment there might have collision&amp;nbsp;of MAC-ID with other device in vicinity.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is it possible to use default MAC ID&amp;nbsp;in DFU mode rather that incrementing application MAC +1. If possible how to change DFU MAC to default. Will this have impact on iOS and Android nordic dfu library.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue in sequential update of  firmware packages (SD + BL + APP) in iOS  without bonds?</title><link>https://devzone.nordicsemi.com/thread/256467?ContentTypeID=1</link><pubDate>Tue, 23 Jun 2020 13:15:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b7794c4b-3987-421a-bbe3-0f28ecbd5757</guid><dc:creator>Aleksander Nowakowski</dc:creator><description>&lt;p&gt;Hello!&lt;/p&gt;
&lt;p&gt;This should work, unless you had Service Changed characteristic disabled in the previous version of the bootloader and try to enable it in the new one. The DFU bootloader, when triggered using buttonless update without bonds uses address +1. All services are&amp;nbsp;cached during the first update. After upgrading SD+BL, the new bootloader restarts and it will&amp;nbsp;use the same address as before (+1). All services cached before should be exactly the same after in the new bootloader.&amp;nbsp;If at least one of your DFU bootloader didn&amp;#39;t have SC enabled, you can never enable it in any future version.&lt;/p&gt;
&lt;p&gt;TL;DR:&lt;/p&gt;
&lt;p&gt;If you had SC enabled in the previous DFU bootloader - caching should not be a problem, as iOS won&amp;#39;t cache.&lt;/p&gt;
&lt;p&gt;If you didn&amp;#39;t have SC enabled in at least one previous version - make sure you will never enable it in any future version.&lt;/p&gt;
&lt;p&gt;I hopes I guessed the cause of your problem.&amp;nbsp;Otherwise,&amp;nbsp;you didn&amp;#39;t have SC characteristic in the &amp;quot;previous&amp;quot; bootloader and you&amp;#39;re adding some other services/characteristics to the bootloader, which is also not allowed. I can&amp;#39;t find any other option that would cause problem in this scenario.&lt;/p&gt;
&lt;p&gt;BR, Aleksander&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>