<?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>BLE - bonding</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/76809/ble---bonding</link><description>Hi, 
 I&amp;#39;m using nrf52840 in order to connect to a mobile and PC. 
 When connecting to a mobile, connection is bonded, but when connection to a PC, it&amp;#39;s not, although m_sec_param.bond = 1. 
 Can it be related to the fact that PC doesn&amp;#39;t support bonding</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 28 Jun 2021 12:00:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/76809/ble---bonding" /><item><title>RE: BLE - bonding</title><link>https://devzone.nordicsemi.com/thread/317469?ContentTypeID=1</link><pubDate>Mon, 28 Jun 2021 12:00:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e47825c1-aa6b-4993-9ee3-901a4a26f23c</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;What OS is on the PC? Which Bluetooth API are you using?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE - bonding</title><link>https://devzone.nordicsemi.com/thread/317433?ContentTypeID=1</link><pubDate>Mon, 28 Jun 2021 10:39:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cedc92a2-89bf-4deb-9621-ebf9724fc196</guid><dc:creator>Roei</dc:creator><description>&lt;p&gt;I&amp;#39;m testing it with my own PC software.&lt;/p&gt;
&lt;p&gt;Can you please tell me if I can see the pairing request from the PC with the bond flags, on my NRF code?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE - bonding</title><link>https://devzone.nordicsemi.com/thread/317430?ContentTypeID=1</link><pubDate>Mon, 28 Jun 2021 10:35:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10810f1c-bc52-45f4-b2f9-8a3e3b31ea26</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Roei"]I would like to know - how does the NRF device knows if it&amp;#39;s bonding or not?[/quote]
&lt;p&gt;That is part of the pairing procedure. Specifically the pairing request packet indicates with a flag if bonding or just pairing. So both peers know at the beginning of the procedure if they are going to store the data for later use (bond) or not (pair). If pairing is initiated from the PC side, then the you should configure it to bond from the PC. Are you testing with some software you wrote on your own on the PC side, or for instance using nRF Connect for Desktop, or something else?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE - bonding</title><link>https://devzone.nordicsemi.com/thread/317421?ContentTypeID=1</link><pubDate>Mon, 28 Jun 2021 09:49:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5fab26f3-a87b-4b4c-938d-0f810968f20c</guid><dc:creator>Roei</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have NUS and device information services.&lt;/p&gt;
&lt;p&gt;Actually, when connection to a mobile, I have a bonded connection, but not when connection to a PC.&lt;/p&gt;
&lt;p&gt;I would like to know - how does the NRF device knows if it&amp;#39;s bonding or not? The meaning of bonding is saving the keys, but how can the NRF device know if the other side is saving those keys as well? Because if the other side doesn&amp;#39;t bond, so NRF device isn&amp;#39;t bonded as well.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE - bonding</title><link>https://devzone.nordicsemi.com/thread/317407?ContentTypeID=1</link><pubDate>Mon, 28 Jun 2021 08:57:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:68a25281-67f4-4767-80f9-9a860e972e11</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;What services do you have on the device, and do you use some software handling it on the PC, or is it just using native support for some specific profile?&lt;/p&gt;
[quote user=""]Can it be related to the fact that PC doesn&amp;#39;t support bonding, as a central?[/quote]
&lt;p&gt;That is highly unlikely. It is more likely that the PC does not initiate bonding for some reason.&lt;/p&gt;
&lt;p&gt;When you configure&amp;nbsp;&lt;span&gt;m_sec_param.bond = 1 that means that you enable bonding in the nRF device (i.e. it supports bonding). It does not enforce bonding, though. Typically you would have some characteristics that have security parameters set so that they cannot be read or written to without bonding. There are several way to handle this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For instance&amp;nbsp;iOS normally does not bond until it does not get access to a characteristic, in other words it bonds only when needed. With other systems (Android and most desktop systems) there are APIs that can be used to trigger bonding. Also, some systems will automatically bond in cases some services&amp;nbsp;are present (like HID), but not others.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;There are several options to solve this: For instance, t&lt;/span&gt;&lt;span&gt;he nRF&amp;nbsp;peripheral can request pairing/bonding, you can u&lt;/span&gt;se some API on the central to trigger bonding, or others, depending on what makes sense in your use case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>