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?

Parents Reply Children
  • He Dejan,

    I understand those litimations to be "The Joining Device Credential is composed of at least 6 and no more than 32 uppercase alphanumeric ASCII characters (base32-thread, 0 to 9 and A to Y, with the exclusion of I, O, Q, and Z)."
    According to that limitation, I use the string "NORDIC" with "O" replaced by 0 and "I" replaced by 1 as PSKd.

    In my environment, I use two different versions of nRF52840DK. (V0.9.2 and V3.0.1)

    Below is the log for setting up V0.9.2 as Commissioner and V3.0.1 as Joiner.
    In this case, a "Join failed [NotFound]" error was displayed on the Joiner side.

    Commissioner (v0.9.2)

    *** Booting Zephyr OS build v3.3.99-ncs1 ***
    
    
    uart:~$ ot thread stop
    Done
    uart:~$ ot dataset init new
    Done
    uart:~$ ot dataset commit active
    Done
    uart:~$ ot ifconfig up
    Done
    uart:~$ ot thread start
    Done
    uart:~$ ot dataset
    Active Timestamp: 1
    Channel: 19
    Channel Mask: 0x07fff800
    Ext PAN ID: eee8b1d35d500727
    Mesh Local Prefix: fdc9:969:c6f8:ec5f::/64
    Network Key: 18df0d4fd3aed28babc035336ac50817
    Network Name: OpenThread-7895
    PAN ID: 0x7895
    PSKc: 0e14f6c19136fc34eb064edc20c483a6
    Security Policy: 672 onrc
    Done
    uart:~$ ot commissioner start
    Error 13: InvalidState
    uart:~$ ot commissioner start
    Error 13: InvalidState
    uart:~$ ot commissioner start
    Error 13: InvalidState
    uart:~$ ot commissioner start
    Error 13: InvalidState
    uart:~$ ot commissioner start
    Error 13: InvalidState
    uart:~$ ot commissioner start
    Commissioner: petitioning
    Done
    Commissioner: active
    uart:~$ ot commissioner joiner add f4ce365f6f56d7d9 N0RD1C
    Done
    uart:~$

    Joiner (v3.0.1)

    *** Booting Zephyr OS build v3.3.99-ncs1 ***
    
    
    uart:~$ ot eui64
    f4ce36281bbf9601
    Done
    uart:~$ ot ifconfig up
    Done
    uart:~$ ot joiner start N0RD1C
    Done
    uart:~$

    On the other hand, the log of setting up V3.0.1 as Commissioner and V0.9.2 as Joiner is below.
    In this case, "Join failed [NotFound]" error is not displayed on Joiner side and "Commissioner: Joiner remove d3f93fad8484f27a" message was displayed on Commissioner side.

    Commissioner (v3.0.1)

    *** Booting Zephyr OS build v3.3.99-ncs1 ***
    
    
    uart:~$ ot thread stop
    Done
    uart:~$ ot dataset init new
    Done
    uart:~$ ot dataset commit active
    Done
    uart:~$ ot ifconfig up
    Done
    uart:~$ ot thread start
    Done
    uart:~$ ot dataset
    Active Timestamp: 1
    Channel: 22
    Channel Mask: 0x07fff800
    Ext PAN ID: dfe7d89a0296e843
    Mesh Local Prefix: fd67:bd59:ee13:8e7c::/64
    Network Key: 689c180dbaa8a07a286745ffb5d95557
    Network Name: OpenThread-c075
    PAN ID: 0xc075
    PSKc: 34ece973b65458eff346d4a0a7f4ef6c
    Security Policy: 672 onrc
    Done
    uart:~$ ot commissioner start
    Error 13: InvalidState
    uart:~$ ot commissioner start
    Error 13: InvalidState
    uart:~$ ot commissioner start
    Commissioner: petitioning
    Done
    Commissioner: active
    uart:~$ ot commissioner joiner add f4ce36281bbf9601 N0RD1C
    Done
    Commissioner: Joiner remove d3f93fad8484f27a
    uart:~$

    Joiner (v0.9.2)

    *** Booting Zephyr OS build v3.3.99-ncs1 ***
    
    
    uart:~$ ot eui64
    f4ce36281bbf9601
    Done
    uart:~$ ot ifconfig up
    Done
    uart:~$ ot joiner start N0RD1C
    Done
    uart:~$

    If there is no problem with the command execution procedure or command contents, I suspect that the board version is the cause from the difference in execution results.
    Please tell us your opinion.

    Best regards,

    Yuma Shimazu

  • Hi,

    The logs from joiners in your 2 setups seem to be the same. There is no "Join failed [NotFound]" error on the joiner side in your first setup (joiner v3.0.1). 

    Best regards,
    Dejan

  • Hi Dejan,

    I sent the wrong log.
    The correct Joiner (V3.0.1) log is below.

    *** Booting Zephyr OS build v3.3.99-ncs1 ***
    
    
    uart:~$ ot eui64
    f4ce365f6f56d7d9
    Done
    uart:~$ ot ifconfig up
    Done
    uart:~$ ot joiner start N0RD1C
    Done
    Join failed [NotFound]
    uart:~$

    Do you have any idea what could be the possible cause for this result?

    Best regards,

    Yuma

  • 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

Related