<?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>Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/9593/is-it-possible-to-whitelist-only-selected-peer-s</link><description>Hi, 
 is at the moment possible with S110 (nRF51 SDK) to whitelist only SOME of bonded peers? I need to allow connection from one selected central. Selection is made by user right before advertisement starts. 
 Thanks a lot, 
 Tom</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 06 Apr 2017 06:46:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/9593/is-it-possible-to-whitelist-only-selected-peer-s" /><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35444?ContentTypeID=1</link><pubDate>Thu, 06 Apr 2017 06:46:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3c69366d-532f-4b03-b9de-76e18132510d</guid><dc:creator>annapalu</dc:creator><description>&lt;p&gt;Hi, if i have understood correctly the dm_device_delete() deletes the bonding information and whitelist, too. If i&amp;#39;m using a peer manager, i used pm_peers_delete, but doesn&amp;#39;t cleat the whitelist. How can i delete the whitelist with peer manaher?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35443?ContentTypeID=1</link><pubDate>Mon, 19 Oct 2015 07:18:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:35b6589b-1f3b-47b3-b310-d3b5e4f0698a</guid><dc:creator>NrfFan</dc:creator><description>&lt;p&gt;So it turns out function dm_whitelist_create() returns IRK/addresses of bonds &lt;strong&gt;not&lt;/strong&gt; being in CONNECTED state. Therefore you need to wait until peer disconnection to extract his (newly added) IRK/address, which is somewhat inconvenient.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35442?ContentTypeID=1</link><pubDate>Thu, 08 Oct 2015 07:38:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8fba879e-7194-42d6-b160-e88025c1ff11</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;Yes. I agree, but try it. If you figure out some other solution please consider posting it here. I should also mention that we are currently doing some work on the device manager. If you are interested in more information about this you can contact the Sales Manager for you area. If you don&amp;#39;t know who it is, send me a PM with your location and I&amp;#39;ll let you know.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35441?ContentTypeID=1</link><pubDate>Thu, 08 Oct 2015 06:21:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56cba147-b3c9-4f9c-b735-a9a6d37bd0ed</guid><dc:creator>NrfFan</dc:creator><description>&lt;p&gt;Thank you, that should actually work. Although the process of cherry-picking newly added addr/irk from whitelist semms a bit desperate to me :) . Anyway, overall it is a very good idea, I will certainly try that. Thanks again. Tom.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35437?ContentTypeID=1</link><pubDate>Wed, 07 Oct 2015 12:29:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7368f36b-419b-4859-820d-9ea84cff25b0</guid><dc:creator>NrfFan</dc:creator><description>&lt;p&gt;Yes, I was thinking of being more in charge of managing this bonding &amp;quot;slots&amp;quot;. Eg. waking up with long-press will put my peripheral in undirected advertisement mode and first device connected and bonded will be (somehow) associated with slot dedicated to that button. And yes, user/application should have full control over unbinding and overwriting specific bonding slots.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35436?ContentTypeID=1</link><pubDate>Wed, 07 Oct 2015 12:21:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bc2af804-baed-4304-957b-7d919ad041bb</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;I see. So what should happend if you press button 2? Should the device put the device that bonded secondly in the whitelist? Or are you thinking of a more manual way of binding the buttons to central devices? For example that you press button 2 and then you connect and bond to a central, and then that central is bound to button 2? Should you be able to unbind central devices?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35435?ContentTypeID=1</link><pubDate>Wed, 07 Oct 2015 12:01:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f6240446-29e7-47eb-8940-7f0f5196a5ec</guid><dc:creator>NrfFan</dc:creator><description>&lt;p&gt;Yes, peripheral device should have 4 input buttons, each dedicated to single &amp;quot;bonding slot&amp;quot;. When user presses button 2, device is waked up from sleep and starts whitelist-advertisement with previously bonded peer associated with slot number 2. Basically whitelisting in this application serves as the way for user to select which remote peer he wants to connect. Peer may be phone, tablet or desktop PC. I have strong feeling now, I will need to tweak device manager.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35434?ContentTypeID=1</link><pubDate>Wed, 07 Oct 2015 11:55:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:67ef0e3d-7aab-4fcc-be8d-10171ba8350a</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;You need some way of identifying that particular central. You need some way of telling the peripheral device what IRK/address that is special. I&amp;#39;m not sure what is the best way of doing this. You say &amp;quot;Section is made my user&amp;quot;, does this mean that the peripheral device has some user input? What is your central? Smart phone? Could you explain a bit more about your application?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35440?ContentTypeID=1</link><pubDate>Wed, 07 Oct 2015 11:10:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:af0a6d2a-8850-4a41-8004-554dd25b81b7</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;You shouldn&amp;#39;t use that, it is for setting/getting the IRK for your device, not the peers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35439?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2015 19:43:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fac8a952-32ea-407f-8c82-116fb41a15b8</guid><dc:creator>NrfFan</dc:creator><description>&lt;p&gt;Thank you. Could you please tell me how can I receive IRK for connected device? I&amp;#39;ve been trying to figure out how device_manager_peripheral.c is doing this, yet I was not quite successfull. The only softdevice API call returning IRK (and some other data) I&amp;#39;ve found was following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sd_ble_opt_get(BLE_GAP_OPT_PRIVACY, ...)
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to whitelist only selected peer(s)?</title><link>https://devzone.nordicsemi.com/thread/35438?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2015 15:15:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d9dfd80-c713-4354-9b69-081bdcde480d</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;From a SoftDevice perspective it is possible. The application decides what addresses/IRKs that should be given to sd_ble_gap_adv_start().&lt;/p&gt;
&lt;p&gt;You just need to figure out what the address/IRK of the central is and put it into the whitelist.&lt;/p&gt;
&lt;p&gt;Edit 07.10.2015 I may have a solution.&lt;/p&gt;
&lt;p&gt;You have four slots, so set up device manager to store maximum 4 bonds.&lt;/p&gt;
&lt;p&gt;The user presses button 2. This notifies the main application that slot 2 should be used. Then advertise-&amp;gt;connect-&amp;gt;bond. When bonding is complete the BLE_GAP_EVT_AUTH_STATUS event will be received by the main application. This event is handled by device manager, but in it you can find information like if the bonding was succesful (p_ble_evt-&amp;gt;evt.gap_evt.params.auth_status.auth_status), if bonding was performed (p_ble_evt-&amp;gt;evt.gap_evt.params.auth_status.bonded). So you can check if these are correct and then you can call dm_whitelist_create().&lt;/p&gt;
&lt;p&gt;This will return two lists, one with addresses and one with IRKs. At this point there should only be one address or one IRK in the lists. You take this IRK or address and store it in slot 2 in a struct in your main application.&lt;/p&gt;
&lt;p&gt;If then button 3 is pressed most of the procedure will be repeated but you will have 2 addresses/IRKs in the lists when you call dm_whitelist_create(). Compare the address/IRK of slot 2 (and the other slots that are not empty) to figure out which one is the new address/IRK and store it in slot 3.&lt;/p&gt;
&lt;p&gt;Bond deletion. When you call dm_whitelist_create() you can also call dm_handle_get(). Then you will get the dm handle of the bond you are currently in connection with. Store this in the correct slot together with the IRK/address. Then if button 2 is long pressed (for example) you know what dm handle to use when you call dm_device_delete() to delete the bond in the device manager. Then clear the slot..&lt;/p&gt;
&lt;p&gt;The device manager stores bonds persistently, so I would store the slots persistently as well.&lt;/p&gt;
&lt;p&gt;This may work, and it doesn&amp;#39;t require you to change the device manager library. It is just an idea though.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>