DFU becomes significantly slower on Android 15

When performing DFU with the same Android device + nRF Connect on the same target device, the speed becomes significantly slower on Android 15.

The attached image captures the graph of DFU performed on the same device using Pixel 6a + Android 14 or 15, and the transfer speed is clearly different.

The device in use is an nRF52840. However, we have confirmed that the DFU speed decreases on other devices as well.
Both tests used nRF Connect version 4.28.1.

Is it possible to improve the speed by changing the settings in nRF Connect or the usage of the DFU library?

Parents Reply
  • Hi,

    I don't see any commands sent from the phone to put the device into DFU mode from the traces you posted. It's seems like the connection just times out. Are you using the Buttonless DFU service to initiate DFU over BLE, or do you use another method to enter DFU mode?

    A possible explanation for the slower DFU on Android 15 could be that it is selecting a longer connection interval. But it is hard to confirm without a sniffer trace that shows the DFU transfer. 

    If you had a bootloader with logging enabled, you could also monitor the BLE_GAP_EVT_CONN_PARAM_UPDATE event in nrf_dfu_ble.c

    EDIT: could you try changing NRF_DFU_BLE_MIN_CONN_INTERVAL and NRF_DFU_BLE_MAX_CONN_INTERVAL to '24' in your bootloader's sdk_config.h in case the Android phone is rejected the request for 15 ms?

Children
Related