old nrfutil can't be installed with new python, new nrfutil not suitable replacement

I have an i.MX8 arm linux system running an OS based on yocto, with an nrf52840 connected over USB.  The linux system receives nrf52840 firmware as part of its OTA, and updates the nrf over USB using the old python nrfutil dfu usb-serial commands.

Newer yocto versions are using python 3.11 which is incompatible with the old nrfutil.  But I can't include the new nrfutil for a few reasons:

1) I can't find any information about the licensing of the new nrfutil?

2) I can't find any source and there does not seem to be an arm64 binary.

3) The weird way the nrfutil installs binaries into the users home directory makes it difficult to integrate into a system image.  I need a `nrfutil install --global --arm64` option that would put binaries into $SYSROOT/usr/bin/ at build time.

Is there an alternative utility to nrfutil that can be used on an arm64 system to perform dfu over USB?

Thanks,

Aaron

Parents Reply Children
  • Hi,

    The DFU solution for the nRF Connect SDK is based on Simple Management Protocol (SMP) and demonstrated by this sample, and you can use use mcumgr as a command line tool for performing DFU from a computer.

    If the task at hand is to make DFU over USB work on an existing product, I expect it would make more sense to work on a solution on the Linux side to find a solution instaed or re-writing the firmware entierly. But for any new products, I would certainly recommmend the nRF Connect SDK.

    PS: We are working on supporting Linux arm64 for nrfutil device.

Related