<?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>Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/66416/bluetooth-pairing-problem-with-ios</link><description>Hi, 
 
 I am developing a product, based on nrf52840 soc with SDK v15.3 and softdevice V14. I have a pairing problem with the recently released iOS, version14. while my product works well with older iOS versions and all android devices. 
 The problem</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 01 Oct 2020 16:06:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/66416/bluetooth-pairing-problem-with-ios" /><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/272612?ContentTypeID=1</link><pubDate>Thu, 01 Oct 2020 16:06:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9a25a5cf-985b-49a2-b1c6-e950261811d5</guid><dc:creator>alireza sadeghpour</dc:creator><description>&lt;p&gt;Thank you so much,&lt;/p&gt;
&lt;p&gt;Yesterday Apple released a new update for iOS which I&amp;#39;ve installed today (iOS14.2 beta2). it seems that after installing it the problem was solved and it pairs with our product as it did in iOS13.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;as it is a beta release, maybe apple commits it to the stable version, maybe not.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Anyway, I will be very grateful if you update us with a workaround to change key distribution options.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Alireza&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/272524?ContentTypeID=1</link><pubDate>Thu, 01 Oct 2020 12:39:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6a1503c9-45f3-40cb-8700-5fb2f92f96ca</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;I had not tested it with an iOS v14 device, as I didn&amp;#39;t have one easily available. I wasn&amp;#39;t aware that we didn&amp;#39;t support the signature or link key either. I got my hands on an iOS device however, and I can confirm that this can be recreated on our side as well. I have reported this internally and we&amp;#39;re looking into it, but as of yet, we don&amp;#39;t have a workaround. It does indeed seem like iOS v14 requires signature or link keys (or both) in order to successfully pair and bond with a central device, and we&amp;#39;re looking at potential workarounds.&lt;/p&gt;
&lt;p&gt;I will update you as soon as I know something.&lt;/p&gt;
&lt;p&gt;Best regards, Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/272371?ContentTypeID=1</link><pubDate>Wed, 30 Sep 2020 16:00:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:875de837-d4b7-4e5c-896d-e4b95285e6ef</guid><dc:creator>alireza sadeghpour</dc:creator><description>&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I have applied these options in the peer_manager_init function, but after adding these options pm_sec_params_set function fails with NRF_ERROR_INVALID_PARAM return code.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;sec_params_verify function in&amp;nbsp; security_manager.c file, executes below code:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// Signing is not supported.
if (p_sec_params-&amp;gt;kdist_own.sign || p_sec_params-&amp;gt;kdist_peer.sign)
{
    return false;
}

