Failed To Communicate the RCP using ESP32C6 in Raspberry Pi

haridharma_au79
Posts: 2
Joined: Thu Nov 30, 2023 6:58 am

Failed To Communicate the RCP using ESP32C6 in Raspberry Pi

Postby haridharma_au79 » Thu Jan 04, 2024 1:25 pm

> I have cloned the OT-BR-POSIX in the Raspberry Pi and the OT-RCP of esp32 Firmware were Build and Flashed in the ESP32C6.

> The Raspberry is Connected with the External power supply of 5V adaptor and the ESP32C6 is powered in the USB port of the Board from the Raspberry Pi.

> The OTBR Installation command in Raspberry Pi for the Default usage I have used,
" cd ot-br-posix
./script/bootstrap "

> I Connected the Raspberry Pi with the WIFI interface to Enable Border Routing
" INFRA_IF_NAME=wlan0 ./script/setup "

> I have Attach the flashed RCP device to the Border Router platform via USB Setting the TX - 5 pin and RX - 4 pin UART Manually
> The Attached RCP serial port has been listed by checking that,
" au79@raspberrypi:~/ot-br-posix $ ls /dev/tty* "
It shows the Result as : /dev/ttyUSB0

> Modify the " otbr-agent " configuration file as per the RCP serial port and the wifi interface,

> au79@raspberrypi:/etc/default $ cat otbr-agent
# Default settings for otbr-agent. This file is sourced by systemd

# Options to pass to otbr-agent
OTBR_AGENT_OPTS="-I wpan0 -B wlan0 spinel+hdlc+uart:///dev/ttyUSB0 trel://wlan0"
OTBR_NO_AUTO_ATTACH=0

> After the Update has been completed I had boot the Border Router and the OTBR service has started....

> When I have Checking the modified service status it is in Degraded State,

> au79@raspberrypi:~/ot-br-posix $ sudo systemctl status

● raspberrypi
State: degraded
Jobs: 0 queued
Failed: 2 units
Since: Thu 1970-01-01 05:30:03 IST; 54 years 0 months ago
CGroup: /
├─user.slice
│ └─user-1000.slice
│ ├─session-8.scope
│ │ ├─6014 sshd: au79 [priv]
│ │ ├─6020 sshd: au79@pts/1
│ │ ├─6021 -bash
│ │ ├─6921 sudo systemctl status
│ │ ├─6922 systemctl status
│ │ └─6923 less
│ ├─session-3.scope
│ │ ├─704 lightdm --session-child 14 17
│ │ ├─712 /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
│ │ ├─781 /usr/bin/ssh-agent x-session-manager
│ │ ├─882 openbox --config-file /home/au79/.config/openbox/lxde-pi-rc.xml
│ │ ├─884 lxpolkit
│ │ ├─886 lxpanel --profile LXDE-pi
│ │ ├─889 pcmanfm --desktop --profile LXDE-pi
│ │ ├─898 /usr/bin/ssh-agent -s
│ │ ├─903 xcompmgr -aR
│ │ ├─905 /usr/bin/python3 /usr/share/system-config-printer/applet.py
│ │ └─959 /usr/lib/menu-cache/menu-cached /run/user/1000/menu-cached-:0
│ ├─session-6.scope
│ │ ├─3890 sshd: au79 [priv]
│ │ ├─3904 sshd: au79@pts/0
│ │ └─3905 -bash
│ ├─user@1000.service
│ │ ├─init.scope
│ │ │ ├─673 /lib/systemd/systemd --user
│ │ │ └─674 (sd-pam)
│ │ └─app.slice
│ │ ├─pipewire.service
│ │ │ ├─709 /usr/bin/pipewire
│ │ │ └─743 /usr/bin/pipewire-media-session
│ │ ├─pulseaudio.service
│ │ │ └─710 /usr/bin/pulseaudio --daemonize=no --log-target=journal
│ │ ├─gvfs-gphoto2-volume-monitor.service
│ │ │ └─963 /usr/libexec/gvfs-gphoto2-volume-monitor
│ │ ├─dbus.service
│ │ │ └─726 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
│ │ ├─gvfs-udisks2-volume-monitor.service
│ │ │ └─951 /usr/libexec/gvfs-udisks2-volume-monitor
│ │ ├─gvfs-mtp-volume-monitor.service
│ │ │ └─971 /usr/libexec/gvfs-mtp-volume-monitor
│ │ ├─gvfs-goa-volume-monitor.service
│ │ │ └─967 /usr/libexec/gvfs-goa-volume-monitor
│ │ ├─gvfs-afc-volume-monitor.service
│ │ │ └─975 /usr/libexec/gvfs-afc-volume-monitor
│ │ └─gvfs-daemon.service
│ │ ├─868 /usr/libexec/gvfsd
│ │ ├─873 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f
│ │ └─983 /usr/libexec/gvfsd-trash --spawner :1.7 /org/gtk/gvfs/exec_spaw/0
│ └─session-1.scope
│ ├─609 /bin/login -f
│ └─711 -bash
├─init.scope
│ └─1 /sbin/init splash
└─system.slice
├─lightdm.service
│ ├─590 /usr/sbin/lightdm
│ └─608 /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
├─colord.service
│ └─621 /usr/libexec/colord
├─systemd-timesyncd.service
│ └─301 /lib/systemd/systemd-timesyncd
├─dbus.service
│ └─348 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
├─hciuart.service
│ └─617 /usr/bin/hciattach /dev/serial1 bcm43xx 3000000 flow - b8:27:eb:6c:7b:0d
├─udisks2.service
│ └─446 /usr/libexec/udisks2/udisksd
├─ssh.service
│ └─604 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
├─avahi-daemon.service
│ ├─342 avahi-daemon: running [raspberrypi.local]
│ └─362 avahi-daemon: chroot helper
├─wpa_supplicant.service
│ └─448 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
├─triggerhappy.service
│ └─436 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev>
├─ModemManager.service
│ └─577 /usr/sbin/ModemManager
├─systemd-logind.service
│ └─435 /lib/systemd/systemd-logind
├─rtkit-daemon.service
│ └─724 /usr/libexec/rtkit-daemon
├─packagekit.service
│ └─1084 /usr/libexec/packagekitd
├─cups.service
│ ├─582 /usr/sbin/cupsd -l
│ ├─658 /usr/lib/cups/notifier/dbus dbus://
│ └─662 /usr/lib/cups/notifier/dbus dbus://
├─polkit.service
│ └─376 /usr/libexec/polkitd --no-debug
├─cron.service
│ └─346 /usr/sbin/cron -f
├─systemd-udevd.service
│ └─166 /lib/systemd/systemd-udevd
├─rsyslog.service
│ └─422 /usr/sbin/rsyslogd -n -iNONE
├─bluetooth.service
│ └─623 /usr/libexec/bluetooth/bluetoothd
├─mdns.service
│ └─4871 /usr/sbin/mdnsd
├─systemd-journald.service
│ └─132 /lib/systemd/systemd-journald
├─dhcpcd.service
│ ├─458 /usr/sbin/dhcpcd -b -q
│ └─529 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
├─rng-tools-debian.service
│ └─555 /usr/sbin/rngd -r /dev/hwrng
└─cups-browsed.service
└─663 /usr/sbin/cups-browsed


