is nrfutil 6.1.2 incompatible with softdevice version 6?

Hi. I have came into trouble with nrfutil and the provided images.

I have a board that's connected via usb to the computer and I am trying to use the connectivity firmware and nrfutil in order to perform a dfu over ble to another device.

I have flashed connectivity_4.1.4_usb_with_s140_6.1.1.hex from the release page of pc-ble-driver to my device and tried running the following command:

nrfutil-6.1.2.exe dfu ble -ic NRF52  -pkg $pkg

resulting in this error:

Enter your choice: : 3
[------------------------------------] 0%
Traceback (most recent call last):
File "nordicsemi\__main__.py", line 1545, in <module>
File "click\core.py", line 1137, in __call__
File "click\core.py", line 1062, in main
File "click\core.py", line 1668, in invoke
File "click\core.py", line 1668, in invoke
File "click\core.py", line 1404, in invoke
File "click\core.py", line 763, in invoke
File "nordicsemi\__main__.py", line 1205, in ble
File "nordicsemi\dfu\dfu.py", line 127, in dfu_send_images
File "nordicsemi\dfu\dfu.py", line 88, in _dfu_send_image
File "nordicsemi\dfu\dfu_transport_ble.py", line 475, in open
File "nordicsemi\dfu\dfu_transport_ble.py", line 152, in connect
File "pc_ble_driver_py\ble_driver.py", line 106, in wrapper
pc_ble_driver_py.exceptions.NordicSemiException: Failed to ble_gap_scan_start. Error code: NRF_ERROR_SD_RPC_SEND
[9812] Failed to execute script '__main__' due to unhandled exception!

When trying to investigate the issue myself with pc-ble-driver sources the project "ble_connectivity_s140_usb_hci_pca10056" starts executing a little and prints

 <error> ser_conn: Command processing error: "Internal error during command decoding."

"ble_connectivity_s132v5_usb_hci_pca10056" project does work as intended with nrfutil but sadly I am trying to copy the connectivity functionality into my own software.

Any guidance regarding performing nrfutil with softdevice version 6 will be helpful.

Parents Reply
  • Hi

    Is this for use in development or production stages, or will this also be used in the final product?

    While not a perfect solution it is possible to use the USB bootloader to change the firmware in the dongle or kit when you want to do DFU, as explained here. Then you basically need to switch between two sets of connectivity firmware, depending on whether you want to do DFU, or want to use some other application. 

    Alternatively it should be possible to use two dongles as well, and have a dedicated one for DFU using v5 of the connectivity firmware. 

    Best regards
    Torbjørn

Children
Related