toggle quoted messageShow quoted text
I’m afraid I’m not in the position to make any statements about OpenThread integration roadmap at this point.
Benjamin Lindqvist [mailto:benjamin.lindqvist@...]
Friday, September 6, 2019 08:46
Arun Kumar <arun.ece.nitp@...>
Lubos, Robert <Robert.Lubos@...>; devel@...
Re: [Zephyr-devel] OpenThread development guide
The NCP should probably not be high in the list of priorities - I doubt it makes a huge difference for the infrastructure that the NCP was compiled from some Nordic SDK or whatever.
This is just the opinion from a Thread non-expert but what I feel should be prioritized is making sure there's plenty of clean samples and good documentation. It would be nice with an actual Zephyr control interface as well, possibly utilizing
the IFUP/IFDOWN signaling mechanisms, options for delaying Thread initialization until credentials are added and of course an API for altering the credentials.
Do we have clear road map for openthread integration in zephyr (I mean integration of NCP like things we are lacking so far) ?
Sorry for late reply, I’ve just came back from holiday. See my responses inline.
On Behalf Of Benjamin Lindqvist via
Sent: Tuesday, August 27, 2019 13:31
Subject: [Zephyr-devel] OpenThread development guide
I've verified basic OT functionality using the echo_client/server samples with the openthread overlays. That's nice, but it's not obvious to me how I proceed after this. A few things
that had me confused:
- how do I configure my Zephyr device as a sleepy end device?
It is not possible to configure Sleepy End Device on current master, there is a PR that adds this functionality though (https://github.com/zephyrproject-rtos/zephyr/pull/15552).
It’s been open for some time now, feel free to comment in there if it’s a desired feature for you.
- can I setup my west.yml to clone openthread + dependencies as a module to prevent cmake from doing it at build every time?
This has already been done recently, make sure to check out the current master. West will now download OpenThread for you as a Zephyr module, and use
it during OT samples builds.
- can I modify the network credentials at run-time? Or in other words, does Zephyr support anything but hardcoded OT commissioning?
Zephyr supports two ways of obtaining network credentials (commissioning):
Use a preconfigured, hardcoded defaults, specified by Kconfig (good for samples, not really for real applications),
Or perform a commissioning procedure defined by Thread specification during startup (see CONFIG_OPENTHREAD_JOINER_AUTOSTART option).
Both methods will configure your device during initial startup, and store network parameters in the flash. If, for whatever reason, you’d want to modify
the network credentials afterwards, you’d need to call OpenThread API directly, there’s no support in Zephyr for that. See
for available API functions. Just note, that in order to use OT API directly, you’d need to obtain OT context first from the OT network interface.
- can I build NCP firmware for a border router using Zephyr?
No, Zephyr cannot be configured as a NCP. For a NCP application, check the OpenThread repository.
etc. Right now I get the impression that the openthread integration is in a sort of proof-of-concept stage. Is this the case? If not, it would be nice with some more documentation,
perhaps even a sample app...
Well, for sure I’d not call it a proof-of-concept at this point, yet indeed there’s still work to do. Lack of time/resources to push it forward is the
only answer I can provide for now.