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

nrf52832 disconnection problem with Android

Hi everyone,

I have a problem with SOME android devices.

In particular Android devices with BLE 4.0 & 4.1, but I have NO problem with Android device with BLE 4.2 and iOS devices.

The problem is: Device is disconnected after about 20/30 sec after connection.
The error reported by Android device is: Error 8 (0x8) GATT CONN TIMEOUT.

A list of Android devices with disconnection problem:

  • Samsung galaxy note 4 (Android v. 6.01, BLE 4.1)
  • Asus ze500cl (Android v 5.0, BLE 4.0)

A list of Android devices with NO problem:

  • redmi note 5 plus (Android v7.1.2, BLE 4.2 con A2DP/LE)
  • redmi mi 6 (Android v8.0.0, BLE 5.0 con A2DP/LE)
  • general mobile gm6 (Android v8.1  BLE 4.1, A2DP)
  • Huawei p9lite (Android v7.0, BLE 4.1 con A2DP/LE)

Android app uses this GAP parametersgpa: Interval: 30 - 50 ms, latency: 0, supervision timeout: 20 sec.

My HW/FW configuration:

  • nrf52832 
  • Softdevice S132 V4.0.2
  • Nordic SDK 13.0

My GAP parameter:

#define MIN_CONN_INTERVAL MSEC_TO_UNITS(15, UNIT_1_25_MS) 
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(75, UNIT_1_25_MS) 
#define SLAVE_LATENCY 0
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(6000, UNIT_10_MS) 

static void gap_params_init(void)
{
uint32_t err_code;
ble_gap_conn_params_t gap_conn_params;

memset(&gap_conn_params, 0, sizeof(gap_conn_params));

gap_conn_params.min_conn_interval = MIN_CONN_INTERVAL;
gap_conn_params.max_conn_interval = MAX_CONN_INTERVAL;
gap_conn_params.slave_latency = SLAVE_LATENCY;
gap_conn_params.conn_sup_timeout = CONN_SUP_TIMEOUT;

err_code = sd_ble_gap_ppcp_set(&gap_conn_params);
APP_ERROR_CHECK(err_code);
}

Many thanks.

Leo

Parents Reply Children
No Data
Related