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

Android BLE issues on parallel (5+) connection establishments

We need to establish connections to muliple of our products (they use nRF52832/nRF52840) parallel from our Android/iOS apps to send commands which are time critical (in relation between the devices).

This works fine from our iOS app.

On Android side we've been trying to implement this parallel connections (instead of serial connections, which we used before and which work fine on Android) for a while now and it seems like the Android Bluetooth stack is getting unreliable from time to time (we use tests which connect/disconnect to the devices in a loop) when we connect to multiple (~ more than 5) devices at the same time.
Unreliable means: We getting various errors and there seems to be no pattern when/at which device these errors happen. 

The errors happen nearly at every part of the connection process

- the well know generic GATT_ERROR (133) in the onConnectionStateChange() callback

- errors in the onMtuChanged() callback

- sometimes our services are not discovered correctly

- sometimes we get no responses on the writes to our characteristics

We use work arounds (like close the connection and reconnect) but from time to time we still run in issues which are not predictable and hard to debug.

I know, there is no way to "debug" this without code here. My question is:

Does anyone has experiences with such a parallel connection process on Android?
If so, can you confirm that the Android BLE stack reacts unreliable or is it working for you. If the latter, we would spend more time in the debugging, else we could stop the investigation and just use the serial connection method like before.

Thank you for your time!

Parents
  • Hi, I know that this is an old question, but I'm having a similar issue with 5 parallel connection when performing DFU via BLE on Android/iOS. Connection initialization is failing for some devices with GATT_ERROR (133). When I performed one by one or 2-3 in parallel, it is ok.

    Do you have some solution to avoid this?

    I have plan to try synchronize the connection process, but didn't tried yet. 

    Thank you

Reply
  • Hi, I know that this is an old question, but I'm having a similar issue with 5 parallel connection when performing DFU via BLE on Android/iOS. Connection initialization is failing for some devices with GATT_ERROR (133). When I performed one by one or 2-3 in parallel, it is ok.

    Do you have some solution to avoid this?

    I have plan to try synchronize the connection process, but didn't tried yet. 

    Thank you

Children
No Data
Related