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  

  • So I took my pca10056 dev kit and flashed connectivity firmware on there. 
    Then I got the dreaded No ping response after opening COM port. 
    usbmodemFE813A68F73E1 is the native USB port of the pca10056. 

    % nrfutil dfu ble -pkg V28.zip -ic NRF52 -p /dev/tty.usbmodemFE813A68F73E1  -n "devicename" -f    

    Flashing connectivity firmware...

    2025-02-10 07:48:42,602 No trigger interface found for device with serial number: FE813A68F73E, Product ID: 0x521B and Vendor ID: 0x1915

    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 1200, in ble

      File "nordicsemi/dfu/dfu.py", line 119, in dfu_send_images

      File "nordicsemi/dfu/dfu.py", line 88, in _dfu_send_image

      File "nordicsemi/dfu/dfu_transport_serial.py", line 214, in open

    pc_ble_driver_py.exceptions.NordicSemiException: No ping response after opening COM port

    [14696] Failed to execute script '__main__' due to unhandled exception!

  • Hello,

    Please note that the link you are referring to is based on an old version of the nRF Util tool (< v7.0.0), which is no longer compatible with newer versions. What version of nRF Util are you working with? (I should have asked this before.) I am using version 7.12.0, and the documentation I referenced also applies to newer versions.

    When you check the dfu ble command, you will see that it requires a second nRF device connected to the PC, which acts as the BLE adapter.

    Kind Regards,

    Abhijith

  • I did figure out I need to use an nrf52 dongle. I'm on a pca10056 with connectivity firmware, plugged into the nrf USB port. Looks like we're running the same version.

    mike@slavebox armgcc % nrfutil --version

    nrfutil 7.12.0 (39003c9 2024-06-10)

    commit-hash: 39003c9d0e5d946af0f417cfadf4ac55a6d03c19

    commit-date: 2024-06-10

    host: aarch64-apple-darwin

    build-timestamp: 2024-06-10T15:50:53.137997000Z

    classification: nrf-external

  • Hello,

    ms360 said:
    I did figure out I need to use an nrf52 dongle. I'm on a pca10056 with connectivity firmware, plugged into the nrf USB port

    Does that mean your confusion is over, or are you still confused or facing issues related to the main query? Please let me know if you are still struggling, and I can assist you further.

    Kind regards,
    Abhijith

Related