<?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>Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/17594/buttonless-dfu-example-broken</link><description>Hi there, 
 I know you guys are very busy and I appreciate your quick response on Devzone. 
 I&amp;#39;d like to make a request for a more polished example of Buttonless DFU using SDK 12.1 with nRF52. 
 We are nearing production and if there&amp;#39;s anything I&amp;#39;d</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 19 Mar 2018 08:26:36 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/17594/buttonless-dfu-example-broken" /><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/124918?ContentTypeID=1</link><pubDate>Mon, 19 Mar 2018 08:26:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d53e7a01-4c85-4cf6-8d86-7485d0eac841</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Thomas: Don&amp;#39;t you read my reply right above? Please create a new case.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/124897?ContentTypeID=1</link><pubDate>Mon, 19 Mar 2018 06:56:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2f45e882-624a-4c36-b8a2-193bb7f37aa5</guid><dc:creator>Thomas Y</dc:creator><description>&lt;p&gt;I tried this in SDK v14 and when the device enter DFU in the bootloader (no bounding) nothing happen while waiting for event.&lt;/p&gt;
&lt;p&gt;NRF Connect is stuck at start 0%&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;0&amp;gt; &amp;lt;info&amp;gt; app: Device is preparing to enter bootloader mode.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Device will enter bootloader mode.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Power management wants to reset to DFU mode&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: reset_prepare disconnect from peer&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: reset_prepare app_timer_stop_all&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: reset_prepare ble_conn_params_stop&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: startDFU enter&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Inside main&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: In nrf_bootloader_init&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: In real nrf_dfu_init&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Running&lt;/span&gt;&lt;br /&gt;&lt;span&gt;nrf_dfu_settings_init(sd_irq_&lt;/span&gt;&lt;span&gt;initialized=false).&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Calling&lt;/span&gt;&lt;br /&gt;&lt;span&gt;nrf_dfu_flash_init(sd_irq_&lt;/span&gt;&lt;span&gt;initialized=false)...&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Initializing the clock.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Enter nrf_dfu_continue&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Valid App&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: In nrf_dfu_enter_check user&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: enter FDU&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Application sent bootloader request&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: In nrf_dfu_transports_init&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: num transports: 1&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Initializing BLE DFU transport&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: vector table: 0x00073000&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: vector table: 0x00073000&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Error code - sd_softdevice_vector_table_&lt;/span&gt;&lt;span&gt;base_set: 0x00000000&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Enabling SoftDevice.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;warning&amp;gt; nrf_sdh_ble: RAM starts at 0x20002830, can be adjusted&lt;/span&gt;&lt;br /&gt;&lt;span&gt;to 0x20002180.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;warning&amp;gt; nrf_sdh_ble: RAM size can be adjusted to 0xDE80.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: SoftDevice enabled.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: nrf_dfu_settings_adv_name_is_&lt;/span&gt;&lt;span&gt;valid FALSE&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Regular adv name&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: #### Advertising NO BONDING ####&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Finished initializing BLE DFU transport&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: After nrf_dfu_transports_init&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Calling&lt;/span&gt;&lt;br /&gt;&lt;span&gt;nrf_dfu_flash_init(sd_irq_&lt;/span&gt;&lt;span&gt;initialized=true)...&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_sd backend.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Waiting for events&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: #### Advertising NO BONDING ####&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: #### Advertising NO BONDING ####&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: #### Advertising NO BONDING ####&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: #### Advertising NO BONDING ####&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: #### Advertising NO BONDING ####&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: #### Advertising NO BONDING ####&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;then switch back to APP&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67667?ContentTypeID=1</link><pubDate>Wed, 25 Oct 2017 12:50:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:006abe98-fd00-4182-ab7d-817fed6828a9</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Paul: Please create a new case when you have question. This is a pretty old case and we have buttonless supported natively in SDK v14. Please find it &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.1.0/ble_sdk_app_buttonless_dfu.html?cp=4_0_0_4_4_1"&gt;here&lt;/a&gt;. Make sure you have a look at the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.1.0/service_dfu.html"&gt;Buttonless Secure DFU Service&lt;/a&gt; to know how it works.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67666?ContentTypeID=1</link><pubDate>Wed, 25 Oct 2017 05:46:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:45c4b5c5-62de-43c8-a91d-78cde51e7d49</guid><dc:creator>paul_tanner</dc:creator><description>&lt;p&gt;@kevin I downloaded Vidar&amp;#39;s version and don&amp;#39;t see what makes that buttonless.
What exactly does this mean:
&amp;quot;Enable notifications on the control point, and write 0x01 to enter DFU mode&amp;quot;
What is the nature of the trigger for entering DFU, is it something the application does or something it&amp;#39;s always listening for when running?
Thx.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67662?ContentTypeID=1</link><pubDate>Wed, 26 Jul 2017 18:02:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b232d3e9-692d-46ae-9114-0245b9cc0339</guid><dc:creator>sam wagner</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;Thanks for the reply. It is good to know that sharing of bonding information will be supported in the upcoming SDK release. Any idea when the SDK will be available?&lt;/p&gt;
&lt;p&gt;I understand that anyone who gets the .zip DFU package might be able to reverse engineer the FW even though bonding information is shared between the App and the Bootloader.
Yes, my concern about the replay attack is exactly what you mentioned above. Someone can just replay the OTA DFU packets (since they currently go unencrypted on air and hence are easy to sniff on air for any malicious user)  and force the costly operation of firmware update on the device. As you mentioned, I can change the default bootloader behavior to reject DFU if the FW version is the same to avoid such situation.&lt;/p&gt;
&lt;p&gt;Thanks,
Sam&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67665?ContentTypeID=1</link><pubDate>Wed, 26 Jul 2017 12:27:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:55ee5893-64e7-42fb-bd8a-d46db2a1c82f</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Sam,&lt;/p&gt;
&lt;p&gt;We do plan to have bonding supported in the next release of the SDK. But still, attacker may have access to the phone (or to the .zip DFU package) and find the unencrypted firmware )&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not an expert in security, but what exactly the risk of having replay attack ? The attacker can&amp;#39;t modify the firmware, if he send the same firmware, you can tell the bootloader to reject the firmware if the firmware version is the same (default behaviour is to accept it)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67664?ContentTypeID=1</link><pubDate>Wed, 26 Jul 2017 06:46:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fe6dfce4-eb68-4775-b925-7fa242a325c3</guid><dc:creator>sam wagner</dc:creator><description>&lt;p&gt;Sorry for the typos in the above comment. I hope the main points are clear.
Please provide some insight into this and I am not able convince my team about the robustness of security mechanism used by the DFU mechanism in SDK12!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67663?ContentTypeID=1</link><pubDate>Wed, 26 Jul 2017 06:44:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba5a613b-ba29-4c57-a4ec-5cdad0919df5</guid><dc:creator>sam wagner</dc:creator><description>&lt;p&gt;hi Hung,&lt;/p&gt;
&lt;p&gt;Since the without sharing the bonding information between App and the Bootloader, the OTA DFU happens on an unencrypted link. So, anybody can look at the ECDSA signed FW image being transferred and possibly reverse engineer the image (since the FW itself is not encrypted) and/or do replay attack of the same ECDSA signed FW image. (some references: &lt;a href="https://devzone.nordicsemi.com/question/116089/secure-dfu-how-secure-is-it/)"&gt;devzone.nordicsemi.com/.../)&lt;/a&gt;. How does the current method of DFU guard against the above issues (namely, reverse engineering of FW image sniffer on air and replay attack of the same image along with its ECDSA signature)?&lt;/p&gt;
&lt;p&gt;Thanks,
Sarang&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67668?ContentTypeID=1</link><pubDate>Wed, 03 May 2017 09:17:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6f558fd4-1e62-492c-ac59-22ddd5e39557</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi,
The out come from the discussion on support portal was to not do bond forwarding and only do address change when switching to bootloader. Here is some quote explaining:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The main reason why bonding does not provide a benefit is that the upgrade image is signed, so the upgrade can only be performed with a valid image. The real issue when it comes to security for buttonless DFU is to prevent an attacker to put the device in DFU mode, as we discussed, which is independent of bonding used for DFU or not.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If bonding information is shared between bootloader and application there are some cases that could lead to problems. For example, if the application deletes the bond after the bootloader has started, the bonding information will be invalid. In that case, the bootloader need a way to delete the bonding information. Another situation is where the upgrade is aborted for some reason, and the device is reset into the bootloader (possibly with an invalid application if the application is so large that single bank DFU is needed). In that case, the application cannot be run in order to transfer bonding information to the bootloader. There are other corner cases as well.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The conclusion from our DFU team is that with the current solution, the only benefit of sharing bonding information is that there is no need to change the device address, and that this does not outweigh the disadvantages. That is why we have not implemented sharing of bonding information at the moment, and does not have immediate plans to do not. Nor do we recommend modifying the application and bootloader for sharing bonding information.&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67661?ContentTypeID=1</link><pubDate>Tue, 02 May 2017 23:41:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:05213373-c800-4f94-a9aa-36950a4769a9</guid><dc:creator>pmeilleur</dc:creator><description>&lt;p&gt;I&amp;#39;m interested by the topic and I guess I&amp;#39;m not the only one! Can you please share the developments with the community..?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67660?ContentTypeID=1</link><pubDate>Fri, 17 Feb 2017 08:59:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f9bf8e4-b412-44e5-9784-53195d3e7db7</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;OK, we will try to push the SDK team to get something for you. We will continue discussion on the case on support portal.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67659?ContentTypeID=1</link><pubDate>Fri, 17 Feb 2017 01:44:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8f45662c-908b-45c8-8928-96326619c295</guid><dc:creator>parco</dc:creator><description>&lt;p&gt;Hung Bui, this is incredibly high priority for us, I created a support ticket.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67657?ContentTypeID=1</link><pubDate>Thu, 16 Feb 2017 15:26:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf57abe5-690b-4669-bdf7-8540d1edacd8</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;yes, you would need to forward the bond information (LTK) from applicaton, and send it to the softdevice  when in bootloader by calling sd_ble_gap_sec_info_reply() when there is BLE_GAP_EVT_SEC_INFO_REQUEST event.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67656?ContentTypeID=1</link><pubDate>Thu, 16 Feb 2017 15:16:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f37ea2d5-9164-4835-b528-850c4a0fbde5</guid><dc:creator>parco</dc:creator><description>&lt;p&gt;Would this require changes to the bootloader?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67655?ContentTypeID=1</link><pubDate>Thu, 16 Feb 2017 15:09:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a24badd9-e9d2-4f53-a80d-951247b088b7</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;I see, that part is not covered in the current DFU buttonless, you may need to implement on your own, I would suggest to follow what we did in the example in SDK v11.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67654?ContentTypeID=1</link><pubDate>Thu, 16 Feb 2017 14:33:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1e0429f9-2511-49fa-808a-3e75f5d515de</guid><dc:creator>parco</dc:creator><description>&lt;p&gt;The nice handing off from application to dfu that took place like in legacy dfu. I think it&amp;#39;s called bond sharing?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67653?ContentTypeID=1</link><pubDate>Thu, 16 Feb 2017 14:29:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e399728e-4d11-4d65-86f1-12654676d1ff</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Could you let me know the main feature lacking on the experimental example that you need ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67652?ContentTypeID=1</link><pubDate>Thu, 16 Feb 2017 14:26:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b34a7dd2-f15d-478a-a40f-968a2099f1df</guid><dc:creator>parco</dc:creator><description>&lt;p&gt;@Hung Bui what are the chances we can get some dedicated work on this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67651?ContentTypeID=1</link><pubDate>Thu, 16 Feb 2017 13:03:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:595af2b9-1b84-48b2-b081-d6350b659aed</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Nope, seems still in experimental in SDK v13 releasing next month.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67658?ContentTypeID=1</link><pubDate>Thu, 16 Feb 2017 08:46:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee124b9e-ff08-4632-a6f6-9d5d8f1733f6</guid><dc:creator>parco</dc:creator><description>&lt;p&gt;It&amp;#39;s been nearly 4 months, any updates on a production ready buttonless example?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67648?ContentTypeID=1</link><pubDate>Tue, 14 Feb 2017 13:25:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1b7beb3b-fb60-407e-82b7-4fa6a9e2af80</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;It&amp;#39;s our proprietary service so it&amp;#39;s normal that Apple products show it as Unknown Service.
Regard the issue that you have to send command several time, please try to capture a &lt;a href="https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF-Sniffer/"&gt;sniffer trace&lt;/a&gt; we will be able to investigate further. I suggest to create a new case on this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67650?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2017 18:23:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f064b7e8-4e4f-4bd6-aa66-22e2132b7286</guid><dc:creator>Kevin s</dc:creator><description>&lt;p&gt;@Hung: OK, I was able to get Vidar&amp;#39;s modified code going to bootloader mode by turning off the bluetooth and leaving it off for a couple of minutes. Then turning it back on; I guess since I&amp;#39;m using the same dev board and phone, there was some cached information prohibiting the service from running.
I have also verified Vidar&amp;#39;s code works for an Andriod tablet and an Ipad Air2. Although it does not work immediately; sometimes I must have to send the command to go to bootloader multiple times.
Also, the Andriod tablet shows the name of the service (Experimental Buttonless DFU Service&amp;quot;) whereas the apple products show the service as &amp;quot;Unknown Service&amp;quot;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67649?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2017 14:08:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:210cedd2-a4ac-4486-b815-32895e1f2fd7</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Kevin,&lt;/p&gt;
&lt;p&gt;Sorry for misunderstanding. It&amp;#39;s most likely the phone cached the ATT table so that you can&amp;#39;t find the DFU control point characteristic you should write.
What was the &amp;quot;a write/notify Characteristic&amp;quot; you used  ? What was the UUID ? The UUID for the DFU buttonless char is 50-EA-DA-30-88-83-B8-9F-60-4F-15-F3-01-00-40-8E.
You should try to turn off and on bluetooth on the phone, then use nRFConnect to connect and service discovery.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67647?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2017 12:52:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f445419-2c74-4a2f-89c4-c09c1afe7344</guid><dc:creator>Kevin s</dc:creator><description>&lt;p&gt;@Hung: Maybe you misunderstood my previous comment; I have used the experimental_ble_app_buttonless_dfu project, modified by Vidar in the zip file link above. It does not go to the DFU mode as mentioned by daniel77 and me above.
&amp;quot;With my iPhone, I see the same as Daniel77; Nordic_Template and the services he mentioned. When I use Master Control Panel from my computer I see &amp;quot;Nordic_Template&amp;quot; with a write/notify Characteristic. I write 01 00 to the value and rescan, but the Board does not go to bootloader.&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU Example broken</title><link>https://devzone.nordicsemi.com/thread/67645?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2017 10:23:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ba5b256-b887-4dc5-809a-66df0be2029a</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Kevin: If you update the firmware with a normal application (not an buttonless DFU application) then you should not expect that you can enter DFU after that. You need to implement &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v12.2.0/group__ble__dfu.html"&gt;Buttonless DFU service&lt;/a&gt; in the application.&lt;/p&gt;
&lt;p&gt;Please refer to the experimental_ble_app_buttonless_dfu, check the services_init() function.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>