This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Automatically disconnection iOS

I'm using the NUS service for a sensor design. It was working fine for me. I don't know what is changed, but I experiences the next problem.

When I connect my sensor using an iOS app (own developed app, nRF Toolbox app or nRF UART app) the connection will be disconnected after about 95 seconds. When I connect it to the Master Control Panel on my windows PC or with a BLE Central device it will not disconnect automatically.

The sensor doesn't require bonding.

I don't know why it is disconnecting, but it looks it has something to do with iOS. By the way the iOS version 9.2.1.

Any idea what is wrong or how to solve it?

Thanks in advance.

UPDATE:

A Wireshark logging of the connection between the sensor and the iPod Touch 6th gen. ble_air_logging_2.pcapng

Parents
  • I found the MIN_CONN_INTERVAL and MAX_CON_INTERVAL values in my Nordic code where changed to small values. 10ms for the MIN and 15ms for MAX. After changing this value to 20 ms and 75 ms the connection with the iOS device remain stable after the 95 seconds.

    I don't know why I changed it, but I did!

    Problem solved for me at this moment.

  • I ran into the same problem; connection is terminated after 95sec. by peripheral (BL652, running NUS) with LL_TERMINATION_IND and error code 0x3b (unacceptable connection parameters). Connection paramters came from the central, a Garmin Edge 1050 GPS device, enforcing these values by LL_CONNECTION_UPDATE_IND to interval 90ms, latency 0, supervision timeout 4000msec.

    What can i do to fix this) It is not possible to change BLE parameters of central (Garmin Device), i can only adapt the BLE stack of the peripheral, build with Nordic SDK.

  • The disconnect reason does not tell if the connection was terminated by the Garming or your nRF device but the solution will involve modifying the the application code running the BL652. Exactly how to do this depends on what SDK you are using. Please let me know which SDK and version you are using, and if you are using any of the existing SDK examples.

    For future questions, please create a new thread instead of re-opening an old one. This makes it easier to keep each discussion focused and helps others find relevant information.

  • Thanks. Just now i could solve this: by increasing the max connection interval value on the BL652 side from 75msec to 100msec. The requested 90ms from Garmin device are now accepted by Link Layer of BL652, and the connection remains stable without further connection paramater update requests on the Link Layer.

Reply Children
Related