> Then it is in Degraded State and check its failed status it shows

au79@raspberrypi:~/ot-br-posix $ sudo systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
bthelper@hci0.service loaded failed failed Raspberry Pi bluetooth helper
● plymouth-start.service loaded failed failed Show Plymouth Boot Screen

LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
2 loaded units listed.


> And I have Checked the Individual status for MDNS status :

au79@raspberrypi:~/ot-br-posix $ sudo service mdns status
● mdns.service - LSB: Apple Multicast DNS / DNS Service Discovery daemon
Loaded: loaded (/etc/init.d/mdns; generated)
Active: active (running) since Thu 2024-01-04 18:09:37 IST; 2min 43s ago
Docs: man:systemd-sysv-generator(8)
Process: 559 ExecStart=/etc/init.d/mdns start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 1595)
CPU: 134ms
CGroup: /system.slice/mdns.service
└─601 /usr/sbin/mdnsd

Jan 04 18:09:37 raspberrypi systemd[1]: Starting LSB: Apple Multicast DNS / DNS Service Discovery daemon...
Jan 04 18:09:37 raspberrypi mdns[559]: Starting Apple Darwin Multicast DNS / DNS Service Discovery daemon: mdnsd.
Jan 04 18:09:37 raspberrypi systemd[1]: Started LSB: Apple Multicast DNS / DNS Service Discovery daemon.
Jan 04 18:09:37 raspberrypi mDNSResponder[601]: Default: mDNSResponder (Engineering Build) (Jan 4 2024 17:06:42)
starting
Jan 04 18:09:37 raspberrypi mDNSResponder[601]: Default: mDNSPlatformSourceAddrForDest: connect 1.1.1.1 failed errno
101 (Network is Unreachable>
ESCOC


> Then checking the status for otbr-agent :

au79@raspberrypi:~/ot-br-posix $ 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: active (running) since Thu 2024-01-04 18:21:17 IST; 4s ago
Process: 1789 ExecStartPre=/usr/sbin/service mdns start (code=exited, status=0/SUCCESS)
Main PID: 1795 (otbr-agent)
Tasks: 1 (limit: 1595)
CPU: 55ms
CGroup: /system.slice/otbr-agent.service
└─1795 /usr/sbin/otbr-agent -I wpan0 -B wlan0 spinel+hdlc+uart:///dev/ttyUSB0 trel://wlan0

Jan 04 18:21:17 raspberrypi otbr-agent[1795]: [NOTE]-ILS-----: Infra link selected: wlan0
Jan 04 18:21:17 raspberrypi otbr-agent[1795]: [INFO]-NCP-----: OpenThread log level changed to 4
Jan 04 18:21:19 raspberrypi otbr-agent[1795]: 49d.17:14:40.342 [W] P-RadioSpinel-: Wait for response timeout
Jan 04 18:21:19 raspberrypi otbr-agent[1795]: 49d.17:14:40.342 P-RadioSpinel-: RCP self reset successfully
Jan 04 18:21:21 raspberrypi otbr-agent[1795]: 49d.17:14:42.343 [W] P-RadioSpinel-: Wait for response timeout
Jan 04 18:21:21 raspberrypi otbr-agent[1795]: 49d.17:14:42.343 [C] P-RadioSpinel-: Failed to communicate with RCP - no
response from RCP during initialization
Jan 04 18:21:21 raspberrypi otbr-agent[1795]: 49d.17:14:42.343 [C] P-RadioSpinel-: This is not a bug and typically due a
config error (wrong URL parameters) or bad RCP image:
Jan 04 18:21:21 raspberrypi otbr-agent[1795]: 49d.17:14:42.343 [C] P-RadioSpinel-: - Make sure RCP is running the correct
firmware
Jan 04 18:21:21 raspberrypi otbr-agent[1795]: 49d.17:14:42.343 [C] P-RadioSpinel-: - Double check the config parameters
passed as `RadioURL` input
Jan 04 18:21:21 raspberrypi otbr-agent[1795]: 49d.17:14:42.343 [C] Platform------: HandleRcpTimeout() at
radio_spinel.cpp:2066: RadioSpinelNoResponse
Jan 04 18:21:21 raspberrypi systemd[1]: otbr-agent.service: Main process exited, code=exited, status=6/NOTCONFIGURED


> The Checking the status for the otbr-web :

au79@raspberrypi:~/ot-br-posix $ sudo service otbr-web status
● otbr-web.service - Border Router Web
Loaded: loaded (/lib/systemd/system/otbr-web.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-01-04 18:09:38 IST; 16min ago
Main PID: 606 (otbr-web)
Tasks: 1 (limit: 1595)
CPU: 20ms
CGroup: /system.slice/otbr-web.service
└─606 /usr/sbin/otbr-web -I wpan0 -d7 -p 80

Jan 04 18:09:38 raspberrypi systemd[1]: Started Border Router Web.
Jan 04 18:09:38 raspberrypi otbr-web[606]: otbr-web[606]: [INFO]-WEB-----: Running 0.3.0-thread-reference-20230710-
144-g91d18d2415
Jan 04 18:09:38 raspberrypi otbr-web[606]: otbr-web[606]: [INFO]-WEB-----: Border router web started on wpan0
Jan 04 18:09:38 raspberrypi otbr-web[606]: otbr-web[606]: [ERR ]-WEB-----: OpenThread daemon is not running.
Jan 04 18:09:38 raspberrypi otbr-web[606]: [INFO]-WEB-----: Running 0.3.0-thread-reference-20230710-144-g91d18d2415
Jan 04 18:09:38 raspberrypi otbr-web[606]: [INFO]-WEB-----: Border router web started on wpan0
Jan 04 18:09:38 raspberrypi otbr-web[606]: [ERR ]-WEB-----: OpenThread daemon is not running.


> After that I have verified the RCP status it shows like :

au79@raspberrypi:~/ot-br-posix $ sudo ot-ctl state
connect session failed: No such file or directory


> I have attached the Image copy of connections in Raspberry Pi and ESP32C6 boards,...


OTBR Image.jpeg
OTBR Image.jpeg (1.32 MiB) Viewed 8543 times

So, please give a suggestion for communicate the RCP to the RPi Border Router.

JaydenHsiao
Posts: 1
Joined: Thu Jan 18, 2024 3:24 am

Re: Failed To Communicate the RCP using ESP32C6 in Raspberry Pi

Postby JaydenHsiao » Thu Jan 18, 2024 3:25 am

I have the exact same problem as you. I'll let you know if I can solve it.

Who is online

Users browsing this forum: Google [Bot] and 139 guests