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

NCS 1.6.0: The coprocessor (RCP) build for nrf52840 DK can't work as a RCP for latest ot-br-posix (2021-07)

We tried two build options:

1. thread version 1.1 with 

# Set OpenThread NCP architecture
CONFIG_OPENTHREAD_COPROCESSOR=y
CONFIG_OPENTHREAD_COPROCESSOR_RCP=y

CONFIG_OPENTHREAD_THREAD_VERSION_1_1=y

with ot-br-posix (github.com/.../6e5576e9cb6f0da71ae96e3948a59683c58f5b11) also configured to be thread version 1.1 

2. thread version 2.2 

CONFIG_OPENTHREAD_COPROCESSOR_RCP=y

CONFIG_OPENTHREAD_THREAD_VERSION_1_2=y
CONFIG_OPENTHREAD_DUA=y
CONFIG_OPENTHREAD_MLR=y
CONFIG_OPENTHREAD_BACKBONE_ROUTER=y
CONFIG_OPENTHREAD_MAC_SOFTWARE_TX_SECURITY_ENABLE=y

with ot-br-posix(https://github.com/openthread/ot-br-posix/commit/6e5576e9cb6f0da71ae96e3948a59683c58f5b11) configured to be thread version 1.2

Both can't work, the otbr-agent log show that it can't establish stable link with the RCP

Please help to solve this basic question.

Parents Reply Children
  • Hi ThreadApp,

    This is Charlie again. My colleague is currently on vacation now. I will take responsibility for this case.

    ThreadApp said:
    1. I first tried to build the Dongle / DK version following Configuring a radio co-processor chapter; yet  OTBR we have an linux machine, so we didn't use Docker, but build one from latest github ot-br-posix commit.  Yet there is still stability problem, see another ticket: (+) nRF52840 Dongle working as RCP which attached to a OTBR sometimes doesn't ACK child's IEEE802.15.4 Data Request packet - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)

    I have replied to your former case, let's try to focuses this topic on it.

    ThreadApp said:
    2. Then we consult local support, they suggest official SDK ncs1.6.0, we tried to build the firmware for both dongle/DK, yet they can't work with the OTBR we built.
    ThreadApp said:

    3. The setup is not available now, and I think this is a basic field application , would you please ask your verification team/colleagues to provide this result: 

           Thread connectivity and stability with 52840DK as RCP attached to latest op-br-posix from github commit.

    I did not try RCP from NCS before since it is newly released with NCS v1.6.0, also I prefer to use nRF52840 Dongle which needs USB that is not supported by NCS, but NCS should have the same performance as the OpenThread solution because both of them are from our Thread development team, I will test it later. I suggest using the OpenThread RCP solution for your development because it is well tested and this solution has existed for a long time

    Best regards,

    Charlie

  • Hi,

    2,3) I have tested the NCS v1.6.0 RCP solution. It works well on my setup, here are some key points:

    1. Build RCP:
    cd v1.6.0/nrf/samples/openthread/coprocessor
    west build -p -b nrf52840dk_nrf52840 -- -D OVERLAY_CONFIG="overlay-rcp.conf;../cli/overlay-thread_1_2.conf"
    2. OTBR Config:
    ls /dev/ttyACM*
    ttyACMx
    sudo nano /etc/default/otbr-agent
    OTBR_AGENT_OPTS="-I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyACMx?uart-baudrate=1000000 trel://eth0"
    Change ttyACMx to your device path.
    3. Plug nrf52840dk into OTBR. Run the following two commands and you should see no error report.
    sudo systemctl restart otbr-agent.service
    sudo systemctl status otbr-agent.service
    ● otbr-agent.service - Border Router Agent
       Loaded: loaded (/lib/systemd/system/otbr-agent.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2021-07-28 08:49:10 BST; 648ms ago
     Main PID: 8570 (otbr-agent)
        Tasks: 1 (limit: 4915)
       CGroup: /system.slice/otbr-agent.service
               └─8570 /usr/sbin/otbr-agent -I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyACM0 trel://eth0
    
    Jul 28 08:49:10 raspberrypi systemd[1]: Started Border Router Agent.
    Jul 28 08:49:10 raspberrypi otbr-agent[8570]: [INFO]-UTILS---: Running 0.3.0-2206d84ac
    Jul 28 08:49:10 raspberrypi otbr-agent[8570]: [INFO]-UTILS---: Thread version: 1.2.0
    Jul 28 08:49:10 raspberrypi otbr-agent[8570]: [INFO]-UTILS---: Thread interface: wpan0
    Jul 28 08:49:10 raspberrypi otbr-agent[8570]: [INFO]-UTILS---: Backbone interface: eth0
    Jul 28 08:49:10 raspberrypi otbr-agent[8570]: [INFO]-UTILS---: Radio URL: spinel+hdlc+uart:///dev/ttyACM0
    Jul 28 08:49:10 raspberrypi otbr-agent[8570]: [INFO]-UTILS---: Radio URL: trel://eth0
    
    Best regards,
    Charlie
Related