1

Im currently trying to figure out why some Android devices have problem with our Bluetooth Low Energy app.

Working with this I am running the same codebase&app on my Samsung S22 and Xiaomi T11 or OnePlus Nord2.

Its a simple Bluetooth Low Energy app where I send data to a peripheral/server

My Samsung works perfectly good sending and reading data from the GATT device, my Xiaomi T11 not so much. Here's a sample log:

08-10 16:31:21.642 21053 21071 V Wrote descriptor for e5694fc9 status 0
08-10 16:31:21.647 21053 21071 V Transmitting 10 bytes
08-10 16:31:21.657 21053 21069 V Device received the data (onCharacteristicWrite) GATT status: 128
08-10 16:31:21.671 21053 21069 V Transmitting 10 bytes
08-10 16:31:21.677 21053 21069 V Device received the data (onCharacteristicWrite) GATT status: 128
08-10 16:31:21.719 21053 21069 V Done sending, awaiting response from peripheral
08-10 16:31:21.727 21053 21069 V Device received the data (onCharacteristicWrite) GATT status: 133

As you can see, there's GATT status 128 (NO_RESOURCE), and status 133 (generic?)

This does NOT happen on my Samsung.

SDK target version 33, Both devices run Android 13.

This issue is most likely affecting these devices as well because they all have the Mediatek chipset: One plus Nord2, Oppo, Motorola

Does anyone have an idea of what the issue is and how to resolve it?

Testing all sorts of implementations of BLE GATT.

Robertko
  • 21
  • 3

1 Answers1

0

Unfortunately these are generic Android errors that are known but don't have a valid fix yet. They are related to the hardware/stack on the Android phone and your best bet is to implement a workaround. In this case the workaround would be to try and reconnect when you get a disconnection because of status 128 or status 133. I have also read that attempting to bond with the remote device can also fix the issue sometimes. Have a look at the links below for more information:-

Youssif Saeed
  • 11,789
  • 4
  • 44
  • 72