Guidence and Question on Running OTBR using Docker

My hope is that I can use the Google OTBR Docker image in a Docker container running on my Ubuntu OS. I can then use the OTBR in the container to form a open thread network and connect devices to it. Howerver, when I check the status of the thread node running in the Docker container, I receive a disabled status. As instructed,I follow all the steps in getting the ODBR installed, configured and started, and that the OTBR is executing properley.

I need help in understanding why the thread node is disabled and confirm that I have a stable OpenThread network established or not. Has anyone on this forum used the Docker image to establish an OTBR on the following hardware/software and the following instruction at the specified link?

II am using the instructions to running OTBR Using Docker from the document at
developer.nordicsemi.com/.../tools.html

I am using my laptop
PC IntelRegistered CoreTm i3-2330M CPU @ 2.20GHz × 4 running
Nordic nRF52840 Dongle (USB transport firmware)
Ubuntu 20.04.2 LTS
GNOME: V3.36.8
Docker: version (24.0.5-0ubuntu1~20.04.1)
OTBR image:
REPOSITORY TAG IMAGE ID
nrfconnect/otbr 84c6aff a8ab2150ebe9

I am sucessful in getting the instructions step 1 through 10 in the "Running OTBR using Docker" section completed.

However, when I get to step 11, the last step which is to check the status of the Thread node running inside the Docker, it returns DISABLED.

Step 11. Check the status of the Thread node running inside the Docker:
sudo docker exec -it otbr sh -c "sudo ot-ctl state"

RETURN:
disabled
Done

Nothing more is given in this section on what to do with the results of the status returned. Is this suppose to be disabled??


Web GUI shows RCP Status as disabled?


IS the ODBR functioning properly? 


I built the radio co-processor on my Nordic nRF52840 Dongle USB transport on the  same ubuntu PC and it was plugged into the USB port of the PC durring this procedure.

I used the folowing version of the nRFconnet sdk

If the open thread network is established on the docker container WHAT's NEXT

can I attach 2 matter devices? or do I need to Do more at this point?

Not sure about the next 3 steps? if I do them or go straight to seting up 2 nRF devices and commision them to the thread network using my antriod smartphone and the Nordic chip tool?
How to build an OpenThread CLI device with the SRP featurec
How to register a service with SRP..What is SRP?
How to discover and reach a Thread end device

Hopefully someone can help me with guidelines so I can test my thread ne3twork and get some motter over thread examples to work on my Nrf DEVICES. aTthis point that seems a long way off. But I am hopefull

