DFU cycle testing

Hi ! 

I have 5 different bootloaders for 5 pieces of hardware that I would like to cycle test OTA DFU with BLE. 
I have some questions

  • Why does nrfutil dfu ble require a COM port? the DFU IOS app does not, seems strange, and also fails because I don't have a COM port connected. 
  • What's the shortest path to script a BLE DFU from either
    • Mac M2
    • RPI 5
    • Windows 10 machine

The COM port thing is holding me up in mac/windows. 
The RPI5 lack of modern python support + non x86_64 is making this seemingly simple task in to a can of worms  

Parents
  • Hello,

    Could you clarify how the devices are connected? Specifically, which device is connected to your PC, and which one is the DFU target? 

    I also recommend sharing the complete log to get a better understanding of the issue. Additionally, please provide details on the command you are executing and the response from the logs.

    Furthermore, please check how the nRF device is detected on your PC. I am using Windows, and when I check my Device Manager, it appears as shown below:



    Please share this details as well.

    Kind Regards,

    Abhijith

  • I got a little farther with a windows 10 PC and the UART firmware instead of USB HCI

    ble_connectivity_s140_uart_pca10056.hex  - The JLink port enumerates as COM4, single com port. 

    On my device to DFU, I can see it advertise 'devicename' on nrfConnect, and I can connect to it and run a full DFU from NRF DFU app. 

    When I try with nrfutil - 


    & 'C:\Users\mike\Downloads\nrfutil.exe' dfu ble -pkg C:\Users\mike\Downloads\dfu.zip -ic NRF52 -p COM4 -n devicename -f
    Board already flashed with connectivity firmware.
    [------------------------------------] 0%
    Traceback (most recent call last):
    File "nordicsemi\__main__.py", line 1555, 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 1215, 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 474, in open
    File "nordicsemi\dfu\dfu_transport_ble.py", line 103, in open
    File "pc_ble_driver_py\ble_driver.py", line 106, in wrapper
    pc_ble_driver_py.exceptions.NordicSemiException: Failed to open. Error code: NRF_ERROR_TIMEOUT
    [6552] Failed to execute script '__main__' due to unhandled exception!

  • I got it working with the UART firmware on windows in power shell. 

Reply Children
No Data
Related