<?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>nrf52840 Dongle and ble_serial.py</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/41062/nrf52840-dongle-and-ble_serial-py</link><description>I am trying to run ble_serial.py in the ble_app_cli SDK example using the nrf52840 dongle. To do so, I tried flashing the connectivity firmware automatically via the nrfConnect Desktop Bluetooth Low Energy application. When I run the python script, I</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 17 Jan 2019 10:33:44 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/41062/nrf52840-dongle-and-ble_serial-py" /><item><title>RE: nrf52840 Dongle and ble_serial.py</title><link>https://devzone.nordicsemi.com/thread/166185?ContentTypeID=1</link><pubDate>Thu, 17 Jan 2019 10:33:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a0966744-e1ec-4bf2-ba37-ce0b56d55a2d</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You need to store it on the PC. The connectivity firmware is serializing the SoftDevice only, i.e. the BLE stack. Everything normally done by the SDK libraries must be done on the PC.&lt;/p&gt;
&lt;p&gt;That means you must also store bonding data and take care of everything that peer manager would have done on an nRF SoC.&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><item><title>RE: nrf52840 Dongle and ble_serial.py</title><link>https://devzone.nordicsemi.com/thread/166098?ContentTypeID=1</link><pubDate>Wed, 16 Jan 2019 22:17:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9815c68f-ead3-448d-91ef-2908964063c4</guid><dc:creator>abhipray</dc:creator><description>&lt;p&gt;I haven&amp;#39;t found the answers yet. Additionally, I had another question -- does the dongle store the peer bond information on its flash (like using the peer manage) or do we need to store it locally on the PC?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 Dongle and ble_serial.py</title><link>https://devzone.nordicsemi.com/thread/164482?ContentTypeID=1</link><pubDate>Tue, 08 Jan 2019 10:09:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c034ac8d-90fb-45ce-8fff-eed7c815b5ad</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Sorry for not getting back to you before the holidays.Have you found answers to your latest questions?&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><item><title>RE: nrf52840 Dongle and ble_serial.py</title><link>https://devzone.nordicsemi.com/thread/161563?ContentTypeID=1</link><pubDate>Wed, 12 Dec 2018 23:58:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:756a1b20-9359-474c-bcca-9b19f2e49c22</guid><dc:creator>abhipray</dc:creator><description>&lt;p&gt;Thank you for that. How can I tell when a connected peer is already bonded? And what are the parameters for self.adapater.encrypt()?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 Dongle and ble_serial.py</title><link>https://devzone.nordicsemi.com/thread/161272?ContentTypeID=1</link><pubDate>Tue, 11 Dec 2018 16:05:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:03fb5b0a-984b-4d27-a140-d6942903eea5</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Yes I think you are onto the right track then. self.adapter.authenticate() is used for pairing, optionally also bonding.&lt;/p&gt;
&lt;p&gt;In order to reestablish a bond you can use self.adapter.encrypt(), with the keys that were stored during self.adapter.authenticate(). The central is free to start this procedure when it wants to, and so it should be safe to do as early as on the connection event if you want to.&lt;/p&gt;
&lt;p&gt;The correct way to handle a security request (on_gap_evt_sec_request) is to either authenticate() or encrypt(), depending on whether a bond already exists. Similarly, you may choose to do either authenticate() or encrypt() on the connected event, based on whether the peer is previously bonded or not.&lt;/p&gt;
&lt;p&gt;The self.adapter.authenticate() and self.adapter.encrypt() API calls correspond to sd_ble_gap_authenticate() and sd_ble_gap_encrypt() from the SoftDevice API documentation. See for instance the &lt;a href="https://www.nordicsemi.com/en/DocLib/Content/SoftDevice_API_Doc/S132/v3-0-0/group_ble_gap_central_sec_req_msc"&gt;Security Request Reception&lt;/a&gt; Message Sequence Chart.&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><item><title>RE: nrf52840 Dongle and ble_serial.py</title><link>https://devzone.nordicsemi.com/thread/159778?ContentTypeID=1</link><pubDate>Fri, 30 Nov 2018 21:53:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa02040f-de5d-4fff-9e1e-cee0045f2c0f</guid><dc:creator>abhipray</dc:creator><description>&lt;p&gt;I am using SDK 15.2.0 and the&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.2.0%2Fble_sdk_app_cli.html"&gt;Experimental: Console over Bluetooth Application&lt;/a&gt;&amp;nbsp;example python script with my custom application.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;My custom peripheral application implements pairing/bonding. I found out that the source of the&amp;nbsp;timeout&amp;nbsp;is not the ATT MTU exchange but an authentication timeout; I need to implement authentication in the ble_serial.py script. I have had limited luck with that. I have tried calling: self.adapter.authenticate(self.conn_handle, bond=True, lesc=False) after a successful connection. This works if the peripheral isn&amp;#39;t bonded yet, i.e first time bond. What is the correct way to re-establish a connection with a bonded device using pc-ble-driver-py? Is there any example of a pc-ble-driver-py implementing bonding/pairing?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 Dongle and ble_serial.py</title><link>https://devzone.nordicsemi.com/thread/159728?ContentTypeID=1</link><pubDate>Fri, 30 Nov 2018 14:14:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:67e2987b-089c-4ea3-a230-ac8a188bd70d</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;What example from what SDK and version are you using? &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.2.0%2Fble_sdk_app_cli.html"&gt;Experimental: Console over Bluetooth Application&lt;/a&gt; from nRF5 SDK v15.2.0?&lt;/p&gt;
&lt;p&gt;Did you follow the &amp;quot;Testing&amp;quot; section for that example?&lt;/p&gt;
&lt;p&gt;Also, what is the full command that you use for ble_serial.py?&lt;/p&gt;
&lt;p&gt;It sounds like a timeout of an MTU update request leading to disconnection. What information do you have for the disconnect, do you have the log from either of the devices or a sniffer trace?&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>