mynewt-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeremiah Robison (JIRA)" <>
Subject [jira] [Commented] (MYNEWT-857) BLE Controller - incompatibility with iPhone 8 (and iPhone X?)
Date Fri, 30 Mar 2018 22:09:00 GMT


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:
>             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

View raw message