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

Error 133 (0x85) Gatt Error faced in Android devices.

Hi Nordic Team,

I know there are many tickets raised concerning this error 133. It is a quite generic issue with Android devices of various android versions and I have gone crazy while finding the solution for this error 133 and reading so many tickets raised on this forum. After reading many such, in the end, I have found no full-proof solution why this error133 occurs while trying to connect with nRF51 peripheral via the Android App as well as Nordics own NRFconnect App.

I will try to explain the issue in detail:

nRF51822 SoC.

Chip: MDBT40,

SDK: nRF10

softdevice: S130

We are using nrf51 as a peripheral device on one side and a custom Android App and an iOS App as a central device on the other. While discovering devices on the App for the first time on any android device, peripherals occur in the scan list. While trying to connect the GATT, I get GATT error 133. After I click on connect, it takes 30 secs of delay and after that, I receive Error 133. This is observed mostly on a first-time connection using the android App or if the peripheral was connected to iOS App earlier and then if we try to reconnect with Android device, error 133 occurs. The same is observed on the nRF Connect app most of the time. I have also tried using SDK examples as it is but the same issue persists.

The peripheral nRF51 does not support pairing or bonding. The error is very weird and random. I have tested the same App with many android devices with different Android versions (android 7, 8, 9, 10). Mobile devices such as Samsung S7, One Plus 8, Xiaomi Redmi Note 5 Pro, Google Pixel, Samsung Tab, and many more.

I have tried to capture sniffer logs for error 133 but observed that there is no connection request between central to peripheral and this GATT error 133 is issued by Android OS itself. 

Would like to have some solution to get this issue solved. All the ideas are welcomed.

Parents
  • Hi Darshan,

    Like you said, there are lots of threads in devzone that have discussed this error (133) This is a known issue . We  saw that the phone first sent a LL_VERSION_IND and then it sent a LL_FEATURE_REQ before the peripheral had sent its LL_VERSION_IND. In other words, the phone initiated a seconds LL Control Procedure before the first is finished, and this is a clear violation of the Bluetooth specification.

    We do not have a workaround on the older version but you can try to enable Compatibility mode 2 if your version of S130 supports it

Reply
  • Hi Darshan,

    Like you said, there are lots of threads in devzone that have discussed this error (133) This is a known issue . We  saw that the phone first sent a LL_VERSION_IND and then it sent a LL_FEATURE_REQ before the peripheral had sent its LL_VERSION_IND. In other words, the phone initiated a seconds LL Control Procedure before the first is finished, and this is a clear violation of the Bluetooth specification.

    We do not have a workaround on the older version but you can try to enable Compatibility mode 2 if your version of S130 supports it

Children
No Data
Related