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

DFU Library Error in Android but Not iOS --- Error 8 (0x8) GATT CONN TIMEOUT

This is not a duplicate of:

devzone.nordicsemi.com/.../

devzone.nordicsemi.com/.../

devzone.nordicsemi.com/.../

I have tried to implement the accepted answers from these posts, but they did not work. Increasing the Max CI to 60, 100, or 500 do not work, nor does reducing the Android Packet Receipts Notification Procedure Number of Packets from 10 to 1, nor a combination of those two.

...

MCU: nRF52832

SoftDevice: SD132 v3.1.0

Phones: Samsung Galaxy S7 Edge on Android 7.0, Nexus 5 on Android 6.1, XiaoMi Mi A1 on Android 8.0

Nordic SDK: 12.2 with Secure Buttonless DFU

...

A) DFU with nRF Toolbox on iOS is good.

B) DFU with nRF Toolbox or nRF Connect on all tested Androids fail with "Error 8 (0x8) GATT CONN TIMEOUT"

The Android DFU Library successfully writes to the DFU Control Point, which writes to Bootloader Settings in Flash, resets the main application, and then the MCU launches the Bootloader in DFU Mode. Everything is the same between iOS and Android DFU until this point in the firmware logs:

Firmware Log from Successful iOS DFU

nrf_ble_dfu.c BLE_GAP_EVT_CONNECTED Max CI = 24 Min CI = 24 Slave Latency = 0 Conn Sup TO = 72

nrf_ble_dfu.c BLE_GATTS_EVT_EXCHANGE_MTU_REQUEST

nrf_ble_dfu.c BLE_GATTS_EVT_WRITE

nrf_ble_dfu.c BLE_GATTS_EVT_WRITE

nrf_ble_dfu.c BLE_EVT_RW_AUTHORIZE_REQUEST

... after this it continues the DFU procedure

Firmware Log from Failed Android DFU

nrf_ble_dfu.c BLE_GAP_EVT_CONNECTED Max CI = 39 Min CI = 39 Slave Latency = 0 Conn Sup TO = 2000

... after this it disconnects with Error 8 (0x8) GATT CONN TIMEOUT

Android App Logs

DfuBaseService: Action received: android.bluetooth.device.action.ACL_CONNECTED

DfuBaseService: Attempting to start service discovery... succeed

DfuBaseService: Target device disconnected with status: 8

DfuBaseService: Device got disconnected before service discovery finished

...

Any ideas for how to fix?

Related