<?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>Trouble finding characteristics using android nRF toolbox, while the nRF Connect android app finds it ok</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/23083/trouble-finding-characteristics-using-android-nrf-toolbox-while-the-nrf-connect-android-app-finds-it-ok</link><description>Okay so the issue is a little more complicated than this. 
 Phones used for testing were htc m8 (android 6.0) and lg g5 (android 7.0). 
 Ble chip running on a linux OS using BlueZ stack. 
 I&amp;#39;ve modified two nRF toolbox apps to test the problem. The</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 21 Sep 2017 17:56:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/23083/trouble-finding-characteristics-using-android-nrf-toolbox-while-the-nrf-connect-android-app-finds-it-ok" /><item><title>RE: Trouble finding characteristics using android nRF toolbox, while the nRF Connect android app finds it ok</title><link>https://devzone.nordicsemi.com/thread/90823?ContentTypeID=1</link><pubDate>Thu, 21 Sep 2017 17:56:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:35f86374-eb68-43b1-8487-1d3dee47636f</guid><dc:creator>Aleksander Nowakowski</dc:creator><description>&lt;p&gt;We will have it fix on nRF Toolbox soon. Thanks for pointing it out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Trouble finding characteristics using android nRF toolbox, while the nRF Connect android app finds it ok</title><link>https://devzone.nordicsemi.com/thread/90822?ContentTypeID=1</link><pubDate>Thu, 21 Sep 2017 17:56:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:796d5993-d76b-4ca9-a941-1b1fc93555a9</guid><dc:creator>Aleksander Nowakowski</dc:creator><description>&lt;p&gt;You may call this method in previous APIs as well, since 19 or 20, afair, just using reflections as it&amp;#39;s hidden with @hide.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Trouble finding characteristics using android nRF toolbox, while the nRF Connect android app finds it ok</title><link>https://devzone.nordicsemi.com/thread/90821?ContentTypeID=1</link><pubDate>Thu, 21 Sep 2017 17:14:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2fa7bfd7-9705-4c4b-82f5-e174ad223185</guid><dc:creator>desnyki</dc:creator><description>&lt;p&gt;I tried clearing the device cache, but that didn&amp;#39;t turn out to be the issue. After further investigation on the hardware side the BlueZ chip would go into BR / EDR mode. This allowed for a successful GATT connection on the Android side, but the services did not exist in onServicesDiscovered. In order for the services to show up, the connection had to explicitly specify a BLE connection.&lt;/p&gt;
&lt;p&gt;NRFToolbox connection code:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;device.getDevice().connectGatt(applicationContext,
false, mGattCallback);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The fix:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;device.getDevice().connectGatt(applicationContext,
false, mGattCallback,
BluetoothDevice.TRANSPORT_LE);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Note: this method call requires Android API 23.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Trouble finding characteristics using android nRF toolbox, while the nRF Connect android app finds it ok</title><link>https://devzone.nordicsemi.com/thread/90824?ContentTypeID=1</link><pubDate>Mon, 10 Jul 2017 14:01:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d0b85f0e-7349-4044-8cf5-ebbe15c33670</guid><dc:creator>Aleksander Nowakowski</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;First of all, service UUIDs used in the adv packet don&amp;#39;t need to be present in the device database. You may advertise with whatever, and what services you have on the device is a different thing. Of course it&amp;#39;s good to expose what you have, not cheat, but it&amp;#39;s practically possible to do this.&lt;/p&gt;
&lt;p&gt;I think your issue may be related to the Android device caching services. In nRF Connect we used to (before Nougat) clear cache every time you disconnect from a device and close the tab (it&amp;#39;s shown on the log, can be viewed in nRF Logger as this is the last thing nRF Connect does before closing the tab and the built-it log). We did it not to keep cache clear, but it made the next connection more stable and reliable. Since Nougat we assume that the BLE is mature enough, and if user want&amp;#39;s to refresh cache, there is an option in the menu for that.&lt;/p&gt;
&lt;p&gt;In nRF Toolbox we don&amp;#39;t clear cache, so it may be that when you connected to a device before you flashed the current firmware, the old services were cached and now the app displays the old ones. Opening nRF Connect clears cache on disconnect, so next time you open nRF Toolbox it will do the proper service discovery.&lt;/p&gt;
&lt;p&gt;This explanation is not completely compatible with your issue, but please check if it&amp;#39;s correct. Perhaps when you flash BPM/CSC on the same device it caches them and when you try a different profile with different fw it still shows the old ones? In real life devices very rarely change their databases.&lt;/p&gt;
&lt;p&gt;BR, Aleksander&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>