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

External commissioner with nRF52840 and RaspPi 3

Hi I spent a few days on trying to setup a thread external commissioner using Nordic nRF52840 and RaspPi 3 as a border router.

  1. First I realized that border router implementation provided by Nordic is missing stuff for External commissioning (border agent, mDns discovery).
  2. I changed border router build on my Raspberry to the one from openthread as it has all I need.
  3. I used this border router in conjunction with nRF52840 with NCP example provided by Nordic.
  4. I managed to form a network, join to that network with second nRF52840 node (Nordic CLI), wpanctl also worked fine.
  5. I implemented a draft of external commissioner and I managed do make a valid DTLS handshake between my pc and border router.
  6. What didn't work is that I didn't receive any response to COMM_PET.req

I analyzed the problem and the thing is that Nordic NCP example doesn't support this with the existing code. One thing is that Openthread lib used in Nordic SDK is too old, the other thing is that this OPENTHREAD_ENABLE_BORDER_AGENT_PROXY is set to 0.

I believe I would have to compile newer version of Openthread lib for RF52840 (with appropriate config - enabled TMF_PROXY - this is how its called now) and make some more changes to make it compatible with RF52840.

Do you think Im right with the problem and solution? Is Nordic planning to make a newer version of Thread SDK with newer openthread lib in near future/ when?

Regards, Mark

  • Hi Mark,

    You are doing really well. I think that the quickest way to move your work forward is building NCP hex for the nrf52840 from the openthread repository.

    I think that following command would do:

    make –f examples/Makefile-nrf52840 COMMISSIONER=1 JOINER=1 COAP=1 DNS_CLIENT=1 MTD_NETDIAG=1 BORDER_ROUTER=1 TMF_PROXY=1
    

    That way you will miss the led functionality and accelerated commissioning.

    A bit slower would be creating just the openthread library as explained here.

    and then building the NCP with our SDK with use of that library.

    As you mentioned our border router is missing external commissioning functionality now. It is on our schedule, but it is hard to talk about any ETA at this point.

    Kind regards, Piotr Szkotak

Related