<?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>How to tell the host to clear and do all the bonding setup again?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/6927/how-to-tell-the-host-to-clear-and-do-all-the-bonding-setup-again</link><description>Hi 
 I am writing an application that requires bonding/paring stuffs and face a problem as below 
 The maximum bonds that my device can manage is 2. When these 2 slots are fully used and another host tries to connect with my device, the least frequent</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 13 May 2015 11:52:51 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/6927/how-to-tell-the-host-to-clear-and-do-all-the-bonding-setup-again" /><item><title>RE: How to tell the host to clear and do all the bonding setup again?</title><link>https://devzone.nordicsemi.com/thread/24429?ContentTypeID=1</link><pubDate>Wed, 13 May 2015 11:52:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:506abe01-5d29-489c-bc16-ed9bf4d13c05</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;I see, I didn&amp;#39;t know you were using a HID device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to tell the host to clear and do all the bonding setup again?</title><link>https://devzone.nordicsemi.com/thread/24428?ContentTypeID=1</link><pubDate>Fri, 08 May 2015 16:58:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:66203fef-e58c-4c78-a01a-14dca55d8077</guid><dc:creator>chd</dc:creator><description>&lt;p&gt;Since my application uses HID services that require encryption, doing sd_ble_gap_sec_info_reply(m_conn_handle, NULL, NULL) seems to be a bad idea since my device will get stuck with this iPhone as it keep the connection unencrypted. If I do nothing, the connection is dropped, iOS will try to reconnect a couple times (about 3 or 4 times as I experienced) then give up eventually. After that, my device can connect with other devices.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to tell the host to clear and do all the bonding setup again?</title><link>https://devzone.nordicsemi.com/thread/24427?ContentTypeID=1</link><pubDate>Fri, 08 May 2015 10:16:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:788e7786-11a3-46ef-88d3-a6b59e7c53e9</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;I believe I suggested a possible workaround for Android, other than that I can&amp;#39;t think of anything. Regarding your current solution. What do you achieve by doing nothing? If you do sd_ble_gap_sec_info_reply(m_conn_handle, NULL, NULL) iOS will keep the connection, it will just not be encrypted. iOS will be able to access characteristic values and descriptors that don&amp;#39;t require encryption. I&amp;#39;m thinking maybe you should add this as a separate question? You could link to this question if it is relevant.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to tell the host to clear and do all the bonding setup again?</title><link>https://devzone.nordicsemi.com/thread/24426?ContentTypeID=1</link><pubDate>Thu, 07 May 2015 16:53:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c6814b0-c0e9-43a7-8ae6-3acfa2768349</guid><dc:creator>chd</dc:creator><description>&lt;p&gt;Hi Petter, thank you for the swift response.
So sad that BLE doesn&amp;#39;t introduce any way to implement such kind of thing. By the way, is there any workaround for my problem? I just don&amp;#39;t want the link to be re-established (and get stuck in it). My current solution is when the event BLE_GAP_EVT_SEC_INFO_REQUEST comes and if I don&amp;#39;t have the info, I will do nothing (instead of using sd_ble_gap_sec_info_reply(m_conn_handle, NULL, NULL) as the example code). In this case the iPhone will try to reconnect a couple of times and I just go ahead and ignore them. Eventually the phone stops request reconnecting and my device can get out of the stuck situation.
Do you have any better idea? Thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to tell the host to clear and do all the bonding setup again?</title><link>https://devzone.nordicsemi.com/thread/24425?ContentTypeID=1</link><pubDate>Thu, 07 May 2015 11:15:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9223b01a-8aec-43bb-9e16-80eb960938af</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;I don&amp;#39;t think there is a built in procedure in the Bluetooth Core specification to do this, and because of this our SoftDevices don&amp;#39;t have an API for it.&lt;/p&gt;
&lt;p&gt;You may be able to implement it in the application on the nRF51 and in the app on the phone. You can have a characteristic that notifies the app when it should delete the bond information. This is assuming that the app actually is able to delete the bond information.&lt;/p&gt;
&lt;p&gt;It seems to be possible on Android, see &lt;a href="http://stackoverflow.com/questions/9608140/how-to-unpair-or-delete-paired-bluetooth-device-programmatically-on-android"&gt;this&lt;/a&gt;, but I haven&amp;#39;t tested this myself.&lt;/p&gt;
&lt;p&gt;I couldn&amp;#39;t find a way to do it on iOS, the only way to delete the bond information is by forgetting the device in settings.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>