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

BLE DFU NCS 1.3.0

Hi,

I have a problem with DFU upgrade over BLE on nRF52840dk. For some reason,the upload speed is quite slow ~0.4kB/s. For this test,I used SMP server app and did the compilation with the and:

west build -b nrf52840dk_nrf52840 -- -DOVERLAY_CONFIG=overlay-bt.conf

And to upgrade the firmware I used hello_world app with additional line in prj.conf (CONFIG_BOOTLOADER_MCUBOOT=y) to enable the bootloader. The upload was done over nRF Connect application (4.42.2) on Android phone with file hello_world/build/zephyr/app_update.bin

When I was using NCS 1.2.0 I got speeds up to 1.2kB/s as I remember, what is the problem with this release?

Best regards,
Vojislav

  • Hi Vojislav,

    I have problems reproducing this. I get 0.9 kB/s using the SMP server app from NCS1.3 and testing with an old Nexus 6, and almost twice that when testing with an iPhone 11. I was not able to test with a Huawei P20, though. The mcumgr\smp_svr app has been refactored between NCS 1.2 and 1.3, but I do not see any explanation there for why you see a change in transfer speed.

    Einar

  • Hi Einar,

    Thanks, I will test this again with two different phones, and get back to you with results. 

    Vojislav.

  • Still have a problem, and my test setup is:
    * I have NCS v1.3.0
    * zephyr is on bbd71e23a2 commit
    * I build ncs/zephyr/samples/subsys/mgmt/mcumgr/smp_svr application with command: west build -b nrf52840dk_nrf52840 -- -DOVERLAY_CONFIG=overlay-bt.conf
    * After flashing with west flash the device is visible on nRF Connect mobile app (version 4.24.3)
    * To test this I build the application ncs/zephyr/samples/hello_world with additional config CONFIG_BOOTLOADER_MCUBOOT=y in prj.conf.
    * I send the app_update.bin file to my mobile device and do the DFU routine with Test and Confirm setting. 

    After this DFU starts with 0.9 kB/s and then drops to 0.4 kB/s fast. You can see the graph in the picture. 


    The only thing that has changed from the previous testing is the mobile app version. Please check my routine and send me bin files for smp_svr application and your preferred DFU application so I can try it with my dev board and mobile device. If I still have a problem with speed then I suppose it is a mobile device problem. 

  • Hi,

    I understand. I did the same test as you, using NCS 1.3.0 (which includes zephyr on bbd71e23a2), using the SMP server app. As mentioned I get significantly different speeds with different centrals, but I have not got as low as 0.4 kB/s.

    I first programmed MCUboot (mcuboot.hex) and the SMP server (smp_svr_signed.hex), and then uploaded hello world (app_update.bin) using the same nRF Connect for Android as you, version 4.24.3.

    Have you had a chance to test with other phones?

  • Hi Einar,

    I found a new mobile device to test DFU with, and now I can tell you, that was the root of my problems. Now when doing DFU I get up to 2 kB/s which is great. It also works great in my application where I implemented the smp server.
    The phone I tried it with is Mi Note 7 with the latest nRF Connect application, and for some reason, it did not work well on Huawei P20 with the latest nRF Connect application.



    Thank you for all the help!

    Best regards,
    Vojislav.

Related