[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=16422915#comment-16422915 ] Lance Cohen commented on MYNEWT-857: Hi [~jerobi], sounds like your experience with the iPhone X is fairly binary w.r.t commenting out that line that Chris suggested. Our experience is unfortunately not super easy to replicate its very intermittent / random. One thing we did notice while trying to capture the packet sequence leading up to and upon entering the BT "hang" state is there are *no* BT packets that are transmitted from the iPhone - so its seems like the stack in this state is permanently wedged until BT is restarted as you mentioned. Unfortunately, capturing the sequence leading up to the hang has proven to be elusive. > 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)
[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=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)
[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=16295986#comment-16295986 ] Lance Cohen commented on MYNEWT-857: Hi Chris, 1. Models tested so far are iPhone 7 and X. We have some older versions (5 & 6) which we will try to repro the issue on as well. 2. From our experience, the issue seems to be more related to iOS 11 rather than phone hardware as prior to iOS11 ous phone-device interactions did not trigger this issue. There are known high profile issues with iOS 11 (eg: the likes of Garmin having problems - with phones losing connections etc) the question is what could trigger the issue/state where the phone's BT stack goes wacky. Apple should really address this but hopefully we can get to the bottom of what triggers this state. 3. Unfortunately not, behavior is the same. 4. As mentioned we will try to isolate things and have a similar test setup to yours testing with nRF52 and the running bleprph. I will provide an update on this testing when I have one. > 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 > 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 (v6.4.14#64029)