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

Anyone do successfully DFU OTA from Linux ?

I'm tring to build a FOTA broadcaster machine using a raspberry-pi with bluez. or any other Linux small linux embedded system.

The idea is that after testing the board with an already pre-programmed firmware. it get the final production firmware from OTA.

I'm asking if someone has already played with DFU using linux ?

Parents
  • Hi,


    For anyone landing here from a search: yes, this works well on Linux today.

    We needed the same thing — flashing boards from a Linux bench at the end of
    test — so we built a small CLI for it in Go:

    github.com/.../ed-nrfdfu

    It talks to BlueZ over D-Bus and runs Nordic Secure DFU over BLE straight
    from the terminal, no phone and no GUI, so it drops into a production
    script. It's a single static binary and we publish linux/arm64 builds, so
    it runs on a Raspberry Pi with nothing to install.

        go install github.com/E-DEVICE/ed-nrfdfu@latest
        ed-nrfdfu --mac "AA:BB:CC:DD:EE:FF" --dfuPath firmware.zip

    One prerequisite worth stating: it expects the device to already be
    advertising in DFU/bootloader mode. It does not trigger the buttonless
    transition from your application firmware. But this features could be added quickly.

    The license is Apache 2.0 so do what ever you feel with this repo.


    It's a developer aid rather than a certified production
    component. Linux/BlueZ is what we use daily; the macOS and Windows backends
    are implemented but not yet tested against real hardware.

Reply
  • Hi,


    For anyone landing here from a search: yes, this works well on Linux today.

    We needed the same thing — flashing boards from a Linux bench at the end of
    test — so we built a small CLI for it in Go:

    github.com/.../ed-nrfdfu

    It talks to BlueZ over D-Bus and runs Nordic Secure DFU over BLE straight
    from the terminal, no phone and no GUI, so it drops into a production
    script. It's a single static binary and we publish linux/arm64 builds, so
    it runs on a Raspberry Pi with nothing to install.

        go install github.com/E-DEVICE/ed-nrfdfu@latest
        ed-nrfdfu --mac "AA:BB:CC:DD:EE:FF" --dfuPath firmware.zip

    One prerequisite worth stating: it expects the device to already be
    advertising in DFU/bootloader mode. It does not trigger the buttonless
    transition from your application firmware. But this features could be added quickly.

    The license is Apache 2.0 so do what ever you feel with this repo.


    It's a developer aid rather than a certified production
    component. Linux/BlueZ is what we use daily; the macOS and Windows backends
    are implemented but not yet tested against real hardware.

Children
No Data
Related