<?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>(NCS 2.5.0) Unable to OTA if the device is previously bonded.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/123272/ncs-2-5-0-unable-to-ota-if-the-device-is-previously-bonded</link><description>Hi, 
 We are running into a serious issue with OTA. Specifically, we have observed that nRF52832 will not be able to perform OTA to a newer firmware given that it is previously bonded with a device . The problem arises when the newer firmware modifies</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 08 Aug 2025 05:19:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/123272/ncs-2-5-0-unable-to-ota-if-the-device-is-previously-bonded" /><item><title>RE: (NCS 2.5.0) Unable to OTA if the device is previously bonded.</title><link>https://devzone.nordicsemi.com/thread/545006?ContentTypeID=1</link><pubDate>Fri, 08 Aug 2025 05:19:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0744a784-c8f6-4b63-9735-e60999bcbbc6</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;&lt;span style="font-weight:400;"&gt;We were finally&amp;nbsp;able to&amp;nbsp;fix this issue after digging through zephyr&amp;#39;s GATT codebase.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;For the service changed indication to get sent, it looks like GATT data have to be cached in the device flash for it to compare the GATT attribute table hash after OTA.&amp;nbsp;&lt;span style="font-weight:400;"&gt;Zephyr checks for the DB hash after boot and sends a service change&amp;nbsp;indication&amp;nbsp;work item to the queue if it doesn&amp;#39;t match.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;It looks like CONFIG_BLE_GATT_CACHING needs to be set for the app to properly clear the attribute cache, which fixed&amp;nbsp;our connection&amp;nbsp;issue after OTA given the device is previously bonded.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: (NCS 2.5.0) Unable to OTA if the device is previously bonded.</title><link>https://devzone.nordicsemi.com/thread/544327?ContentTypeID=1</link><pubDate>Fri, 01 Aug 2025 12:38:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d43ef474-cbe8-4d68-80d7-2c623f4459e3</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Taspon,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;I would suggest to try testing with the nRF Connect app to see if you can write to the SMP service.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Before you do the test please try to remove any bonding . Then bond with the original firmware and try DFU. There could be a chance that the attribute table is mixing up between new and old firmware.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Please try look for the log and see which exact characteristic is being written. You may need to use a sniffer trace to see which handle id used.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: (NCS 2.5.0) Unable to OTA if the device is previously bonded.</title><link>https://devzone.nordicsemi.com/thread/544258?ContentTypeID=1</link><pubDate>Fri, 01 Aug 2025 02:03:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2684133f-a983-4ee8-bd65-45f44fa18b71</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;We have tried confirm only and it only seems to be working on the Andriod side. On the IOS side, I am getting a&amp;nbsp;&lt;span&gt;&amp;quot;Writing is not permitted&amp;quot; error&amp;nbsp;as soon as I press the start button in the nRF Connect app, and this time I am getting the error prior to starting the image swap. This is only fixed by either forgetting the bonding information or turning the bluetooth in the OS off and back on.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: (NCS 2.5.0) Unable to OTA if the device is previously bonded.</title><link>https://devzone.nordicsemi.com/thread/544121?ContentTypeID=1</link><pubDate>Wed, 30 Jul 2025 14:42:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d08ac2a-b19a-4444-ae7a-8b45622b9b95</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Taspon,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Do you have the service changed characteristic on the old firmware ?&amp;nbsp;&lt;br /&gt;If you don&amp;#39;t it&amp;#39;s not possible for the phone to update the attribute table because it&amp;#39;s not expecting that the attribute table may change.&lt;/p&gt;
&lt;p&gt;The solution I can think of is to do Confirm only. Meaning you will not do test then confirm. This way the phone doesn&amp;#39;t need to write to the device to confirm the image.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Another option is to do auto confirm from the firmware meaning that after the new firmware is writing confirm on it own and doesn&amp;#39;t have to wait for the phone to write confirm. If the firmware is faulty (can not boot for example) and can not confirm itself it will be reverted in the next boot.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: (NCS 2.5.0) Unable to OTA if the device is previously bonded.</title><link>https://devzone.nordicsemi.com/thread/543992?ContentTypeID=1</link><pubDate>Tue, 29 Jul 2025 17:20:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa0f575c-553b-4b98-8126-d9621f86ae9e</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;1. The &amp;quot;Writing is not permitted&amp;quot;&amp;nbsp;occurs right&amp;nbsp;after the new image has been sent and after the test flag is set. The new image has to be booted up to send the confirm flag again.&lt;/p&gt;
&lt;p&gt;2. The attribute table changed in the new image that we are doing OTA on.&lt;/p&gt;
&lt;p&gt;3. Unfortunately, I looks like I still wasn&amp;#39;t able to the OTA correctly on the Andriod device using &amp;quot;Test and Confirm&amp;quot;, since after reboot the device does not get connected by the nRF APP. However, doing &amp;quot;Confirm Only&amp;quot; seems to work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: (NCS 2.5.0) Unable to OTA if the device is previously bonded.</title><link>https://devzone.nordicsemi.com/thread/543918?ContentTypeID=1</link><pubDate>Tue, 29 Jul 2025 11:30:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4f20eace-5064-4dc0-9811-6266742cdcbe</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Taspon,&amp;nbsp;&lt;br /&gt;Could you describe what exactly happen when the&amp;nbsp;&amp;quot;Writing is not permitted&amp;quot; occurs ? Did it happen after the new image has been sent, the new firmware has been booted for the first time ?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;When did the attribute table change ? Was it change in the new image you are OTA to or it already changed in the current firmware ?&lt;br /&gt;&lt;br /&gt;Regarding your update, did that mean&amp;nbsp; you can do OTA update correctly from the Android device ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;On iOS the service changed will not show up in nRF Connect app as it&amp;#39;s handled by the OS.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;You may want to use the &lt;a href="https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/lessons/lesson-6-bluetooth-le-sniffer/"&gt;sniffer &lt;/a&gt;to check if the Service changed indication is sent or not.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: (NCS 2.5.0) Unable to OTA if the device is previously bonded.</title><link>https://devzone.nordicsemi.com/thread/543655?ContentTypeID=1</link><pubDate>Sat, 26 Jul 2025 03:47:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c927922-8dfa-46f9-92f2-55f84604d2f9</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;Update: I think I was able to get it working on Andriod after changing the property to &amp;quot;indicate&amp;quot; on the nRF connect app, but when I open the IOS version for&amp;nbsp;nRF connect, I could not see the service change attribute under the generic attribute which is very strange.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>