CC1352 RCP - how to get right one, I found only ncp from ti which looks not compatible with RPi border router

276 views
Skip to first unread message

Michał Poterek

unread,
Sep 15, 2021, 4:53:27 PM9/15/21
to openthread-users
I'm getting following error: RCP is missing required capabilities: tx-security tx-timing when looking at RPi Log. 

I build cc1352  rcp flash file with following commands:
docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
cd ot-cc13x2-cc26x2
git submodule update --init
./script/bootstrap
./script/build -DTI_PLATFORM=cc1352


And RPi border router with following descrpition:

Could you please give me any advice how to make it working?




Michał Poterek

unread,
Sep 15, 2021, 5:03:27 PM9/15/21
to openthread-users
Additional information describing my issue:
pi_raspberrypi:~ $ sudo otbr-agent -d 7 -v spinel+hdlc+uart:///dev/ttyACM0 -I wpan0
otbr-agent[12148]: [INFO]-UTILS---: Running 0.3.0-f543024
otbr-agent[12148]: [INFO]-UTILS---: Thread version: 1.2.0
otbr-agent[12148]: [INFO]-UTILS---: Thread interface: wpan0
otbr-agent[12148]: [INFO]-UTILS---: Backbone interface:
otbr-agent[12148]: [INFO]-UTILS---: Radio URL: spinel+hdlc+uart:///dev/ttyACM0
otbr-agent[12148]: [INFO]-PLAT----: RCP reset: RESET_SOFTWARE
otbr-agent[12148]: [NOTE]-PLAT----: RCP API Version: 4
otbr-agent[12148]: [CRIT]-PLAT----: RCP is missing required capabilities: tx-security tx-timing
otbr-agent[12148]: [CRIT]-PLAT----: CheckRadioCapabilities() at ../../third_party/openthread/repo/src/lib/spinel/radio_spinel_impl.hpp:382: RadioSpinelIncompatible

Toby Pan

unread,
Sep 17, 2021, 1:09:46 PM9/17/21
to openthread-users
Hi,

Thanks for the question.

Which commits of ot-br-posix and openthread are you using?
(My guess is probably the latest at the time you tried this).

Would you be able to share a high-level overview of your use-case?
The tx-security and tx-timing (along with others) were added for CSL: https://github.com/openthread/openthread/commit/8c90ade062e2d97f87f64f7a2fcc52ddeb793d60
Does your use-case need this? Else, it could make sense to use a pre-CSL commit of ot-br-posix.



Thanks,
Toby

Jonathan Hui

unread,
Sep 17, 2021, 2:08:25 PM9/17/21
to Toby Pan, openthread-users
openthread/ot-br-posix currently defaults to Thread 1.2, which (as Toby mentioned) requires additional RCP functionality to support CSL.

One option is to downgrade ot-br-posix to Thread 1.1 - see openthread/ot-cc2538#53 for steps on how to do that.

However, given that you are using the CC1352, I would encourage you to use TI's reference border router if that is a workable solution for you.

--
Jonathan Hui



--
You received this message because you are subscribed to the Google Groups "openthread-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openthread-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openthread-users/24bbf9d1-dc0d-4329-837a-987af49f89f1n%40googlegroups.com.

Michał Poterek

unread,
Sep 20, 2021, 5:12:48 PM9/20/21
to openthread-users
Thank you for advice which was valuable. I cannot find answer if CC1352 support CLS and  if I can get it working with newest release of Thread?  I will be appriciated for any information if anybody was able to make it working. 




I place solution which allow me to have working border rotuer  - I think it might be usefull others to save a time. 


 ( LPSTK cc1352r is connected to LAUNCHXL-CC1352P  via JTAG and 2 additional TX/RX wires  . No battery or external power supply needed - all powered from USB).


For making flash for CC1352  without CSL

Install docker

docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash


cd ot-cc13x2-cc26x2
git submodule update --init

cd openthread
git reset 31c7208ac87768f8fe7ad4c94d8e8b184bb0ee51
./script/bootstrap
./script/build -DTI_PLATFORM=cc1352

Then on border router I advice to compile ot-br-posix like below:

#in case you have previous compilation remove folder and clone new repo like described

rm -r ot-br-posix     

git clone ---recursive  https://github.com/openthread/ot-br-posix.git

git submodule update --init --recursive

then

To use OTBR in Thread 1.1 please add  to third_party/openthread/CMakeLists.txt following line

set(OT_THREAD_VERSION 1.1 CACHE STRING "Thread 1.1" FORCE)
cd oot-br-posix
./script/bootstrap 

BACKBONE_ROUTER=0 INFRA_IF_NAME=wlan0 ./script/setup

then

Below checks/task  form website: OpenThread Border Router Build and Configuration

Configure the RCP device's serial port in otbr-agent:

  1. Determine the serial port name for the RCP device by checking /dev:
    ls /dev/tty*
  2. Append this to /etc/default/otbr-agent. For example, for a serial port name of ttyACM0:
    OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyACM0"





Verify services

Verify that all required services are enabled:

sudo systemctl status

If the setup script was successful, the following services appear in the output:

  • avahi-daemon.service
  • otbr-agent.service
  • otbr-web.service

    Verify RCP

    Verify that the RCP is in the correct state:

    sudo ot-ctl state

    ot-ctl is a command line utility provided with OTBR. It is used to communicate with the Thread PAN interface (default is wpan0) that otbr-agent is bound to in the RCP design.

    If the RCP is successfully running and the node is not a member of a Thread network, the output should be similar to the below:

    disabled

    If the output is OpenThread daemon is not running, troubleshoot with the following:

    1. Verify the Border Router has sufficient power (use the proper external AC adapter).
    2. Disconnect and reconnect the RCP board to the Border Router platform.
    3. Verify that the RCP serial device is present. For example, if the device should be attached to /dev/ttyUSB0:
      ls /dev/tty* /dev/ttyUSB0
    4. Reset the RCP with sudo ot-ctl reset.

    Check the RCP status again with sudo ot-ctl state

    Then you can configure your thread as described

    http://software-dl.ti.com/simplelink/esd/simplelink_cc26x2_sdk/2.10.00.44/exports/examples/rtos/CC26X2R1_LAUNCHXL/thread/cli_ftd/README.html

    pi@raspberrypi:~ $ sudo ot-ctl state
    disabled
    Done
    pi@raspberrypi:~ $ sudo ot-ctl reset
    pi@raspberrypi:~ $ sudo ot-ctl state
    disabled
    Done
    pi@raspberrypi:~ $ sudo ot-ctl channel 14
    Done
    pi@raspberrypi:~ $ sudo ot-ctl panid 0xface
    Done
    pi@raspberrypi:~ $ sudo ot-ctl ifconfig up
    Done
    pi@raspberrypi:~ $ sudo ot-ctl thread start
    Done
    pi@raspberrypi:~ $ sudo ot-ctl state
    leader
    Done


    Reply all
    Reply to author
    Forward
    0 new messages