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

The demo example of DFU not working with nRF52(PCA10040) DK, SD132v7.0.1, SDK 16.0.0

Hello Nordic Community!

I have seen previous posts mentioning that the DFU example was not working with SDK 15.3 (Getting started blog). But in my case I was able to see the device name as DFUtarget on both the phone and PC-BLE devices. Although previous posts mentioned that the PC-BLE had issues with Linux, the Phone-nRF52 combination did not work in my case either.

The smartphone is able to CONNECT to the DFUtarget, but the DFU fails. After few seconds the DFU disconnects (unsuccessful DFU operation) without any error message.DFU Failure 

I was able to capture the errors using PC-BLE device shown on the right side of the screen.

The steps that I followed are as follows -

1. Generate the private-public key using nrfutil version=5.2.0

2. Compile the micro-ecc using gnu make and I have used SEGGER to build (successful)

3. Tested an app without bootloader to verify the working (ble_app_uart) with SoftDevice v7.0.1 (0xCB) on nRF52 DK.

4. Flashed the SoftDevice and bootloader (successful) Memory Map after flashingas seen on the image from nRF Connect.

5. DFUTarget is visible on scanning and I am able to connect, but the flashing is unsuccessful with the app_build.zip

I have also tried following the instructions from this PDF

Can you please let me know what I could be possibly doing wrong?

PS: I am working on Linux machine (Ubuntu 16.04)

Parents
  • Hi Navin, 


    If the debug version work and the release version doesn't it could be that the version checking of the DFU image was failed. 


    Could you please post how you created the DFU .zip image ? Please also state the softdevice version you flashed on board. If you are using SDK v15.3 the softdevice you should use is S132 v6.1.1 not v7.0.1 . And you would need to match the correct softdevice version in the --sd-req when you create the image. 

    Note that you can see the log when doing DFU by swiping right, or by installing our nRFLog app. 

  • Hi Hung Bui,

    When I used SDK  15.3, I have used the SoftDevice version 6.1.1. Since it didn't work, now I tried with SDK 16.0, which did not work either for non-debug version.                                                                                                

    nrfutil pkg generate --application ble_app_uart_pca10040_s132.hex --application-version-string "1.0.0" --hw-version 52 --sd-req 0xCB --key-file private.key app_v1.zip

    Everything works fine until the last part where I update the firmware of the DfuTarg. I will also check the log as you have suggested.

    Please let me know if something else has to be done.

    Thank you!

  • Could you try not to use --application-version-string and use --application-version instead ? 

    Could you check the log on the phone to see what's the error ?

  • Sure, I will give it a try.

    Also, currently I am trying with the debug version of dfu example for SDK 15.3-SoftDevice_6.1.1 as this is the actual target device. I will update you if the debug version works. After which, I will try the non-debug version to see if it causes problems.

    That way, I can be sure that debug version works and see if the non-debug version has a problem.

Reply
  • Sure, I will give it a try.

    Also, currently I am trying with the debug version of dfu example for SDK 15.3-SoftDevice_6.1.1 as this is the actual target device. I will update you if the debug version works. After which, I will try the non-debug version to see if it causes problems.

    That way, I can be sure that debug version works and see if the non-debug version has a problem.

Children
No Data
Related