<?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>Different SoftDevice Versions Assign Different Characteristic Values</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/76599/different-softdevice-versions-assign-different-characteristic-values</link><description>I&amp;#39;m upgrading an old project from SDK14.2 to SDK17 along with using the latest S132 Softdevice. However I ran into an issue testing this with our App. I noted that the Value Handles of the Characteristics have changes, thus our App doesn&amp;#39;t know which</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 23 Jun 2021 11:07:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/76599/different-softdevice-versions-assign-different-characteristic-values" /><item><title>RE: Different SoftDevice Versions Assign Different Characteristic Values</title><link>https://devzone.nordicsemi.com/thread/316685?ContentTypeID=1</link><pubDate>Wed, 23 Jun 2021 11:07:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3969a6e1-be4c-4835-af8f-64b4c550ef66</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;If I recall correctly there were some changes to the Generic Access Service at some point, which may be what you see. If your existing device do not have service changed enabled (Service Changed Characteristic in the Generic Attribute Service) then there is no way to signal to the app that the GATT table has changed, and the app will believe that the GATT table is unchanged, leading to it reading the wrong handles.&lt;/p&gt;
&lt;p&gt;There is no option to &amp;quot;reset&amp;quot; the handles, but there are some workarounds available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Get the device on which the app runs (Android, iOS) to forget the gatt database cache for your device. This may happen for instance when turning Bluetooth off and on again (on iOS thorugh the proper menu - but not through shortcut menus). There used to be a hidden method refresh() in the Android API several years ago, which I do not know the current status for. Deleting the bond and bonding again might also be an option.&lt;/li&gt;
&lt;li&gt;Change the Bluetooth address of your device. The smartphone will then see the device as a new device, and you can pair and bond to it. We do this trick for DFU, by increasing the Bluetooth address by one when the device is in DFU mode. That way, devices that do not have the Service Changed Characteristic can still enter DFU mode (where the GATT table has different services) without getting issues with caching. Therefore, if you change the address of your device, change it to something else than the existing address plus one.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In any case, make sure that your new firmware does enable service changed characteristic, so that future updates can be handled appropriately.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>