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
  • Hi Dejan,

    Thank you for your advice.

    I installed NCS v2.4.0 and programmed the cli sample onto the board.
    As a result, by sending the "ot state" command to the board via serial communication, I was able to confirm that there was a reply from the board.

    I haven't been able to confirm Thread operation with cli yet, but I'm relieved to be able to confirm that the written sample seems to be working properly.

    Best regards,

    Yuma

Children
  • Hi Dejan,

    I tried commissioning as described in the URL below.

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/thread/overview/commissioning.html

    However, when I run the "ot joiner start N0RD1C" command on the joiner device, it fails with the following message:
    Join failed [Not Found]

    What could be the reason for the failure?

    My environment is below.
     -  nRF connect SDK 2.4.99
     - nRF52840DK (one each for V0.9.2 and V3.0.1)
     - Thread cli samples are already written on each board

    Best regards,

    Yuma

  • Hi,

    This might be due to the previous "ot commissioner joiner add" command. As stated in setting up commissioner, there are some encoding limitations

    Best regards,
    Dejan

  • 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

Related