<?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>Communicating nrf52 with ubuntu and bluez stack issue</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/37263/communicating-nrf52-with-ubuntu-and-bluez-stack-issue</link><description>I am trying to communicate between peripheral device (nordic nRF52840) with another device (let us say ubuntu device) with ubunutu as OS and Bluez bluetooth stack. I have implemented gatt server using bluez stack on ubuntu device. The both devices are</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 09 Aug 2018 09:00:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/37263/communicating-nrf52-with-ubuntu-and-bluez-stack-issue" /><item><title>RE: Communicating nrf52 with ubuntu and bluez stack issue</title><link>https://devzone.nordicsemi.com/thread/143514?ContentTypeID=1</link><pubDate>Thu, 09 Aug 2018 09:00:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fca8468e-088d-4168-8980-35be10021f16</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;From this can we say or confirm that primary service discovery is particularly &amp;quot;Find by Type Value Request&amp;quot; whereas include service discovery is &amp;quot;Read by Group Type Request&amp;quot; based ? will this be similar for characteristic and descriptor discovery ?&lt;/p&gt;
&lt;p&gt;This is more to zephyr question but grateful if you can give suggestions in this regard.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is not a zephyr question, but a bluetooth LE question.&lt;/p&gt;
&lt;p&gt;&amp;quot;Find by Type Value Req&amp;quot; will&amp;nbsp;ask for a range of handles, normally 0x0001 to 0xFFFF. The peripheral will then respond with the range that it has populated, for instance up to 0x000a.&lt;/p&gt;
&lt;p&gt;The central will then &amp;quot;Read by type request&amp;quot; to read out each handle within the range previously responded by the peripheral, as a peripheral can have &amp;quot;holes&amp;quot; in the handles it uses (can skip 0x0007 for instance). As an example: The central can ask for handles 0x0003 to 0x0007 in one request and the peripheral replies that it has 0x0003 to 0x0006 (not 0x0007), then read the remainder 0x0008 to 0x000a will be discovered in a upcoming request.&lt;/p&gt;
&lt;p&gt;Now you have all the handles of your peripheral, but you do not have the information located in each handle, like the &amp;quot;Device Name&amp;quot;. To get this, you do a normal &amp;quot;Read request&amp;quot;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;d recommend doing a couple of captures with the nRF-sniffer (uses Wireshark as frontend) to see how a BLE connection is made, so that you can look into the bits and bytes.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Communicating nrf52 with ubuntu and bluez stack issue</title><link>https://devzone.nordicsemi.com/thread/143377?ContentTypeID=1</link><pubDate>Wed, 08 Aug 2018 13:07:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f390d51c-3391-43c6-827f-74db1d504a09</guid><dc:creator>Nagesh</dc:creator><description>&lt;p&gt;Thats great to hear that &amp;quot;Read by Group Type Request&amp;quot; is possible for discovering of services and characteristics of server.&amp;nbsp; I was exploring zephyr and got to know that &amp;quot;&lt;code class="descname"&gt;bt_gatt_discover&lt;/code&gt;&lt;span class="sig-paren"&gt;&lt;/span&gt;&amp;quot; is the only api used for this purpose (correct if this is nor right). The description of this is,&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;strong&gt;Primary Service Discovery&lt;/strong&gt;: Procedure allows to discover specific Primary Service based on UUID.&lt;strong&gt; Include Service Discovery:&lt;/strong&gt; Procedure allows to discover all Include Services within specified range. Characteristic Discovery: Procedure allows to discover all characteristics within specified handle range as well as discover characteristics with specified UUID. Descriptors Discovery: Procedure allows to discover all characteristic descriptors within specified range&amp;quot;.&lt;/p&gt;
&lt;p&gt;From this can we say or confirm that primary service discovery is particularly &amp;quot;Find by Type Value Request&amp;quot; whereas include service discovery is &amp;quot;Read by Group Type Request&amp;quot; based ? will this be similar for characteristic and descriptor discovery ?&lt;/p&gt;
&lt;p&gt;This is more to zephyr question but grateful if you can give suggestions in this regard.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Communicating nrf52 with ubuntu and bluez stack issue</title><link>https://devzone.nordicsemi.com/thread/143347?ContentTypeID=1</link><pubDate>Wed, 08 Aug 2018 11:29:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10e256df-9c25-464c-91ca-c0df3828154e</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""]- Does/can peripheral support &amp;quot;Read by Group Type Request&amp;quot; and is that can be used for discovering primary services on other device e.g. having bluez stack?[/quote]
&lt;p&gt;This is the normal procedure used for generic discovery upon connection, where the central reads the peripherals GATT database.&lt;/p&gt;
[quote user=""]- Is there any workaround or solution you can suggest to get rid of this issue ?[/quote]
&lt;p&gt;I suspect that you get a &amp;quot;not supported err 0x6&amp;quot; is due to the specific characteristic that you&amp;#39;re trying to read. If you try to read a characteristic which does not have a read properties for instance, or a characteristic that requires a certain security level, I suspect you might get this sort of return code.&lt;/p&gt;
&lt;p&gt;Do you have a sniffer trace available showing the behavior? You can use wireshark + nrf-sniffer to capture.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>