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

iOS 8 disconnect while service discovery

Hi,

I'm seeing a lot of this issue with iPad mini (1 gen), iOS 8.1.3.

Many times I start the bluetooth app, the connection just drops while doing service discovery, like:

2015-02-17 20:35:35.655 myApp[276:17102] Did discover peripheral myPeriph 2015-02-17 20:35:35.728 myApp[276:17102] Did connect peripheral myPeriph 2015-02-17 20:35:35.730 myApp[276:17102] Did start service discovery. 2015-02-17 20:35:36.095 myApp[276:17102] Did disconnect peripheral myPeriph

.. the app is loosely based on the nRF UART example. On the nrf51822 side there are no error messages whatsoever, the peripheral just happily keeps advertising and eventually timeouts. I'm using S110 v5.2.1 softdevice.

Only thing that helps is restart of the app - and sometimes I even have to reboot the iPad for getting any bluetooth connections at all..

Does anyone have any idea why this happens?

Parents
  • Thanks, I changed it to:

    #define APP_ADV_INTERVAL                     32  
    #define MIN_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(20, UNIT_1_25_MS))         
    #define MAX_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(40, UNIT_1_25_MS))  
    #define SLAVE_LATENCY                        0 
    #define CONN_SUP_TIMEOUT                     MSEC_TO_UNITS(6000, UNIT_10_MS)         
    

    My earlier APP_ADV_INTERVAL was 80, MAX_CONN_INTERVAL 38 ms, which was a little down side. Throughput is of key importance in my application, so I have to keep these figures optimized.. Seems better now, lets see how it goes for a few days..

    We still have other strange iOS issues, like disconnect does not always go through correctly. Fooling with DFU seems to make it worse.. However strangely on OSX, everything works smooth as butter..

    Thanks,

Reply
  • Thanks, I changed it to:

    #define APP_ADV_INTERVAL                     32  
    #define MIN_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(20, UNIT_1_25_MS))         
    #define MAX_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(40, UNIT_1_25_MS))  
    #define SLAVE_LATENCY                        0 
    #define CONN_SUP_TIMEOUT                     MSEC_TO_UNITS(6000, UNIT_10_MS)         
    

    My earlier APP_ADV_INTERVAL was 80, MAX_CONN_INTERVAL 38 ms, which was a little down side. Throughput is of key importance in my application, so I have to keep these figures optimized.. Seems better now, lets see how it goes for a few days..

    We still have other strange iOS issues, like disconnect does not always go through correctly. Fooling with DFU seems to make it worse.. However strangely on OSX, everything works smooth as butter..

    Thanks,

Children
No Data
Related