Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

OTA DFU cant find bootloader

nRF5 SDK SD140

Using the nRF Connect Android app with the DFU utility, looking at the log I send the Enter Bootloader request and get a thumbs up back (op code = 1, status = 1), then the following occur:

[DFU] gatt.refresh()
[DFU] gatt.dsconnect()
[DFU] gatt.close()
[DFU] Sanning for the DFU Bootloader... (timeout 5000ms)
[Callback] Connection state changed with status: 8 and new state: DESCONNECTED (0)

So presumably it's not finding the DFU bootloader. Is this referring to something on the board or something in the DFU package?

Parents
  • Hi,

    1) What SDK version?

    2) Are you using the ble_app_buttonless_dfu example?

    3) Any log output? Either RTT or UART backend

    4) DK or custom board?

    5) If it's a custom board, do you have a LF crystal on your board?

    6) What nRF52 device?

    7) Have you done any changes to the bootloader?

  • 1) SDK 17.1.0
    2) I am using my own customized ble_app_uart and adding on buttonless DFU capability from the provided examples.
    3) I get RTT output until "<info> app: Device is preparing to enter bootloader mode" then it cuts off after and is stuck
    4) Custom board using nRF52840
    5) (This might be an issue) On the application I have the LF source set to RC, but on the bootloader I had it set to XTAL.
    6) nRF52840
    7) I tried changing the WDT timout_ticks in nrf_bootloader_wdt_feed_timer_start to 60000 given other threads on DevZone to no avail. I also changed the contents of the public key.

  • Hi,

    Could you try the debug variant of the bootloader project, and see if you can get any log output from the bootloader?

    The project is in this folder:

    sdk_folder\examples\dfu\secure_bootloader\pca10056_s140_ble_debug

  • I swapped to that bootloader project This is the RTT output I get but it just loops this and I still get the disconnect after the gatt.discoverServices()

    00> <info> app: Device is preparing to enter bootloader mode.
    00>
    00> <info> app: Disconnected 1 links.
    00>
    00> <info> app: In ble_dfu_buttonless_bootloader_start_finalize
    00>
    00> <info> app: Device will enter bootloader mode.
    00>
    00> <info> app: Power management wants to reset to DFU mode.
    00>
    00> <info> app: Power management allowed to reset to DFU mode.
    00>
    00> <info> app: Setting vector table to bootloader: 0x000F8000
    00>
    00> <info> app: Setting vector table to main app: 0x00027000
    00>
    00> <info> app: Buttonless DFU Application started.
    00>
    00> <info> app: But this time improved!

  • Hi,

    1) After you in nRF Connect mobile app, request it to go into bootloader mode, do you see the bootloader advertise? or do you still see the regular application still advertising?

    2) The log you provided is from the app, right? Do you have log from the bootloader project as well?

    3) Could you post the nRF Connect mobile app log?

  • I might be confused on an earlier step in this process. Am I still flashing the hex that  contains the sd, bootloader, and buttonless dfu hex files? Or should i be flashing ONLY the secure_bootloader_debug hex?

    Yes that log in particular is from the app via rtt output, the other logs I was providing were from the nrf connect app

  • JGusler said:
    I might be confused on an earlier step in this process. Am I still flashing the hex that  contains the sd, bootloader, and buttonless dfu hex files? Or should i be flashing ONLY the secure_bootloader_debug hex?

    Try sd + secure_bootloader_debug + buttonless app

    JGusler said:
    I get but it just loops

    Looks like it's not entering / staying in bootloader mode then.

    JGusler said:
    and I get the exact same result with one small exception, this time the DFU bootloader IS found

    But it still disconnects? Did you update the clock settings in the bootloader project?

    Can you try to start a debug session in the debug-bootloader project?

Reply
  • JGusler said:
    I might be confused on an earlier step in this process. Am I still flashing the hex that  contains the sd, bootloader, and buttonless dfu hex files? Or should i be flashing ONLY the secure_bootloader_debug hex?

    Try sd + secure_bootloader_debug + buttonless app

    JGusler said:
    I get but it just loops

    Looks like it's not entering / staying in bootloader mode then.

    JGusler said:
    and I get the exact same result with one small exception, this time the DFU bootloader IS found

    But it still disconnects? Did you update the clock settings in the bootloader project?

    Can you try to start a debug session in the debug-bootloader project?

Children
No Data
Related