// link bit must be 0.
if (p_sec_params-&amp;gt;kdist_own.link || p_sec_params-&amp;gt;kdist_peer.link)
{
    return false;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;it seems that those options aren&amp;#39;t supported by nordic.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I have added another trace, which android pairs with iOS14 successfully, which also uses the same key distribution option as windows -&amp;gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/ios_5F00_pair_5F00_success_5F00_android.pcapng"&gt;devzone.nordicsemi.com/.../ios_5F00_pair_5F00_success_5F00_android.pcapng&lt;/a&gt;&amp;nbsp;(packet 4289)&lt;/p&gt;
&lt;p&gt;I have a question, Did you test the scenario with nrf_connect desktop version? if yes, did you experience this problem with iOS v14?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;nrf_connect Desktop fails to pair with iOS14 -&amp;gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/ios_5F00_pair_5F00_fail_5F00_nrfConnectDesktop.pcapng"&gt;devzone.nordicsemi.com/.../ios_5F00_pair_5F00_fail_5F00_nrfConnectDesktop.pcapng&lt;/a&gt; (packet 14540)&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/272258?ContentTypeID=1</link><pubDate>Wed, 30 Sep 2020 11:16:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac4cbd65-4cc6-40c3-b259-b8389e7b930f</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Okay, it was worth a try as this is how the &lt;a href="https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf"&gt;Accessory Design Guidelines for Apple Devices&lt;/a&gt; describes the pairing process.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You&amp;#39;re correct that the key distribution is different in the two pairing requests, so you can try changing these to match the successful request in the Windows pairing, but I don&amp;#39;t know if this is a new necessity for iOS14, as I&amp;#39;m not an expert on Apple products.&lt;/p&gt;
&lt;p&gt;You can try adding the following lines to your peer_manager_init function that should enable key distribution for link and signature keys.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    sec_param.kdist_own.sign  = 1;
    sec_param.kdist_own.link   = 1;
    sec_param.kdist_peer.sign = 1;
    sec_param.kdist_peer.link  = 1;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/272140?ContentTypeID=1</link><pubDate>Tue, 29 Sep 2020 18:37:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bc861f10-554a-4f9b-b591-5e43ce77b843</guid><dc:creator>alireza sadeghpour</dc:creator><description>&lt;p&gt;I meant &amp;quot;waiting for &lt;span&gt;insufficient authentication error message&amp;nbsp;to initiate the pairing process&amp;quot;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/272119?ContentTypeID=1</link><pubDate>Tue, 29 Sep 2020 15:40:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2e9541f9-1eda-4578-a7be-edaaf089a695</guid><dc:creator>alireza sadeghpour</dc:creator><description>&lt;p&gt;Thanks for your attention,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve tested that (waiting for &lt;span&gt;BLE_GAP_EVT_CONNECTED&amp;nbsp;to initiate the pairing process)&lt;/span&gt;, but it didn&amp;#39;t change anything and the problem is still remaining.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Bests&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/272074?ContentTypeID=1</link><pubDate>Tue, 29 Sep 2020 13:05:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aac4ee03-dbe9-448f-bf27-785e5a4668d3</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;You said in your last reply that you call the pm_conn_secure function as part of the BLE_GAP_EVT_CONNECTED event, can you&amp;nbsp;waiting for the insufficient authentication error message before you send the pairing request from your central device?&lt;/p&gt;
&lt;p&gt;I will take a closer look at the two pairing requests and come back to you with any updates, but please update me whether moving the pairing request does anything for you.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/272017?ContentTypeID=1</link><pubDate>Tue, 29 Sep 2020 10:38:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6efed791-57d6-46d5-bc1c-94ff2fc7941b</guid><dc:creator>alireza sadeghpour</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;How have you set up your iOS device as a peripheral&amp;quot;&lt;/p&gt;
&lt;p&gt;as the peripheral side, we have a specific application for iOS which has some services and is advertising specific UUID. (I didn&amp;#39;t get the exact information that you are requesting. If you can, please, kindly indicate your requested information)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;If you&amp;#39;re not already, please try using the nRFConnect app for iOS to set up the peripheral.&amp;quot;&lt;/p&gt;
&lt;p&gt;I have done this. Again the same problem occurs and iOS didn&amp;#39;t show pairing dialogue and does not respond to the pairing request (like it did not receive it at all)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;Would it be possible for you to upload a snippet of your central code where you show me how your BLE_GAP_EVT_CONNECTED looks&amp;quot;&lt;/p&gt;
&lt;p&gt;Currently, I don&amp;#39;t have access to the iOS app code, but as I know whole pairing process in the iOS should be handled by the operating system (as the pairing in iOS is system-wide) and the app doesn&amp;#39;t involve in it&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am suspecting to two things,&lt;/p&gt;
&lt;p&gt;First) could you please compare this pairing requests:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pair request which was sent by windows -&amp;gt;&amp;nbsp;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/iOS_5F00_Pair_5F00_With_5F00_Windows_5F00_Succeed.png" /&gt;&lt;/li&gt;
&lt;li&gt;Pair request which was sent by nordic softdevice (our product) -&amp;gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/iOS_5F00_Pair_5F00_With_5F00_10056_5F00_faild.png" /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are some differences in those requests, technically those differences could cause the problem?&lt;/p&gt;
&lt;p&gt;I have tried to change IO-Capabilities, AuthReq parts to be matched with windows request but it doesn&amp;#39;t solve the problem. But I couldn&amp;#39;t find any way to change the &amp;quot;Initiator-Key-Distribution&amp;quot; and &amp;quot;Responder Key Distribution&amp;quot; sections of the request to be matched with windows request. There is any API&amp;nbsp; to change those sections?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Two) Right after sending the pairing request, iOS sends an LL_SLAVE_FEATURE_REQ and softdevice responds to this with LL_UNKNOWN_RSP. Could this cause the problem? There is any way to respond to this request in our app with a valid response?&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/Slave_5F00_Feature_5F00_Request.png" /&gt;&lt;/p&gt;
&lt;p&gt;In end, I think that there should be a problem between iOS14 and Softdevice. Because nordic nrfConnect( Bluetooth low energy app) desktop version, which uses PCA10056 as BLE adapter (and surely use softdevice) has the exactly same problem with iOS14. In this manner that when nrfConnect sends a pair request, iOS does not show any reaction to the request and it fails with timeout error code.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;sorry for long script&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/271945?ContentTypeID=1</link><pubDate>Tue, 29 Sep 2020 07:29:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:47e43d04-cba4-41f9-a4b2-5a640c5ae79f</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Indeed, there is a pairing request, but no further information on the pairing process (which was what I referred to, sorry about any confusion). How have you set up your iOS device as a peripheral? If you&amp;#39;re not already, please try using the nRFConnect app for iOS to set up the peripheral. Would it be possible for you to upload a snippet of your central code where you show me how your BLE_GAP_EVT_CONNECTED looks?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/271762?ContentTypeID=1</link><pubDate>Mon, 28 Sep 2020 11:54:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0bcda90-f14c-4c6c-94a4-8de584f4da0a</guid><dc:creator>alireza sadeghpour</dc:creator><description>&lt;p&gt;Hi, Thanks for your attention&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The exact name of soft device which I am using is &amp;ldquo;s140_nrf52_6.1.1_softdevice&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Looking at your sniffer traces, ios_pair_failure doesn&amp;#39;t show any information on a pairing process at al&amp;rdquo;&lt;/p&gt;
&lt;p&gt;In the &amp;ldquo;ios_pairing_faild&amp;rdquo; trace, in packet number 7930, Master (which is my product) sends a pairing request to the iOS. And the iOS does not respond to this request(so pairing fails here). Could you please look at this file again(I think because of a lot of advertising packets you missed this packet)?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;how do you handle pairing on your end&amp;rdquo;&lt;/p&gt;
&lt;p&gt;In my project, I am starting the pairing process right after receiving BLE_GAP_EVT_CONNECTED by calling the pm_conn_secure function. And then I wait for the related event in the pm_evt_handker function&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;What example project from the SDK have you based your own project on&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The project was started by another developer, but I think it is based on ble_app_hrs_c example&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Have you tried debugging to see what error code your nRF device and/or iOS device produce?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Not really, but in the nrfConnect desktop version I can see, sometime after sending a pairing request, nrfConnect shows a timeout message&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;As for the ios_pair_success_windows sniffer trace, it seems like the pairing is conducted correctly indeed,&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Yes, pairing with windows was conducted successfully, and I am searching for a response to this question that why&amp;nbsp; iOS14 responds to windows request but does not show any reaction to our request.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you so much&lt;/p&gt;
&lt;p&gt;pairing request in&amp;nbsp;&lt;span&gt;ios_pairing_faild&amp;quot;ios_pairing_faild&amp;quot; trace -&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pair_5F00_req.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth pairing problem with iOS</title><link>https://devzone.nordicsemi.com/thread/271732?ContentTypeID=1</link><pubDate>Mon, 28 Sep 2020 10:53:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:caa261dc-ad3e-46e2-bb3a-1150ed9da810</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;First off, what SoftDevice version are you using? We don&amp;#39;t have a SoftDevice version 14, and the only version compatible with SDK v15.3.0 is SoftDevice v6.1.1.&lt;/p&gt;
&lt;p&gt;Looking at your sniffer traces, &lt;strong&gt;ios_pair_failure&amp;nbsp;&lt;/strong&gt;doesn&amp;#39;t show any information on a pairing process at all, so either the device doesn&amp;#39;t initiate pairing in the first place, or the sniffer device does not join in on the pairing process. What example project from the SDK have you based your own project on, and how do you handle pairing on your end? Have you tried debugging to see what error code your nRF device and/or iOS device produce?&lt;/p&gt;
&lt;p&gt;As for the&amp;nbsp;&lt;strong&gt;ios_pair_success_windows&lt;/strong&gt; sniffer trace, it seems like the pairing is conducted correctly indeed, as the sniffer is being &amp;quot;thrown out&amp;quot; when trying to sniff after the pairing process has started.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>