Steve K

  • Hi Stephen,

    I only played with Raspbery Pi based OTBR solution before. Not sure why RCP is disabled on this setup. I would suggest you check the RCP connection first and make sure it is an available device for the docker system.

    If you just want to try some Matter devices, I suggest you turn to commercial OTBRs provided by Smart Home ecosystem from Apple, Google, Amazon and so on. They are more stable and simple to use with related ecosystems.

    Best regards,

    Charlie

  • Hi  

    Thanks so much for your response. I to tried to play with the Raspberry Pi OTBR using the docs here on Nordic and on the OpenThrread docs. First I was unable to get the ot-ctl command to work but I had the wrong nRF device ffor the RCP firmware to work. Then I received the nRF52840 Dongle and decided to install the Ubuntu 64 bit os on my Raspberry PI4. but it was too slow. Then I decided to try the Google Docker implementation as described.

    I'm a novice user of Ubuntu,Docker,and ODBR, But I should be able to follow the docs and get a Openthread network to be operational. 

     

    would suggest you check the RCP connection first and make sure it is an available device for the docker system.

    Can you suggest a resource to check this.

    If you just want to try some Matter devices, I suggest you turn to commercial OTBRs provided by Smart Home ecosystem from Apple, Google, Amazon and so on. They are more stable and simple to use with related ecosystems.

    Unfortunaly I do not have access to these items. 

    I am using my laptop
    PC IntelRegistered CoreTm i3-2330M CPU @ 2.20GHz × 4 running
    Nordic nRF52840 Dongle (USB transport firmware)
    Ubuntu 20.04.2 LTS

    What was your setup like on the PI?

    owever, when I get to step 11, the last step which is to check the status of the Thread node running inside the Docker, it returns DISABLED.

    Step 11. Check the status of the Thread node running inside the Docker:
    sudo docker exec -it otbr sh -c "sudo ot-ctl state"

    ON your PI what did you get return by the ot-ctl state command?

    I need help in understanding why the thread node is disabled and confirm that I have a stable OpenThread network established or not. Do you know of  anyone on this forum that has used the Docker image to establish an OTBR on the following hardware-software and the following instruction at the specified link?

    Thanks and looking forward to your response

    Steve K

  • Hi Steve,

    SteveKay said:
    Can you suggest a resource to check this.

    It has been a while since I last tried as you know Matter developers mostly turn to commercial OTBRs. Installing OTBR manually (Raspberry Pi) is the tutorial I followed before.

    SteveKay said:
    What was your setup like on the PI?

    I tried both RPI 3 and 4 before, with nRF52840Dongle or nRF52840 DK.

    The OTBR is based on a specific version of Raspbain.

    You can find on this page Thread Border Router - Bidirectional IPv6 Connectivity and DNS-Based Service Discovery  |  OpenThread

    SteveKay said:

    ON your PI what did you get return by the ot-ctl state command?

    I need help in understanding why the thread node is disabled and confirm that I have a stable OpenThread network established or not. Do you know of  anyone on this forum that has used the Docker image to establish an OTBR on the following hardware-software and the following instruction at the specified link?

    Yes, I can use functional ot-ctl state commands to get the expected reply. I would suggest you refer to the above tutorial and turn to the native Raspbain-based OTBR solution. For me they are much simpler and easy to debug compared with docker ones.  

    Best regards,

    Charlie

  • Thanks for the advise , for now I will continue to try to get the OTBR docker container working for now. Stay tuned.

    Steve K

  • In addition to the Steps in the Nordic document mentiond in my intro statement for this post, more commands need to be executed
    This is the final step in the document that I was following and the status of the thread node running inside the docker container is disabled.
    some more commands to get the thread node running are required.
    So at this point I executed all the following commands:
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl ifconfig down"
    Done
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl thread stop"
    Done
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl dataset init new"
    Done
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl dataset commit active"
    Done
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl ifconfig up"
    Done
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl thread start"
    Done
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl state"
    leader
    Done
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl netdata show"
    Prefixes:
    fd48:5276:8095:1::/64 paos low 7400
    Routes:
    fd48:5276:8095:2:0:0::/96 sn low 7400
    fc00::/7 sa med 7400
    Services:
    44970 01 24000500000e10 s 7400
    44970 5d fda89b12bc80717e93014a1b555b31abd11f s 7400
    Contexts:
    fd48:5276:8095:1::/64 1 c
    Done
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl ipaddr"
    fda8:9b12:bc80:717e:0:ff:fe00:fc11
    fd48:5276:8095:1:474b:7213:103a:3cd3
    fda8:9b12:bc80:717e:0:ff:fe00:fc10
    fda8:9b12:bc80:717e:0:ff:fe00:fc38
    fda8:9b12:bc80:717e:0:ff:fe00:fc00
    fda8:9b12:bc80:717e:0:ff:fe00:7400
    fda8:9b12:bc80:717e:9301:4a1b:555b:31ab
    fe80:0:0:0:4c1e:6966:69fb:e265
    Done
    $ sudo docker exec -it otbr sh -c "sudo service otbr-agent status"
    otbr-agent is running
    RESULTS
    Here are the results of executing the extra commands and the status of the docker container WEB UI showing the status as well.
    • Now the status of the Thread Node is now reporting "leader".
    $ sudo docker exec -it otbr sh -c "sudo ot-ctl state"
    leader
    Done
    • The WEB GUI showing the status and the Form menu.
     
     
Related