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

Parents
  • Hi,

    I have not found an explanation for the difference in speed. Did you use the same Android phone and the same connection parameters in both tests?

    Regarding the nRF Connect for Dekstop screenshot that does not show the DFU icon as it does not support NCS DFU yet (unlike nRF Connect for Android and iOS).

  • Hi, 

    I have not found an explanation for the difference in speed. Did you use the same Android phone and the same connection parameters in both tests?

    I have used the same phone for both tests and I have not changed any parameters. The demo with NCS1.2.0 I tested a while ago, and demo with NCS1.3.0 I tested before writing this issue. Thing that changed is that now I am using nRF52840 instead of nrf52832 and I updated my nRF Connect application to the latest version. My testing phone is Huawei P20 (Android 10), it that matters. 

    Regarding the nRF Connect for Dekstop screenshot that does not show the DFU icon as it does not support NCS DFU yet (unlike nRF Connect for Android and iOS).

     Oh, I did not know that then I can use mcumgr to upload the firmware upgrade over BLE from a computer. 


    What is the speed I should expect to get? Do you have any suggestions on what to change to make things better?

    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

Reply
  • 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

Children
  • 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