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

Connection issues with Android smartphones

Hi everybody,

I have developed a BLE sensor based on nRF52840 (S140 6.1.1 and SDK 15.3.0) that is normally performing connectable scannable undirected advertising. Since I have to maximise the throughput over connection, 2M PHY is used and DLE is enabled.
With some smartphones there are no problems at all, but with some others (Samsung Galaxy A6 with Android 10, Samsung S8 with Android 9, OnePlus One with Android 9) it is really hard to establish a connection (say only one attempt out of four would be successful). Errors shown by nRF Connect are Error 8 (0x8): GATT CONN TIMEOUT and Error 133 (0x85): GATT ERROR.

I've been looking for possible solutions in this forum and it looks like it is quite common to encounter these kind of errors with Samsung devices.

(1) Can you confirm that?


This post (quite old) is mentioning a workaround involving the use of compatibilty mode 2. I've tried to add it to my code but seems like only compatibility mode 1 is available in SDK 15.3.0, then I have edited the code snippet as follows:

ble_opt_t ble_opt;
memset(&ble_opt, 0, sizeof(ble_opt));

ble_opt.gap_opt.compat_mode_1.enable = 1;

err_code = sd_ble_opt_set(BLE_GAP_OPT_COMPAT_MODE_1, &ble_opt); 
APP_ERROR_CHECK(err_code);

(2) Is this correct?

(3) Why has compatibility mode 2 been removed/replaced?

It is also suggested (in the above mentioned post and in other posts) to disable DLE to avoid these kind of issues.

(4) Does this mean that in applications where DLE is required there is no alternative solution but to be patient and retry until a successful connection?

(5) Finally, if after tests comes out that DLE really is the problem, would it be possible (for other applications) to enable/disable it at run time through a BLE command, and which functions should be used?

 

Thank you for your help

Lorenzo

Parents
  • Hi Simonr,

    thanks a lot for your reply. We could try to disable DLE and use 1MBPS PHY but since the problem is only occuring with those particular smartphones and our application needs both features, the best thing at this time is to change the smartphones Slight smile

    Knowing this issue though it is probably better to disable DLE and 2MBPS PHY for general purpose applications where they're not necessary.

    Thank you!

Reply
  • Hi Simonr,

    thanks a lot for your reply. We could try to disable DLE and use 1MBPS PHY but since the problem is only occuring with those particular smartphones and our application needs both features, the best thing at this time is to change the smartphones Slight smile

    Knowing this issue though it is probably better to disable DLE and 2MBPS PHY for general purpose applications where they're not necessary.

    Thank you!

Children
No Data
Related