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
  • 6s isn't doing the data length extension query at all, so perhaps the 6s hardware doesn't support it. So in that way it looks just like the 5s on iOS 9.x

    7 does the data length extension query, that's the major difference. In the case of the nrf51822, that replies with unknown because it's unknown (S130 doesn't support it), S132 replies to it with a fairly default response of 27 bytes Tx/Rx and the minimum timeout for each, a response which as far as I can see is perfectly correct, and I've looked at the bytes in it to check. The 7 then does a feature request, again the reply seems perfectly fine, and never says anything after that.

    This is why I suggested actually setting a larger data packet extension, see if that makes a difference. The one it sends is fine, you can support the extension but still use 27 bytes, but somewhere around there is where the phone is getting upset.

Reply
  • 6s isn't doing the data length extension query at all, so perhaps the 6s hardware doesn't support it. So in that way it looks just like the 5s on iOS 9.x

    7 does the data length extension query, that's the major difference. In the case of the nrf51822, that replies with unknown because it's unknown (S130 doesn't support it), S132 replies to it with a fairly default response of 27 bytes Tx/Rx and the minimum timeout for each, a response which as far as I can see is perfectly correct, and I've looked at the bytes in it to check. The 7 then does a feature request, again the reply seems perfectly fine, and never says anything after that.

    This is why I suggested actually setting a larger data packet extension, see if that makes a difference. The one it sends is fine, you can support the extension but still use 27 bytes, but somewhere around there is where the phone is getting upset.

Children
No Data
Related