openthread / ot-br-posix

OpenThread Border Router, a Thread border router for POSIX-based platforms.
https://openthread.io/
BSD 3-Clause "New" or "Revised" License
397 stars 225 forks source link

RadioSpinelNoResponse code=exited, status=6 #1845

Open ngocuong86 opened 1 year ago

ngocuong86 commented 1 year ago

Hi everyone. I build OTBR on my Ras pi 3. But When I start otbr-service, I have this error: `helloworld@raspberrypi:~ $ sudo service otbr-agent status ● otbr-agent.service - OpenThread Border Router Agent Loaded: loaded (/lib/systemd/system/otbr-agent.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Thu 2023-04-27 16:44:27 BST; 1s ago Process: 684 ExecStartPre=service mdns start (code=exited, status=0/SUCCESS) Process: 690 ExecStart=/usr/sbin/otbr-agent $OTBR_AGENT_OPTS (code=exited, status=6) Main PID: 690 (code=exited, status=6) CPU: 93ms

Apr 27 16:44:32 raspberrypi systemd[1]: otbr-agent.service: Scheduled restart job, restart counter is at 3. Apr 27 16:44:32 raspberrypi systemd[1]: Stopped OpenThread Border Router Agent. Apr 27 16:44:32 raspberrypi systemd[1]: Starting OpenThread Border Router Agent... Apr 27 16:44:37 raspberrypi systemd[1]: Started OpenThread Border Router Agent. Apr 27 16:44:37 raspberrypi otbr-agent[711]: [NOTE]-AGENT---: Backbone interface: eth0 Apr 27 16:44:37 raspberrypi otbr-agent[711]: [NOTE]-AGENT---: Running 0.3.0-495612f696 Apr 27 16:44:37 raspberrypi otbr-agent[711]: [NOTE]-AGENT---: Thread version: 1.3.0 Apr 27 16:44:37 raspberrypi otbr-agent[711]: [NOTE]-AGENT---: Thread interface: wpan0 Apr 27 16:44:37 raspberrypi otbr-agent[711]: [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyS0?uart-baudrate=57600&uart-flow-control Apr 27 16:44:37 raspberrypi otbr-agent[711]: [NOTE]-AGENT---: Radio URL: trel://eth0 Apr 27 16:44:37 raspberrypi otbr-agent[711]: [NOTE]-ILS-----: Infra link selected: eth0 Apr 27 16:44:37 raspberrypi otbr-agent[711]: [INFO]-NCP-----: OpenThread log level changed to 4 Apr 27 16:44:39 raspberrypi otbr-agent[711]: 49d.17:03:53.013 [W] Platform------: Wait for response timeout Apr 27 16:44:39 raspberrypi otbr-agent[711]: 49d.17:03:53.013 [I] Platform------: Software reset RCP successfully Apr 27 16:44:41 raspberrypi otbr-agent[711]: 49d.17:03:55.015 [W] Platform------: Wait for response timeout Apr 27 16:44:41 raspberrypi otbr-agent[711]: 49d.17:03:55.015 [C] Platform------: HandleRcpTimeout() at radio_spinel_impl.hpp:2301: RadioSpinelNoResponse Apr 27 16:44:41 raspberrypi systemd[1]: otbr-agent.service: Main process exited, code=exited, status=6/NOTCONFIGURED Apr 27 16:44:41 raspberrypi systemd[1]: otbr-agent.service: Failed with result 'exit-code'. Apr 27 16:44:46 raspberrypi systemd[1]: otbr-agent.service: Scheduled restart job, restart counter is at 4. ` I use the device of Telink and I follow steps below:

On Ras Pi 3

jwhui commented 1 year ago

The error indicates that otbr-agent is not able to communicate with the RCP.

I noticed that you are using Telink for the RCP. Have you tried reaching out to Telink about this issue?

I'll note that 57600 is not a common baud rate for RCPs running OpenThread.

Alternatively, you could also try using other RCPs as well.

ngocuong86 commented 1 year ago

The error indicates that otbr-agent is not able to communicate with the RCP.

I noticed that you are using Telink for the RCP. Have you tried reaching out to Telink about this issue?

I'll note that 57600 is not a common baud rate for RCPs running OpenThread.

Alternatively, you could also try using other RCPs as well.

Can you give me the communication log between Pi and RCP to be able to connect? I will compare with the log on my device to see the similarities and differences?

abtink commented 1 year ago

@ngovancuong2735 the error message "HandleRcpTimeout() at radio_spinel_impl.hpp:2301: RadioSpinelNoResponse" indicates that otbr did not get any responses from RCP which happened (in your case) after ot-br did an RCP reset. This is the very first step and happens during init.

This error is often due a config error (wrong URL parameter) and/or bad RCP image, e.g., "spinel+hdlc+uart:///dev/ttyS0?uart-baudrate=57600 trel://eth0", you can check if /dev/ttyS0 is correct (where the RCP is connected).