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 on Samsung S7

I can't work arround error 133 on Samsung S7. After several test I found that it's related to long advertising intervals. I've test it on nRF52 DK  and nRF51DK. I've test it on several examples in SDK 14.2 and SDK 12.3. The result is always the same: advertising intervals about 6000 and more  (#define APP_ADV_INTERVAL                6000) gets the error 133 even with your app "nRF Connect". Shorter intervals (ex 100, 50) works well and fast.

In other phones I've test it works well at least the most of the times.

Is there any problems with long advertising intervals?

  • Hi,

    Have a look at this post.

    The solution in the post only works for nRF52, the fix wasn't implemented on nRF51.

  • Sorry, but I've try SDK 13.1 that is the only that support "ble_opt.gap_opt.compat_mode_2.enable = 1;" with the blinky example with compat_mode_2 and error 133 GAT_ERROR happens again with Samsung s7. Works well with other phones. That's don't solve the error.

  • I've try the sniffer and there is no packets sent by phone, only advertising packets from device going on while phone return error 133 several times.

    In the log in nRF connect, error 133 appears 5 seconds after connectGatt(..). Advertissing interval is aprox 5,5 s from wireshark times. When the autoconnect is true finaly phone connect after 52 seconds!!

    I also try faster advertising interval of 0,5 seconds. The phone connect most of the times but some times get 133 error also after 5 seconds from connectGatt().

    Nordic, this is a general problem that happens with your examples and your app. Have you any solution, work arround?

    This is the log in nRF Connect:

    nRF Connect, 2018-05-16
    I4Met (D0:35:D0:EA:01:F4)
    V 00:52:38.841 Connecting to D0:35:D0:EA:01:F4...
    D 00:52:38.841 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE)
    D 00:52:43.996 [Callback] Connection state changed with status: 133 and new state: DISCONNECTED (0)
    E 00:52:43.997 Error 133 (0x85): GATT ERROR
    I 00:52:43.997 Disconnected
    D 00:53:44.704 gatt.close()
    D 00:53:44.711 wait(200)
    V 00:53:44.914 Connecting to D0:35:D0:EA:01:F4...
    D 00:53:44.915 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE)
    D 00:53:50.061 [Callback] Connection state changed with status: 133 and new state: DISCONNECTED (0)
    E 00:53:50.062 Error 133 (0x85): GATT ERROR
    I 00:53:50.062 Disconnected
    D 00:54:07.120 gatt.close()
    D 00:54:07.124 wait(200)
    V 00:54:07.327 Connecting to D0:35:D0:EA:01:F4...
    D 00:54:07.328 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE)
    D 00:54:12.475 [Callback] Connection state changed with status: 133 and new state: DISCONNECTED (0)
    E 00:54:12.476 Error 133 (0x85): GATT ERROR
    I 00:54:12.476 Disconnected
    D 00:54:15.646 gatt.close()
    D 00:54:15.654 wait(200)
    V 00:54:15.856 Connecting to D0:35:D0:EA:01:F4...
    D 00:54:15.856 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE)
    D 00:54:21.006 [Callback] Connection state changed with status: 133 and new state: DISCONNECTED (0)
    E 00:54:21.006 Error 133 (0x85): GATT ERROR
    I 00:54:21.006 Disconnected
    D 00:54:23.111 gatt.close()
    D 00:54:23.115 wait(200)
    V 00:54:23.319 Connecting to D0:35:D0:EA:01:F4...
    D 00:54:23.319 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE)
    D 00:54:28.467 [Callback] Connection state changed with status: 133 and new state: DISCONNECTED (0)
    E 00:54:28.468 Error 133 (0x85): GATT ERROR
    I 00:54:28.468 Disconnected
    D 00:54:34.087 gatt.close()
    D 00:54:34.094 wait(200)
    V 00:54:34.298 Connecting to D0:35:D0:EA:01:F4...
    D 00:54:34.298 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE)
    D 00:54:39.450 [Callback] Connection state changed with status: 133 and new state: DISCONNECTED (0)
    E 00:54:39.452 Error 133 (0x85): GATT ERROR
    I 00:54:39.452 Disconnected
    D 00:54:41.000 gatt.close()
    D 00:54:41.007 wait(200)
    V 00:54:41.210 Connecting to D0:35:D0:EA:01:F4...
    D 00:54:41.211 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE)
    D 00:54:46.357 [Callback] Connection state changed with status: 133 and new state: DISCONNECTED (0)
    E 00:54:46.357 Error 133 (0x85): GATT ERROR
    I 00:54:46.357 Disconnected
    D 00:55:01.722 gatt.close()
    D 00:55:01.726 wait(200)
    V 00:55:01.929 Connecting to D0:35:D0:EA:01:F4...
    D 00:55:01.930 gatt = device.connectGatt(autoConnect = true, TRANSPORT_LE)
    D 00:55:53.056 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I 00:55:53.056 Connected to D0:35:D0:EA:01:F4
    D 00:55:53.068 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
    V 00:55:53.082 Discovering services...
    D 00:55:53.082 gatt.discoverServices()
    D 00:55:53.508 [Callback] Services discovered with status: 0
    I 00:55:53.508 Services discovered
    V 00:55:53.556 Generic Access (0x1800)
    - Device Name [R W] (0x2A00)
    - Appearance [R] (0x2A01)
    - Peripheral Preferred Connection Parameters [R] (0x2A04)
    - Central Address Resolution [R] (0x2AA6)
    Generic Attribute (0x1801)
    Unknown Service (0000f00a-1212-efde-1523-785fef13d123)
    - Unknown Characteristic [N R W] (0000f00b-1212-efde-1523-785fef13d123)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [N] (0000f00c-1212-efde-1523-785fef13d123)
       Client Characteristic Configuration (0x2902)
    D 00:55:53.556 gatt.setCharacteristicNotification(0000f00b-1212-efde-1523-785fef13d123, true)
    D 00:55:53.560 gatt.setCharacteristicNotification(0000f00c-1212-efde-1523-785fef13d123, true)

  • Hi, 

    Can you upload the sniffer trace so I can have a look at it?

  • Can you reproduce the error? it happens only to me? I think that is general error, you can reproduce it easily. Anyway I send the trace so you can look for something strange. The only I see is the advertissing while the phone is giving the error several times, until finaly it connect with autoconnect=true.

    nrf52 vs samsung s7.pcapng

Related