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