About OpenThread tutorial

Hi, I'm trying to run a tutorial that does OpenThread process with nRF52840-DK.

The URL for reference is below.

https://openthread.io/codelabs/openthread-hardware?hl=ja#0

I'm doing it in order from the first step, but I get an error at the "Start OpenThread Daemon" step and can't proceed.

In addition, I confirmed that the nRF52840-DK was detected as ttyACM0 just before.

--- log start --------------------

sudo ./build/posix/src/posix/ot-daemon -v 'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[3558]: Running OPENTHREAD/thread-reference-20230119-423-gfd1a247ae; POSIX; Jun 6 2023 02:22:15
./build/posix/src/posix/ot-daemon[3558]: Thread version: 4
./build/posix/src/posix/ot-daemon[3558]: 49d.17:15:15.166 [C] Platform------: Too many rcp failures, exiting
./build/posix/src/posix/ot-daemon[3558]: 49d.17:15:15.166 [C] Platform------: RecoverFromRcpFailure() at radio_spinel_impl.hpp:2333: Failure

--- log end ---------------------

The execution environment is below.

OS Name: Ubuntu 22.04.2 LTS

OS Type: 64-bit

SEGGER J-Link: V7.88e 64-bit DEB Installer

nRF5x Command Line Tool: V10.21.0 Linux x86 64

ARM GNU toolchain: gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2

Are there any possible solutions for this situation?

  • Hi,

    Have you tried using Windows?

    Have you tried with both boards of the same version?

    Have you tried using different boards, for example nrf52840-dk v2.0.2?

    Best regards,
    Dejan

  • Hi Dejan,

    > Have you tried using Windows?

    No, I haven't.
    Are you suggesting that the board may behave differently depending on which OS the nRF Connect SDK is launched on?

    > Have you tried with both boards of the same version?

    No.
    Is my understanding correct that the v0.9.2 board and the v3.0.1 board have different hardware configurations to the extent that the Thread sample behavior is different?

    > Have you tried using different boards, for example nrf52840-dk v2.0.2?

    No.
    The nRF52840-dk I purchased earlier this month was v3.0.1, so I'm assuming that the version of the board I will be purchasing additionally will also be v.3.x.x.

    Best regards,

    Yuma

  • Hi,

    Could you provide me with a sample project and all necessary steps for reproducing your issue?

    Best regards,
    Dejan

  • Hi Dejan,

    I send the OpenThread CLI sample.

    The operation confirmation environment is as follows.
    - hardware
     CPU: Intel Core i7-7700
     Memory: 16GB
    - software
     OS: Ubuntu 20.04.6 LTS (x64)
     J-Link Software and Document Pack: V7.88h
     nRF Connect for Desktop: V4.1.2 Linux
     nRF Connect SDK: V2.4.99

    After installing each tool, the operation check procedure is as follows.
    1. Launch nrfconnect-4.1.2-x86_64.appimage
    2. Open Toolchain Manager.
    3. Press "Open Terminal" on nRF Connect SDK v2.4.0
    4. Build the sample by executing the following command on the started terminal.
          cd nrf/samples/openthread/cli
          west build -b nrf52840dk_nrf52840
    5. Connect the nRF52840-DK to the PC and write the built sample to the nRF52840-DK (execute for 2 units)
          west flash --erase
    6. Execute OT commands according to the instructions in the commissioning tutorial.

    Best regards,

    Yuma

  • Hi,

    I have tested commissioning process with 2 nrf52840-dk boards, first v2.0.2 and second v3.0.0. I have seen both "Commissioner: Joiner remove ..." on the commissioner side and "Join failed [NotFound]" (or Error 13: Invalid state) on the joiner side. I do not think that these errors appeared as a result of different version of the development kits, but rather when the commands are executed on a wrong device or if the sequence of commands is not followed properly. Following the guide, you should first configure the commissioner (leader) and then the joiner. 

    On the commissioner:

    ot thread stop
    ot dataset init new
    ot dataset commit active
    ot ifconfig up
    ot thread start
    ot dataset
    ot commissioner start
    ot commissioner joiner add <eui64_from_joiner_device> N0RD1C


    On the joiner:
    ot eui64
    ot ifconfig up
    ot joiner start N0RD1C
    ot thread start


    Best regards,
    Dejan

Related