This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Not able to enter DFU mode of nRF52840 Fanstel dongle after upgraded the bootloader compiled from secure_bootloader example

I had to upgrade SoftDevice and application firmware from v6.1.1 to v7.2.0 in order to have BLE_GATTC_OPT_UUID_DISC option available.

It turned out that Bootloader needs to be updated as well.

That's why I have generated the public/private key-pair using NrfUtil and replaced dfu_public_key.c in nRF5_SDK_17.1.0_ddde560\examples\dfu. Then I've successfully compiled nRF5_SDK_17.1.0_ddde560\examples\dfu\secure_bootloader\pca10056_usb and the bootloader hex file has been generated: nRF5_SDK_17.1.0_ddde560\examples\dfu\secure_bootloader\pca10056_usb\armgcc\_build\nrf52840_xxaa.hex.

According to Nordic Semiconductor Infocenter I've created the upgrade zip package containing bootloader which was signed by the previous private key, not the new one generated above:

nrfutil pkg generate --hw-version 52 --sd-req 0xb6 --bootloader-version 2 --bootloader nrf52840_xxaa.hex --key-file private.pem bl.zip

Then I've successfully loaded it to the dongle by: 

NrfUtil.exe dfu usb-serial -pkg bl.zip -p COM5
[####################################] 100%
Device programmed.

After that, the dongle never starts DFU mode while pressing the button during plugging it into USB port.

Is there is a way to let dongle to enter DFU mode again?

What is the correct way to upgrade SoftDevice and Bootloader from v6.1.1 to v7.2.0?

Thank you in advance!

Yuriy

Parents
  • Hi, 

    Is there is a way to let dongle to enter DFU mode again?

    Press the reset button to put the Dongle in DFU mode. This is not needed if the currently running application uses the DFU trigger library. Note that the reset button is the sideways button right next to the more obvious SW1 button on the Dongle:

    What is the correct way to upgrade SoftDevice and Bootloader from v6.1.1 to v7.2.0?

    nrfutil pkg generate --hw-version 52 --sd-req 0xb6 --bootloader-version 2 --bootloader nrf52840_xxaa.hex --key-file private.pem bl.zip

    This command doesn't include the new SD image and --sd-id for the new SD ID. 

    See DFU package combinations:

    However, the two SDs may have different IDs. The first update requires --sd-req to be set to the ID of the old SD. The APP update requires the ID of the new SD. The new ID must be set using --sd-id parameter. This parameter was added in nRF Util v3.1.0 and is required since v3.2.0 in case the package should contain SD (+ BL) + APP. Also, the new ID is copied to --sd-req list so that in case of a link loss during the APP update the DFU process can be restarted. In this case, the new SD would overwrite itself, so --sd-req must contain the ID of the new SD.

    Regards,
    Amanda

  • Thank you Amanda!

    The dongle is closed into plastic box and there is only one button on its side that has been used to put the dongle into DFU mode. Unfortunately it does not work now. Is it Reset or SW1 button?

  • Amanda,

    Yes, it is that dongle.

    I've tried to upgrade bootloader (see issue description) compiled from secure_bootloader of nRF5 SDK (nRF5_SDK_17.1.0_ddde560\examples\dfu\secure_bootloader\pca10056_usb). The button stopped working after that and the dongle never enters DFU mode. 

  • Hi, 

    You should use pca10059 for Dongle. Try the open_bootloader under nRF5_SDK\examples\dfu. 

    -Amanda

  • I see, thanks for the information. I just need to program the dongle, but Reset button stopped working :( Is there any other way how to reset the dongle?

  • The subject of this case says it's about a Fanstel 52840 dongle, not the Nordic dev-dongle.

  • Seems my suggestions could not help the Fanstel 52840 dongle. Because it's Fanstel's product, you need to go to Fanstel for help/support with their product.

    -Amanda

Reply Children
No Data
Related