iPhone 7 - iOS 12.1.4 - Fails to report BLE device connected
iPhone 7 - iOS 12.1.4 - Fails to report BLE device connected
- Subject: iPhone 7 - iOS 12.1.4 - Fails to report BLE device connected
- From: Hayden Ball <email@hidden>
- Date: Wed, 20 Mar 2019 14:13:28 +0000
Good day.
I am designing a peripheral to use with Android and iOS devices. The
peripheral is running Linux, making use of the Bluez stack (v5.50, Kernel
4.14).
BLE connections to test Android devices work with no problem - I am able to
connect, scan for services and characteristics, read values, and subscribe
to notifications.
When attempting to do the same on my test iOS device (an iPhone 7 running
iOS 12.1.4), I never receive a connection callback.
Examining, first, the peripheral's view of the world (using btmon, output
attached) I see the following:
* The iPhone connects
* Bluez receives a request for its features, and responds.
* The iPhone and Bluez negotiate an MTU size of 185
* 40 seconds pass
* The iPhone disconnects, stating a Connection Timeout reason
Examining the iPhone's story, using the bluetooth diagnostic logs and
Wireshark, I see very much the same story:
* The iPhone requests a LE Connection
* The iPhone requests remote version information
* The iPhone responds to the MTU request made by the peripheral
* 40 seconds pass
* The iPhone disconnects
Note that the iPhone never _receives_ remote version information back from
the peripheral.
On occasion, the connection does succeed. When this does occur, I see a
"Read Remote Used Features Complete" entry in the iPhone's bluetooth log
shortly after it was requested.
I'm guessing there's a race condition somewhere (on the basis it works
occasionally). Does anyone have any suggestions as to how I might work
around this issue, and allow stable connections from iPhone to my
peripheral?
Kind Regards,
Hayden
Attachment:
btmon
Description: Binary data
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Bluetooth-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden