You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@mynewt.apache.org by "Jeremiah Robison (JIRA)" <ji...@apache.org> on 2018/03/30 22:09:00 UTC
[jira] [Commented] (MYNEWT-857) BLE Controller - incompatibility
with iPhone 8 (and iPhone X?)
[ https://issues.apache.org/jira/browse/MYNEWT-857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16420993#comment-16420993 ]
Jeremiah Robison commented on MYNEWT-857:
-----------------------------------------
I ran across the same issue with connection to an iPhoneX
I did not see an issue with connection to an iPhone6s
Commenting out the line mentioned by Christopher does allow the connection and service discovery to complete with the iPhoneX
Thought I would mention just in case it triggers any new ideas, I believe that the iPhone8 and iPhoneX support BT 5 and perhaps why we are seeing it only on those devices.
Additionally, worth mentioning that I have worked on a number of different bluetooth products and intermittent iOS BT hangs that require a user to need to restart bluetooth were common enough that we had customer care flows to help a user restart. Meaning the intermittent hangs may be a red herring.
> BLE Controller - incompatibility with iPhone 8 (and iPhone X?)
> --------------------------------------------------------------
>
> Key: MYNEWT-857
> URL: https://issues.apache.org/jira/browse/MYNEWT-857
> Project: Mynewt
> Issue Type: Task
> Security Level: Public(Viewable by anyone)
> Components: Nimble
> Reporter: Christopher Collins
> Priority: Major
> Labels: NimBLE
> Fix For: v1.3
>
> Attachments: ios2nimble-no-feat.pcap, ios2nimble.pcap, nimble_ios_1033.btt, nimble_ios_1103.btt
>
>
> Master: iPhone running iOS 11
> Slave: NimBLE device
> The iPhone successfully establishes a connection to the NimBLE device, but the CoreBluetooth {{didConnect()}} callback does not get called. A packet trace (see attached {{ios2nimble.pcap}} file) shows that the iPhone never initiates service discovery.
> The problem seems to occur when the NimBLE controller initiates the Feature Exchange Procedure immediately after connection establishment. The {{LL_SLAVE_FEATURE_REQ}} PDU appears to cause a problem for the iOS device. When I comment out the call to {{ble_ll_ctrl_proc_start()}} at the bottom of {{ble_ll_conn_created()}}, the iOS device is able to connect and perform service discovery, resulting in the CoreBluetooth callback being executed.
> In the attached pcap file {{ios2nimble.pcap}}, the CONNECT_REQ is at packet #6211.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)