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

Slow DFU using nrfutil

Hi,

I am preparing Windows desktop application which will use nrfutil for DFU of the products (containing secure dfu bootloader). I tested nrfutil v6.1.0, v6.0.1 and even very old v3.2.0 and in all cases update takes very long time - 100 kB firmware is updated in more than 10 minutes. If I do it via nRF Connect app on iPhone or Android, it tooks literally tens of seconds. I tried also nRF Connect for Windows and the situation is the same, also about 10 minutes. I tried it on nRF52832 DK, nRF52833 DK and nRF52840 DK, results are the same.

I tried to compile nrfutil from the sources with decreased conn interval in BLEGapConnParams (changed it to 7.5 both min and max) but it also didn't solve the problem.

Any ideas?

Parents Reply
  • Hello,

    OK, it's good to know that it performs better on VMs as well. Thanks for confirming that. I thought maybe it had to be run natively.

    Michal L. said:
    What exactly is bottleneck in Windows? I thought it is just matter of DK running Connectivity firmware and that nrfutil just sends data to the kit via UART. Or am I wrong?

     You are not wrong. I believe the problem with Windows is that the USB commands and responses are sent and received too slow. The required USB bandwidth is not much, but latency is more critical as the interface protocol requires transmissions and reception of many small packets.

Children
No Data
Related