This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

iPhone7 + nrf52 + SDK12/s132 doesn't connect

I have an odd situation. I've been using an iPhone 5 and 6 to connect to, and test against, both an nRF51 (redbear nano) and the same code built for nRF52. It works fine.

Today I provisioned an iPhone 7, with the latest version of ios of course.

And my app works perfectly fine with the nRF51, but it is completely unable to talk with the nRF52.

When I explore using nRF Connect on the iPhone 7, as you'd expect I can see everything perfectly when looking at the nRF51.

But when I explore the nRF52 using nRF Connect, and tap the advertised device, something different happens. On the Service screen, it says "Connected", however there are zero advertised services listed. It is truly bizarre.

Using wireshark I've done a capture - see response.

I am not an expert at on-wire analysis or even wireshark, so I'm hoping that you might be able to suggest what I do to take next steps to debug.

Your thoughts would be appreciated; thanks.

Parents
  • I know that this hasn't gotten attention yet, but I really hope someone from Nordic would please comment because it's really a blocker.

    I have now reduced this to being an SDK V12 issue. Meaning, the following all work perfectly with my app and Nordic's own: iPhone 5s + nRF51822 + SDKV11/S130 iPhone 7 + nRF51822 + SDKV11/S130 iPhone 5s + nRF52822 + SDKV12/S132

    It fails, with my app and Nordic's own, on: iPhone 7 + nRF52822 + SDKV12/S132

    FYI, because I know that this is likely to be the very first thing that a Nordic employee would reasonably ask, I've now eliminated my app from the equation.

    These two captures are from the SDKV12 ble_peripheral hrs app, using the up-to-date nRF Toolbox app on the iPhone.

    I'm running the hrs app on my nRF52832.

    This capture is done using the iPhone 5s running iOS 9.3.5, and it works perfectly:

    dl.dropboxusercontent.com/.../hrs-nrf52-iphone5s-good.pcapng

    This capture is done using the iPhone 7 running iOS 10.0.1, and it fails the same way as my app failed above:

    dl.dropboxusercontent.com/.../hrs-nrf52-iphone7-bad.pcapng

  • couple of things you could try - actually set a long data packet length, set it to 251 bytes, which is what the phone is claiming to support, see if that jerks it out of inactivity.

    One thing to note - wireshark (still) decodes feature bits backwards, so the softdevice is actually reporting LE Security + LE Data Packet Extension, not what wireshark dissects, I've reported this, should have done it years ago, it's been like that since version 1.08 or something.

    Also since the softdevice does support LE Ping I don't know why that flag isn't set - Nordic?

    And finally it's rather odd that the phone starts the Data Length Extension procedure before it checks the features flag, but it doesn't really matter, odd though.

    On the iOS side are you getting the bluetooth Connect callback and starting characteristic discovery, or is the phone not even reporting itself connected?

Reply
  • couple of things you could try - actually set a long data packet length, set it to 251 bytes, which is what the phone is claiming to support, see if that jerks it out of inactivity.

    One thing to note - wireshark (still) decodes feature bits backwards, so the softdevice is actually reporting LE Security + LE Data Packet Extension, not what wireshark dissects, I've reported this, should have done it years ago, it's been like that since version 1.08 or something.

    Also since the softdevice does support LE Ping I don't know why that flag isn't set - Nordic?

    And finally it's rather odd that the phone starts the Data Length Extension procedure before it checks the features flag, but it doesn't really matter, odd though.

    On the iOS side are you getting the bluetooth Connect callback and starting characteristic discovery, or is the phone not even reporting itself connected?

Children
No Data
Related