<?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>What I miss in the device manager</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/5204/what-i-miss-in-the-device-manager</link><description>Hi, 
 I have used several Bluetooth Low Energy solutions and I looked into several examples and something is missing. What I miss is to prevent pairing. It is something quite obvious. At least from my point of view. You don&amp;#39;t want you neighbor to be</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 23 Jan 2015 14:01:17 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/5204/what-i-miss-in-the-device-manager" /><item><title>RE: What I miss in the device manager</title><link>https://devzone.nordicsemi.com/thread/18222?ContentTypeID=1</link><pubDate>Fri, 23 Jan 2015 14:01:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c90d8590-1a9d-484a-a708-8d477cb28f36</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Marcel,&lt;/p&gt;
&lt;p&gt;8 IRK is the limit of the hardware block on the nRF51, please see section 4.6 in the Product Spec. So in total there are 8 public addresses and 8 IRK supported by the hardware (the current implementation in firmware may limit you to 8 total for both).&lt;/p&gt;
&lt;p&gt;BLE_GAP_ADV_FP_FILTER_CONNREQ with an empty whitelist means no one can connect, therefore it as you said doesn&amp;#39;t make sense.
The first time when whitelist is empty , any one should be able to connect and pair.
If you want to avoid being connected by unwanted device, you can use RSSI as a filter. Or the best is to  use a Faraday cage (e.g microwave oven ) when pairing to avoid eavesdropping if you don&amp;#39;t have OOB for pairing.&lt;/p&gt;
&lt;p&gt;If you only want to advertise, and allow no-one to connect, you can advertise with BLE_GAP_ADV_TYPE_ADV_NONCONN_IND type.&lt;/p&gt;
&lt;p&gt;Btw, if you have different question, please create a new case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What I miss in the device manager</title><link>https://devzone.nordicsemi.com/thread/18217?ContentTypeID=1</link><pubDate>Wed, 21 Jan 2015 08:36:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9023d5ff-9cfc-4676-ad5f-43557a891150</guid><dc:creator>Marcel Mulder</dc:creator><description>&lt;p&gt;It works, but I now have a limitation of 8 devices using IRK. Maybe I have to change the device manager anyway. We will see. And there is another disadvantage. I am not able to start a BLE_GAP_ADV_FP_FILTER_CONNREQ advertisement with an empty whitelist. This is somehow logical but it means that when the device is first used anybody can pair. Unless I do no advertising at all and only advertise then when the button is pushed. Or is there something I overlook?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What I miss in the device manager</title><link>https://devzone.nordicsemi.com/thread/18221?ContentTypeID=1</link><pubDate>Tue, 20 Jan 2015 13:16:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:798b233d-7ff9-4620-aacb-e2f0bf84f724</guid><dc:creator>Marcel Mulder</dc:creator><description>&lt;p&gt;Ha, ok I see. Thats a nice solution. When I press the button I do  BLE_GAP_ADV_FP_ANY advertisement for a period and otherwise I do a  BLE_GAP_ADV_FP_FILTER_CONNREQ using the bond information and the whitelist. In this case there is no change to the device manager. At least I can&amp;#39;t think of one.
I will try this. Many thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What I miss in the device manager</title><link>https://devzone.nordicsemi.com/thread/18220?ContentTypeID=1</link><pubDate>Tue, 20 Jan 2015 12:10:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1bbff584-756e-4fa8-8d61-464634c1768c</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Actually whitelist can do the task.&lt;/p&gt;
&lt;p&gt;We feed data to the whitelist from the bond information we store in device manager. It&amp;#39;s true that we don&amp;#39;t know the BT address up front, but we do know after bonding.&lt;/p&gt;
&lt;p&gt;Even if the central device use random BT address and change it every 15 minutes (iOS devices), the IRK number will remain the same and we can use IRK to recognized a bonded device when doing whitelist. You can have a look at Resolvable Private Address in the Bluetooth spec (section 10.8 Vol 3 Part C Core spec 4.1).&lt;/p&gt;
&lt;p&gt;What I ment with &amp;quot;bonding period&amp;quot; is advertising without whitelist, it&amp;#39;s pretty much not related to device manager.&lt;/p&gt;
&lt;p&gt;We tried to make the device manager as generic as possible, so it may not have all the features that you wanted. But I think it is quite straight forward to modify the code and add your needed features in.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What I miss in the device manager</title><link>https://devzone.nordicsemi.com/thread/18219?ContentTypeID=1</link><pubDate>Tue, 20 Jan 2015 11:30:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:557388c8-d9a5-4b01-bd79-f40618540412</guid><dc:creator>Marcel Mulder</dc:creator><description>&lt;p&gt;What I mean with no support in device manager is that I cannot use the device manager out of the box. I can however change it. That&amp;#39;s not the problem and I already did that. But it would be nice if people can use the SDK as-is without patches and having more control about who can pair and who not.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What I miss in the device manager</title><link>https://devzone.nordicsemi.com/thread/18218?ContentTypeID=1</link><pubDate>Tue, 20 Jan 2015 11:21:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:49ba86cb-1b19-4b95-806b-c80a06911adc</guid><dc:creator>Marcel Mulder</dc:creator><description>&lt;p&gt;Whitelist is not an option I think because I don&amp;#39;t know the BT addresses up front and they can change. Most phone use random BT addresses. Our product can have multiple bonds which can be initiated at any time.&lt;/p&gt;
&lt;p&gt;I want to prevent unauthorized pairing. It should be initialized or confirmed by a person using the button. This means that pairing is conditional and I don&amp;#39;t see support for that in the device manager.&lt;/p&gt;
&lt;p&gt;You say that I can use the button to start a bonding mode period. Can I start that separate of the device manager? Some advertise option? I don&amp;#39;t understand how you can do that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What I miss in the device manager</title><link>https://devzone.nordicsemi.com/thread/18216?ContentTypeID=1</link><pubDate>Tue, 20 Jan 2015 10:05:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25a5df9a-b7ac-4f23-b49f-e7fa6722ef3e</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Marcel,&lt;/p&gt;
&lt;p&gt;What I understand here is that you want to allow your neighbor&amp;#39;s phone to connect to your device but don&amp;#39;t want his phone to be able to pair with the device ?&lt;/p&gt;
&lt;p&gt;If it is the case, you can simply catch the BLE_GAP_EVT_SEC_PARAMS_REQUEST and send the
sd_ble_gap_sec_params_reply with and error (from BLE_GAP_SEC_STATUS) to avoid pairing. You can have a look &lt;a href="http://developer.nordicsemi.com/nRF51_SDK/doc/7.1.0/s110/html/a00864.html"&gt;here&lt;/a&gt;.
This event handled automatically in device manager with a success reply for any master, but you can add your code here to wait for the confirmation from end user before sending the reply.&lt;/p&gt;
&lt;p&gt;If it&amp;#39;s not the case, and you don&amp;#39;t want your neighbor to connect (and bond) to your device, then you can use white list to avoid unwanted connection.&lt;/p&gt;
&lt;p&gt;To build the whitelist, you can set an option for the device to enter bonding mode (that accept all devices to connect and bond). You can also use RSSI (that only accepts connection from device let&amp;#39;s say in the range of 3m) to avoid your neighbour to connect to your device when in this bonding mode. The bonding mode period can be started by holding the button when starting, or by sending a command with the app on the phone.&lt;/p&gt;
&lt;p&gt;After you have done with bonding, you can use the address information for the whitelist and avoid unwanted connection.&lt;/p&gt;
&lt;p&gt;[EDITED with correct information on case #1. ]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>