nRF52840
NCS 3.0.1
RCP
I just installed the NCS 3.0.1 SDK. I am trying to set up a border router on a Raspberry Pi 4.
I followed these instructions on the Raspberry Pi: https://openthread.io/codelabs/openthread-border-router#1
To create the RCP, I created an application in VS Code based on nrf/samples/openthread/coprocessor. I added the 'usb' snippet in the build configuration. Built it. Flashed it to a nrf52840DK. Connected USB (J2) to the Pi for power, and connected the NRF USB (J3) to the Pi for the spinel uart interface.
I cannot form a network however.
sudo ot-ctl returns "connect session failed: No such file or directory"
I also tried opening a browser to the ip address of the Pi and use the web page to form a network. It responds with "FORM operation is failed".
Here's the responses I'm getting on the Pi
Linux raspberrypi4 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed May 14 14:55:46 2025 from 192.168.1.8
frantec@raspberrypi4:~ $ service otbr-agent status
● otbr-agent.service - OpenThread Border Router Agent
Loaded: loaded (/lib/systemd/system/otbr-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2025-05-14 15:37:06 EDT; 3s ago
Process: 771 ExecStartPre=/usr/sbin/service mdns start (code=exited, status=0/SUCCESS)
Main PID: 795 (otbr-agent)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/otbr-agent.service
└─795 /usr/sbin/otbr-agent -I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyACM0 trel://eth0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-AGENT---: Backbone interface: eth0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-AGENT---: Running 0.3.0-36fc71e
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-AGENT---: Thread version: 1.4.0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-AGENT---: Thread interface: wpan0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyACM0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-AGENT---: Radio URL: trel://eth0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-ILS-----: Infra link selected: eth0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [INFO]-RCP_HOS-: OpenThread log level changed to 4
May 14 15:37:08 raspberrypi4 otbr-agent[795]: 49d.17:03:31.003 [W] P-SpinelDrive-: Wait for response timeout
May 14 15:37:08 raspberrypi4 otbr-agent[795]: 49d.17:03:31.003 [I] P-SpinelDrive-: co-processor self reset successfully
frantec@raspberrypi4:~ $ service otbr-agent status
● otbr-agent.service - OpenThread Border Router Agent
Loaded: loaded (/lib/systemd/system/otbr-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2025-05-14 15:37:06 EDT; 8s ago
Process: 771 ExecStartPre=/usr/sbin/service mdns start (code=exited, status=0/SUCCESS)
Main PID: 795 (otbr-agent)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/otbr-agent.service
└─795 /usr/sbin/otbr-agent -I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyACM0 trel://eth0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyACM0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-AGENT---: Radio URL: trel://eth0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [NOTE]-ILS-----: Infra link selected: eth0
May 14 15:37:06 raspberrypi4 otbr-agent[795]: [INFO]-RCP_HOS-: OpenThread log level changed to 4
May 14 15:37:08 raspberrypi4 otbr-agent[795]: 49d.17:03:31.003 [W] P-SpinelDrive-: Wait for response timeout
May 14 15:37:08 raspberrypi4 otbr-agent[795]: 49d.17:03:31.003 [I] P-SpinelDrive-: co-processor self reset successfully
May 14 15:37:10 raspberrypi4 otbr-agent[795]: 49d.17:03:33.005 [W] P-SpinelDrive-: Wait for response timeout
May 14 15:37:12 raspberrypi4 otbr-agent[795]: 49d.17:03:35.008 [W] P-SpinelDrive-: Wait for response timeout
May 14 15:37:12 raspberrypi4 otbr-agent[795]: 49d.17:03:35.008 [C] Platform------: Init() at spinel_driver.cpp:87: Failure
May 14 15:37:14 raspberrypi4 otbr-agent[795]: 49d.17:03:37.010 [W] P-SpinelDrive-: Wait for response timeout
frantec@raspberrypi4:~ $ sudo ot-ctl
connect session failed: No such file or directory
frantec@raspberrypi4:~ $
This line:
May 14 15:37:12 raspberrypi4 otbr-agent[795]: 49d.17:03:35.008 [C] Platform------: Init() at spinel_driver.cpp:87: Failure
makes me think the RCP is not set up properly.
What am I doing wrong?
Which snippets do I need to include?
Mary