DFU with otbr-agent docker container - reg.

54 views
Skip to first unread message

Vijay Baskar

unread,
Nov 5, 2021, 12:57:44 PM11/5/21
to openthread-users
Hello everyone,

Can someone please help me with the documentation on how to use the DFU server built into the Docker-based OTBR? Per Rob's comment, the OTBR docker image can manager and serve firmware images using Unicast Nordic DFU over Thread for multiple device types! I wanted to use this solution with my RCP Nordic dev kit connected to the OTBR agent.



Kind regards,
Vijay

Jonathan Hui

unread,
Nov 5, 2021, 9:13:34 PM11/5/21
to Vijay Baskar, Rob Crouthamel, openthread-users
The OpenThread project does not provide a DFU solution. However, +Rob Crouthamel may be able to provide more insight into what he did.

--
Jonathan Hui



--
You received this message because you are subscribed to the Google Groups "openthread-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openthread-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openthread-users/18fafc50-1ff3-4bb8-bfab-24ba85f18839n%40googlegroups.com.

Vijay Baskar

unread,
Nov 8, 2021, 10:31:44 PM11/8/21
to openthread-users

Can you please provide any direction here?

Vijay Baskar

unread,
Nov 9, 2021, 4:44:01 PM11/9/21
to openthread-users
Hi Jonathan,

I was looking at the nrfutil's dfu capability. The Python based tool seems to have a CoAP server, and I see it is built for the NCP node. Do you know of any implementation that would work with the RCP node attached to the border router?

Kind regards,
Vijay

On Friday, 5 November 2021 at 21:13:34 UTC-4 Jonathan Hui wrote:

Jonathan Hui

unread,
Nov 9, 2021, 5:03:53 PM11/9/21
to Vijay Baskar, openthread-users
I'm not familiar with Nordic's DFU over Thread solution. I suggest posting in Nordic DevZone.

--
Jonathan Hui



r...@farmjenny.com

unread,
Nov 9, 2021, 7:57:43 PM11/9/21
to openthread-users
Hi Vijay,

Sorry for the delay.  Yes, we (Farm Jenny LLC) use DFU over thread using router and end device firmware built on the nRF5 SDK and a Californium CoAP server running in a docker container on our custom Border Router.

On the server side, we implemented a target configuration and versioning system, with only modest changes from the great work done by https://github.com/Zenatix-Tech/coap-dfu-server.  You can see a version of our DFU server here:  https://github.com/farmjenny/coap-dfu-server/tree/thread_dfu_server.

The embedded side was much more involved.  Nordic's DFU over Thread examples (from the nrf5 SDK) use their own CoAP implementation as they require features not implemented in OpenThread CoAP (like block-wise transfers).  We used the CoAP from Nordic's deprecated IOT sdk.  We chose to migrate all application-layer CoAP to this Nordic CoAP.  Lots of work with Wireshark, lost of changes to the example DFU application code, some changes to the secure bootloader.  There is also some logic needed to locate your DFU server and resolve its address so you can properly target it with unicast.

So, in summary, it can be done.  I did it on the nrf5 SDK -- I'm sure it can be done with nRF Connect/Zephyr too, maybe with a mainstream CoAP library.  Pretty big project ... too big to detail here.  Please reach out directly or through our web site if you're interested in more significant support of a commercial project.

Best regards,
Rob Crouthamel
Farm Jenny LLC

Vijay Baskar

unread,
Nov 11, 2021, 6:08:57 PM11/11/21
to openthread-users
Hi Rob,

Thank you for the response! I'll process this information and get back to you shortly.

Kind regards,
Vijay
Reply all
Reply to author
Forward
0 new messages