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

MCP - Failed to find DFU service

I have recently updated my DFU code to use the source files in SDK 6.1 to be able to OTA upgrade the SoftDevice and Bootloader. I've been able to get the Application to reliably update via the Android MCP App and rRF Tools. However when I try to update the SoftDevice or Bootloader, the connection is dropped immediately. I recently tried to use the PC Master Control Panel, but this fails even when trying to update the Application. Using the PC Master Control Panel, in all three cases (update App, bootloader or SD) an error is thrown "Failed to find DFU Service". Thought maybe this might provide some insight into why the Bootloader and SoftDevice updates fail when using the Android MCP App. When this failure occurs, I have to power cycle the board to recover the bootloader.

P.S. My source code is a slightly modified version of the device_firmware_updates ble version. I use the contents of the GPREGRET to verify that DFU should occur (set by application, the restarted)

Parents
  • Hi

    Have you tried to debug your bootloader? This thread gives a guide on how you can debug the bootloader.

    The bootloader in nRF51 SDK v6.1.0 includes check for GPREGRET register to check if the application has requested bootloader mode, so if you need that feature, you can use the bootloader in SDK v6.1.0 unmodified.

    There is currently one example in SDK 6.1.0 that includes the DFU service, the ble_app_hrs_dfu, where you can enable DFU mode from a connected central device (until SDK 6.1.0, DFU mode has been enabled by a button press on the nRF51 devcice). A guide on how to include the DFU service in your BLE application is given here.

    Update 10.11.2014 Make sure you use softdevice S110 v7.0.0.
    Use the latest version of nRFTools, for either IOS or Android, for uploading a new application.
    For further investigation, a guide on how to enable debugging for the bootloader is on this thread

  • Do I have to update the start-up file? I noted that the GitHub GCC project and the ble bootloader project in SDK v6.1 differ. I used the one from the SDK folder, however I didn't do anything to the linker or makefiles to reference the start-up file inside the project. Could this be the issue?

    Current Status: "No Source available for 0x0" however again if I flash the SD and bootloader in nRF Studio, the application can upload without any issue, but attempting the Bootloader or SoftDevice update I get an immediate disconnect with a "REMOTE DFU Note Supported (3)"

    Thanks for your assistance.

Reply
  • Do I have to update the start-up file? I noted that the GitHub GCC project and the ble bootloader project in SDK v6.1 differ. I used the one from the SDK folder, however I didn't do anything to the linker or makefiles to reference the start-up file inside the project. Could this be the issue?

    Current Status: "No Source available for 0x0" however again if I flash the SD and bootloader in nRF Studio, the application can upload without any issue, but attempting the Bootloader or SoftDevice update I get an immediate disconnect with a "REMOTE DFU Note Supported (3)"

    Thanks for your assistance.

Children
No Data
Related