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

Secure DFU Bootloader BLE not working with nRF Connect PC

What could be the reasons that cause DFU Bootloader BLE not working with nRF Connect on PC (while it works with nRF Connect on iOS)? I have had various problem with nRF Connect on PC so far:

1/ With my custom board: I modified the custom_board.h and create a new bootloader for my custom board. I can find the board on nRF Connect scanner, connect to it, but can't load new zip file through the DFU service. I attached the screenshot, the nRF Connect log file and the log file from my custom board (nRF52382) for more information.

 nrfConnect_bootloader_log.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
00> <info> app: Inside main
00> <debug> app: In nrf_bootloader_init
00> <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...
00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
00> <debug> nrf_dfu_settings: Resetting bootloader settings.
00> <debug> nrf_dfu_settings: Writing settings...
00> <debug> nrf_dfu_settings: Erasing old settings at: 0x0007F000
00> <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0007F000, len=1 pages), queue usage: 0
00> <debug> nrf_dfu_flash: Flash erase success: addr=0x0007F000, pending 0
00> <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007F000, src=0x200092A4, len=440 bytes), queue usage: 1
00> <debug> nrf_dfu_flash: Flash write success: addr=0x0007F000, pending 0
00> <debug> app: Enter nrf_bootloader_fw_activate
00> <info> app: No firmwareto activate.
00> <debug> app: Enter nrf_dfu_app_is_valid
00> <debug> app: Return false in valid app check
00> <debug> app: DFU mode because app is not valid.
00> <info> nrf_bootloader_wdt: WDT is not enabled
00> <debug> app: in weak nrf_dfu_init_user
00> <info> app_timer: RTC: initialized.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

2/ With my nRF52 development board (PCA 10040): For this board, I tried both the bootloaders from SDK15.0.0\examples\dfu\secure_bootloader\pca10040_ble and pca10040_ble_debug. In both case the nRF Connect on PC does not see the board on the scanner. There is no "DFU Targ" device. I had this problem with my custom board before, and fixed it by changing the LF Clock  setting in sdk_config.h but with PCA10040 I have tried different combinations settings but it still didn't work.

Note that the bootloaders work okay on both boards when I used nRF Connect on iOS. I use softdevice s132v6.0.0 and sdk15.0.0.