<?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>Using whitelist with &amp;#39;BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE&amp;#39;</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/42059/using-whitelist-with-ble_gap_addr_type_random_private_resolvable</link><description>Dear Sir, 
 
 I am working with nRF SDK 15 and nrf52832 device. 
 I am using an android phone which has address of type &amp;#39;BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE&amp;#39;. 
 Now I want the device to connect only to the App(nRFConnect) installed in this phone</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 29 Jan 2019 14:33:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/42059/using-whitelist-with-ble_gap_addr_type_random_private_resolvable" /><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/168500?ContentTypeID=1</link><pubDate>Tue, 29 Jan 2019 14:33:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ab44551-dab8-4aba-95d6-66d98d765c3e</guid><dc:creator>Pureer</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;I have successed after doing below action:&lt;/p&gt;
&lt;p&gt;1.sd_ble_gap_device_identities_set , the addr&amp;nbsp;type in the list MUST be public, static can&amp;#39;t work.&lt;/p&gt;
&lt;p&gt;2.sd_ble_gap_whitelist_set&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/168418?ContentTypeID=1</link><pubDate>Tue, 29 Jan 2019 10:22:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1e9c161e-7a3c-44ee-816c-a7e70be5e331</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The&amp;nbsp;ble_advertising_whitelist_reply() only uses the count to know if IRK is used or not. It should have been set beforehand by a call to&amp;nbsp;sd_ble_gap_whitelist_set().&lt;/p&gt;
&lt;p&gt;You can see how this is handled in a normal case with bonding by seeing that the application cals&amp;nbsp;pm_whitelist_set(), which in turn calls the internal peer manager function&amp;nbsp;im_whitelist_set() which in the end calls&amp;nbsp;sd_ble_gap_whitelist_set(). Then the whitelist can subsequently optionally be used when advertising or scanning.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/168368?ContentTypeID=1</link><pubDate>Tue, 29 Jan 2019 06:09:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0ffae6e2-baca-42c4-aa79-9479f5c4b7fd</guid><dc:creator>Pureer</dc:creator><description>&lt;p&gt;&lt;span&gt;You can have a look at ble_advertising_whitelist_reply,the function body is empty,IRK param is even not used,I don&amp;#39;t think it will gonna work with this function.And I have tried several times , no success so far.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/168361?ContentTypeID=1</link><pubDate>Tue, 29 Jan 2019 05:20:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6b0d217-2abf-4d17-b2ed-d9d2ffe3c64e</guid><dc:creator>GK</dc:creator><description>&lt;p&gt;I have tried once but was not successful..Need to do some more experiments on it....&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/168355?ContentTypeID=1</link><pubDate>Tue, 29 Jan 2019 03:43:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91c15949-502d-4ed6-b766-6603e1df3315</guid><dc:creator>Pureer</dc:creator><description>&lt;p&gt;Hi Einar ,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;ble_advertising_whitelist_reply function is empty, the param is not used, IRK is not work if use this function.&lt;pre class="ui-code" data-mode="c_cpp"&gt;uint32_t ble_advertising_whitelist_reply(ble_advertising_t * const p_advertising,
                                         ble_gap_addr_t    const * p_gap_addrs,
                                         uint32_t               addr_cnt,
                                         ble_gap_irk_t  const * p_gap_irks,
                                         uint32_t               irk_cnt)
{
    if (!p_advertising-&amp;gt;whitelist_reply_expected)
    {
        return NRF_ERROR_INVALID_STATE;
    }

    p_advertising-&amp;gt;whitelist_reply_expected = false;
    p_advertising-&amp;gt;whitelist_in_use         = ((addr_cnt &amp;gt; 0) || (irk_cnt &amp;gt; 0));

    return NRF_SUCCESS;
}&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/168353?ContentTypeID=1</link><pubDate>Tue, 29 Jan 2019 03:40:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e7fab9d-1616-48c5-bcad-3d9eab2e7505</guid><dc:creator>Pureer</dc:creator><description>&lt;p&gt;Do you solve the problem? I have the one too!!! It suffers me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/164487?ContentTypeID=1</link><pubDate>Tue, 08 Jan 2019 10:16:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:528b434e-35aa-4707-bcac-2967eb58df30</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi&amp;nbsp;&lt;/span&gt;&lt;span&gt;Geetha,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Yes, that approach should work.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Einar&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/164484?ContentTypeID=1</link><pubDate>Tue, 08 Jan 2019 10:10:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1fae7e09-753d-401c-bc08-f423d9e0c1db</guid><dc:creator>GK</dc:creator><description>&lt;p&gt;Hi Einar Thorsrud,&lt;/p&gt;
&lt;p&gt;Thank you for your reply.&lt;/p&gt;
&lt;p&gt;I am planning to do the following.&lt;/p&gt;
&lt;p&gt;I will use my Android phone with &amp;quot; &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/ble_sdk_app_hids_keyboard"&gt;HID Keyboard Application&lt;/a&gt; &amp;quot; and put some NRF_LOG_INFO() messages to print the IRK value ( received from phone). Then I will hard code those IRK value&amp;nbsp; to use it with the whitelist before calling &amp;quot;ble_advertising_whitelist_reply()&amp;quot;.&lt;/p&gt;
&lt;p&gt;Is the above one a valid approach to use the IRK for whitelisting?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;with regards,&lt;/p&gt;
&lt;p&gt;Geetha&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/164472?ContentTypeID=1</link><pubDate>Tue, 08 Jan 2019 09:44:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fe126a7f-82f5-45d2-ab5b-20e4019305f1</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Geetha,&lt;/span&gt;&lt;/p&gt;
[quote user="GK"]If I consider an Android phone, will this IRK a unique value?[/quote]
&lt;p&gt;&lt;span&gt;Yes, the IRK is unique&amp;nbsp;for each device.&lt;/span&gt;&lt;/p&gt;
[quote user="GK"]Is this value be a permanent one for a given Android phone?[/quote]
&lt;p&gt;It should be permanent on Android phones (or any other device for that matter). If the IRK did change, then whitelisting (or any other operation where you want to resolve the identity of the android phone) would fail.&lt;/p&gt;
&lt;p&gt;Br,&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/164458?ContentTypeID=1</link><pubDate>Tue, 08 Jan 2019 09:09:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e08f852-e022-43e8-ad17-0a1f3efb449a</guid><dc:creator>GK</dc:creator><description>&lt;p&gt;HI Einar Thorsrud,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you very much for your time and reply.&lt;/p&gt;
&lt;p&gt;If I consider an Android phone, will this IRK a unique value?&lt;/p&gt;
&lt;p&gt;Is this value be a permanent one for a given Android phone?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Please share&amp;nbsp; your understanding.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanking you in advance.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;with regards,&lt;/p&gt;
&lt;p&gt;Geetha&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/164436?ContentTypeID=1</link><pubDate>Tue, 08 Jan 2019 08:27:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b1d10cf-54d9-42f2-b27e-e2cdb4582c8d</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;Geetha,&lt;/p&gt;
&lt;p&gt;There is strictly no need to be bonded in order to use whitelisting, but if the peer uses a resolvable address then you must have obtained the IRK in some way in order to do whitelisting. This is typically exchanged during the bonding procedure, so if not bonded you need another (custom) way of obtaining it.&lt;/p&gt;
&lt;p&gt;If for instance the use case is that you want to whitelist a specific peer device during production, then you could program the IRK of the peer device to the nRF and use that for whitelisting. If it has to be done in the field, then you need some other way of providing the IRK to the nRF.&lt;/p&gt;
&lt;p&gt;Br,&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/164200?ContentTypeID=1</link><pubDate>Mon, 07 Jan 2019 10:13:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b675c362-c86b-4d30-bf50-208c47996805</guid><dc:creator>GK</dc:creator><description>&lt;p&gt;Hi Einar Thosurd,&lt;/p&gt;
&lt;p&gt;Thank you for your reply.&lt;/p&gt;
&lt;p&gt;In the&amp;nbsp; &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/ble_sdk_app_hids_keyboard"&gt;www.nordicsemi.com/.../ble_sdk_app_hids_keyboard&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;application it uses peer manager. When it comes to&amp;nbsp;&amp;nbsp; resolvable private address,&amp;nbsp; we need to use IRK. Please correct me if I am wrong. And this IRK can be obtained after bonding happens. I think the bonding can be&amp;nbsp; done only after establishing the connection. So the very first thing required is connection establishment , Am I correct?. But I need to use the whitelist before establishing the connection. Is there any way to do this?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Whrn the address is random static we can hard code the pre-known address and let the connnection happen only to that address... Is there a similar option with random resolvable address also?&lt;/p&gt;
&lt;p&gt;Please share your thoughts on the same and Thanking you in advance.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;with regards,&lt;/p&gt;
&lt;p&gt;Geetha&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using whitelist with 'BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE'</title><link>https://devzone.nordicsemi.com/thread/163409?ContentTypeID=1</link><pubDate>Wed, 02 Jan 2019 11:36:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10847642-40c5-45c1-9208-3ed9c0d5a070</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You can refer to for instance refer to the &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/ble_sdk_app_hids_keyboard"&gt;HID Keyboard Application&lt;/a&gt; to see how whitelisting is implemented there. Essentially the Peer manager library which handles bonding also takes care of the IRK, so it is quite straightforward.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>