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

Unable to find the DFU service while using ble_app_buttonless_dfu example provided in SDK17.

Hi,

I am unable to find the DFU services in example ble_app_buttonless_dfu provided in SDK 17.

Please suggest how to proceed.

Thanks 

Raj

  • Hi Einar,

    Please have a look on RTT Bootloader logs  given below, 

    <info> app: Inside main
    <debug> app: In nrf_bootloader_init
    <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...
    <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
    <debug> nrf_dfu_settings: Using settings page.
    <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    <debug> app: Enter nrf_bootloader_fw_activate
    <info> app: No firmware to activate.
    <debug> app: App is valid
    <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    <debug> app: Running nrf_bootloader_app_start with address: 0x00001000
    <debug> app: Disabling interrupts. NVIC->ICER[0]: 0x0

    The same logs I am getting with NRF mobile app.

  • Hi Raj,

    This shows that the bootloader starts the application, but it does not show anything about the bootloader having entered DFU mode. Does it? Can you share a log of an actual attempt do to DFU update (which is what is not working from what you have written)? The very first thing that has to happen for that is for the bootloader to enter DFU mode instead of starting the application.

  • Hi ,

    But i am getting the same logs when doing OTA using nrf mobile app. Am i missing something ?

  • Hi,

    Does DFU actually work then? If soy, you should see a lot of logging during the DFU procedure. As you can see from the log you uploaded that states that it starts a valid app, and it is clear that no DFU update occurs when you get this log output.

  • hi ,

    I think DFU is happening because name of the Device Changes .

    Also i have more logs of ESP32 where after 1st writeValue() of DFU packet system gets stuck.

    ESP32 Logs :

    18:13:48.599 -> Characteristic: uuid: 8ec90002-f315-4f60-9fb8-838830daea50, handle: 13 0x000d, props: broadcast: 0, read: 0, write_nr: 1, write: 0, notify: 0, indicate: 0, auth: 0Ready to send init Packet
    18:13:48.636 -> Init i = 0[D][FreeRTOS.cpp:189] take(): Semaphore taking: name: WriteCharEvt (0x3ffe11e0), owner: <N/A> for writeValue
    18:13:48.636 -> [D][FreeRTOS.cpp:198] take(): Semaphore taken: name: WriteCharEvt (0x3ffe11e0), owner: writeValue
    18:13:48.668 -> [D][BLEClient.cpp:458] handleGAPEvent(): BLEClient ... handling GAP event!
    18:13:49.013 -> [D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
    18:13:49.013 -> [D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown

    Ty..

Related