<?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 with bonds, issue on Galaxy s8 phone</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/112895/buttonless-dfu-with-bonds-issue-on-galaxy-s8-phone</link><description>We are working on a project, with a working secure buttonless bootloader that works flawlessly. However I recently made it with bonds, and it works with all of the devices I&amp;#39;ve tested both OS and android, except my Galaxy S8. Upon issuing the enter bootloader</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 11 Jul 2024 23:08:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/112895/buttonless-dfu-with-bonds-issue-on-galaxy-s8-phone" /><item><title>RE: Buttonless DFU with bonds, issue on Galaxy s8 phone</title><link>https://devzone.nordicsemi.com/thread/493533?ContentTypeID=1</link><pubDate>Thu, 11 Jul 2024 23:08:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7440757-528b-41de-8884-b703c73146bf</guid><dc:creator>Steven Yan</dc:creator><description>&lt;p&gt;Thank you for your help, we will keep that in mind&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU with bonds, issue on Galaxy s8 phone</title><link>https://devzone.nordicsemi.com/thread/493280?ContentTypeID=1</link><pubDate>Thu, 11 Jul 2024 06:19:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e2f43804-c022-4e65-9881-b97a3e8a5f4a</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Steven,&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;It sounds like the problem was that your phone was not subscribed to the Service Changed (SC) indication. This will prevent the bootloader and the app from&amp;nbsp;reporting changes to the&amp;nbsp;attribute table. I&amp;#39;m not sure why this is only affecting the S8, however. Maybe the other Android phones enabled indications automatically. iOS devices will do it automatically, at least.&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:inherit;"&gt;Either way, if you are using a custom&amp;nbsp;Android app, the solution should be to have it enable the SC indication automatically. For the nRF connect app, it needs to be done manually before starting DFU.&lt;/span&gt;&lt;/p&gt;
[quote user="Steven Yan"]My current tools at my disposal is our custom pcb and an nRF52 DK, with which I used Segger IDE to debug. I am unsure how I can check for the error code returned by the service_changed_send() function, as I believe you cannot debug the DK with both app and bootloader on it? Unless I am mistaken?[/quote]
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;I don&amp;#39;t think it will be necessary to debug the bootloader after all. However, if I were to debug it, I would start a debug session with the bootloader project, set breakpoints before and after the function in question, let the execution continue to the application, initiate DFU, and then wait for the breakpoints to get hit.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;Vidar&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU with bonds, issue on Galaxy s8 phone</title><link>https://devzone.nordicsemi.com/thread/493236?ContentTypeID=1</link><pubDate>Wed, 10 Jul 2024 17:44:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e66543a-e62f-4290-9ed4-0d108af7d385</guid><dc:creator>Steven Yan</dc:creator><description>&lt;p&gt;Hi Vidar, thanks for the response.&lt;/p&gt;
&lt;p&gt;It appears it is related to the indication, as if I select the indication button for service&amp;nbsp;changed on NRF connect during application mode, before i enter DFU, everything works as expected on my Galaxy S8. So from my understanding, the app is supposed to set indication for service changed at some point, but it is failing on my phone? Is there a way to code to make it indicate at some point, perhaps after connection, in case it fails?&lt;/p&gt;
&lt;p&gt;My current tools at my disposal is our custom pcb and an nRF52 DK, with which I used Segger IDE to debug. I am unsure how I can check for the error code returned by the service_changed_send() function, as I believe you cannot debug the DK with both app and bootloader on it? Unless I am mistaken?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Steven&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU with bonds, issue on Galaxy s8 phone</title><link>https://devzone.nordicsemi.com/thread/493172?ContentTypeID=1</link><pubDate>Wed, 10 Jul 2024 13:18:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d6857e3-5ee7-4aff-88e2-c31c6f33ad55</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello Steven,&lt;/p&gt;
&lt;p&gt;It sounds like the bootloader either failed to send the service changed indication, or the phone failed to process it. When bond sharing is enabled, the service changed indication is used by the GATT server to signal that the attribute table has been changed and that the phone must perform a new service discovery.&lt;/p&gt;
&lt;p&gt;To troubleshoot this, I recommend starting by checking the error code returned by the nrf_dfu_ble.c-&amp;gt;service_changed_send() function in the bootloader (it should be called when reconnecting to the device in bootloader DFU mode).&lt;/p&gt;
&lt;p&gt;When using buttonless DFU without bonds, the bootloader will use a different address to avoid problems with attribute caching. However, this is not possible with bond sharing, as the BLE address has to remain the same for the bond to be valid.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1720617395981v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Link:&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/service_dfu.html"&gt;https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/service_dfu.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>