I tried to build the coprocessor using NCS 2.9.0, but it doesn’t seem to work.
Below is my project configuration,are there any additional parameters I need to set?
I tried to build the coprocessor using NCS 2.9.0, but it doesn’t seem to work.
Below is my project configuration,are there any additional parameters I need to set?
Hi,
Your configuration is correct, depending on what you want to achieve. You can build the sample without adding any additional configurations, and it should work out of the box, or you can add extra configurations using snippets. See Thread: Co-processor for more information.
What isn't working? Do you get errors when building, or is there a problem running the application?
Please explain the problem and share any relevant logs, such as build logs if you get a build error. To share logs, copy the full logs and use Insert > Code to paste them or upload them as a text file.
Best regards,
Marte
Hi,
Below is my OTBR log
ubuntu@ubuntu:~$ sudo docker run -it --rm --privileged --name otbr --network otbr -p 8080:80 --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.all.forwarding=1" -e NAT64=0 --volume /dev/ttyACM0:/dev/ttyACM0 nrfconnect/otbr:9185bda --radio-url spinel+hdlc+uart:///dev/ttyACM0 RADIO_URL: spinel+hdlc+uart:///dev/ttyACM0 TREL_URL: TUN_INTERFACE_NAME: wpan0 BACKBONE_INTERFACE: eth0 NAT64_PREFIX: 64:ff9b::/96 +++ dirname /app/script/server ++ cd /app/script/.. ++ [[ ! -n x ]] ++ echo 'Current platform is ubuntu' Current platform is ubuntu ++ with BORDER_ROUTING ++ local value +++ printenv BORDER_ROUTING ++ value=1 ++ [[ -z 1 ]] ++ [[ 1 == 1 ]] ++ with DHCPV6_PD ++ local value +++ printenv DHCPV6_PD ++ value= ++ [[ -z '' ]] ++ [[ -f examples/platforms/ubuntu/default ]] ++ [[ '' == 1 ]] ++ with BORDER_ROUTING ++ local value +++ printenv BORDER_ROUTING ++ value=1 ++ [[ -z 1 ]] ++ [[ 1 == 1 ]] ++ with NETWORK_MANAGER ++ local value +++ printenv NETWORK_MANAGER ++ value= ++ [[ -z '' ]] ++ [[ -f examples/platforms/ubuntu/default ]] ++ [[ '' == 1 ]] ++ STAGE_DIR=/app/stage ++ BUILD_DIR=/app/build ++ [[ -d /app/stage ]] ++ mkdir -v -p /app/stage mkdir: created directory '/app/stage' ++ [[ -d /app/build ]] ++ mkdir -v -p /app/build mkdir: created directory '/app/build' ++ export PATH=/app/stage/usr/bin:/app/stage/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ PATH=/app/stage/usr/bin:/app/stage/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ basename /app/script/server ++ TASKNAME=server ++ BEFORE_HOOK=examples/platforms/ubuntu/before_server ++ AFTER_HOOK=examples/platforms/ubuntu/after_server ++ [[ ! -f examples/platforms/ubuntu/before_server ]] ++ BEFORE_HOOK=/dev/null ++ [[ ! -f examples/platforms/ubuntu/after_server ]] ++ AFTER_HOOK=/dev/null + . script/_nat64 ++ NAT64_SERVICE=openthread ++ TAYGA_DEFAULT=/etc/default/tayga ++ TAYGA_CONF=/etc/tayga.conf ++ TAYGA_IPV4_ADDR=192.168.255.1 ++ TAYGA_IPV6_ADDR=fdaa:bb:1::1 ++ TAYGA_TUN_V6_ADDR=fdaa:bb:1::2 ++ NAT64_PREFIX=64:ff9b::/96 ++ DYNAMIC_POOL=192.168.255.0/24 ++ NAT44_SERVICE=/etc/init.d/otbr-nat44 ++ WLAN_IFNAMES=eth0 + . script/_dns64 ++ BIND_CONF_OPTIONS=/etc/bind/named.conf.options ++ NAT64_PREFIX=64:ff9b::/96 ++ DNS64_NAMESERVER_ADDR=127.0.0.1 +++ echo 64:ff9b::/96 +++ tr '"/"' '"/"' ++ DNS64_CONF='dns64 64:ff9b::/96 { clients { thread; }; recursive-only yes; };' ++ without NAT64 ++ with NAT64 ++ local value +++ printenv NAT64 ++ value=0 ++ [[ -z 0 ]] ++ [[ 0 == 1 ]] ++ '[' ubuntu = raspbian ']' ++ '[' ubuntu = beagleboneblack ']' ++ '[' ubuntu = ubuntu ']' ++ RESOLV_CONF_HEAD=/etc/resolvconf/resolv.conf.d/head + . script/_firewall ++ FIREWALL_SERVICE=/etc/init.d/otbr-firewall ++ sudo modprobe ip6table_filter sudo: modprobe: command not found ++ true + main + [[ '' == \s\h\u\t\d\o\w\n ]] + startup + . /dev/null + sudo sysctl --system * Applying /etc/sysctl.d/10-console-messages.conf ... kernel.printk = 4 4 1 7 * Applying /etc/sysctl.d/10-ipv6-privacy.conf ... net.ipv6.conf.all.use_tempaddr = 2 net.ipv6.conf.default.use_tempaddr = 2 * Applying /etc/sysctl.d/10-kernel-hardening.conf ... kernel.kptr_restrict = 1 * Applying /etc/sysctl.d/10-link-restrictions.conf ... fs.protected_hardlinks = 1 fs.protected_symlinks = 1 * Applying /etc/sysctl.d/10-magic-sysrq.conf ... kernel.sysrq = 176 * Applying /etc/sysctl.d/10-network-security.conf ... net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.rp_filter = 1 net.ipv4.tcp_syncookies = 1 * Applying /etc/sysctl.d/10-ptrace.conf ... kernel.yama.ptrace_scope = 1 * Applying /etc/sysctl.d/10-zeropage.conf ... vm.mmap_min_addr = 32768 * Applying /etc/sysctl.d/60-otbr-accept-ra.conf ... net.ipv6.conf.eth0.accept_ra = 2 net.ipv6.conf.eth0.accept_ra_rt_info_max_plen = 64 * Applying /etc/sysctl.d/60-otbr-ip-forward.conf ... net.ipv6.conf.all.forwarding = 1 net.ipv4.ip_forward = 1 * Applying /etc/sysctl.conf ... + nat64_start + with NAT64 + local value ++ printenv NAT64 + value=0 + [[ -z 0 ]] + [[ 0 == 1 ]] + return 0 + dns64_start + with NAT64 + local value ++ printenv NAT64 + value=0 + [[ -z 0 ]] + [[ 0 == 1 ]] + return 0 + firewall_start + with DOCKER + local value ++ printenv DOCKER + value=1 + [[ -z 1 ]] + [[ 1 == 1 ]] + service otbr-firewall start + case "$1" in + firewall_start + firewall_stop + ip6tables -C FORWARD -o wpan0 -j OTBR_FORWARD_INGRESS ip6tables v1.6.1: Couldn't load target `OTBR_FORWARD_INGRESS':No such file or directory Try `ip6tables -h' or 'ip6tables --help' for more information. + ip6tables -L OTBR_FORWARD_INGRESS ip6tables: No chain/target/match by that name. + ipset_destroy_if_exist otbr-ingress-deny-src + ipset list otbr-ingress-deny-src ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6 The set with the given name does not exist + ipset_destroy_if_exist otbr-ingress-deny-src-swap + ipset list otbr-ingress-deny-src-swap ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6 The set with the given name does not exist + ipset_destroy_if_exist otbr-ingress-allow-dst + ipset list otbr-ingress-allow-dst ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6 The set with the given name does not exist + ipset_destroy_if_exist otbr-ingress-allow-dst-swap + ipset list otbr-ingress-allow-dst-swap ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6 The set with the given name does not exist + ipset create -exist otbr-ingress-deny-src hash:net family inet6 + ipset create -exist otbr-ingress-deny-src-swap hash:net family inet6 + ipset create -exist otbr-ingress-allow-dst hash:net family inet6 + ipset create -exist otbr-ingress-allow-dst-swap hash:net family inet6 + ip6tables -N OTBR_FORWARD_INGRESS + ip6tables -I FORWARD 1 -o wpan0 -j OTBR_FORWARD_INGRESS + ip6tables -A OTBR_FORWARD_INGRESS -m pkttype --pkt-type unicast -i wpan0 -j DROP + ip6tables -A OTBR_FORWARD_INGRESS -m set --match-set otbr-ingress-deny-src src -j DROP + ip6tables -A OTBR_FORWARD_INGRESS -m set --match-set otbr-ingress-allow-dst dst -j ACCEPT + ip6tables -A OTBR_FORWARD_INGRESS -m pkttype --pkt-type unicast -j DROP + ip6tables -A OTBR_FORWARD_INGRESS -j ACCEPT + have systemctl + command -v systemctl + have service + command -v service + sudo service rsyslog status * rsyslogd is not running + sudo service rsyslog start * Starting enhanced syslogd rsyslogd [ OK ] + sudo service dbus status * dbus is not running + sudo service dbus start * Starting system message bus dbus [ OK ] + sudo service mdns status Usage: /etc/init.d/mDNS {start|stop|reload|restart} + sudo service mdns start Starting Apple Darwin Multicast DNS / DNS Service Discovery daemon: mdnsd. + sudo service avahi-daemon status Avahi mDNS/DNS-SD Daemon is not running + sudo service avahi-daemon start * Starting Avahi mDNS/DNS-SD Daemon avahi-daemon [ OK ] + sudo service otbr-agent status * otbr-agent is not running + sudo service otbr-agent start * Starting thread border agent otbr-agent [ OK ] + without WEB_GUI + with WEB_GUI + local value ++ printenv WEB_GUI + value=1 + [[ -z 1 ]] + [[ 1 == 1 ]] + sudo service otbr-web status * otbr-web is not running + sudo service otbr-web start * Starting thread web interface otbr-web [ OK ] + . /dev/null Jun 9 08:57:48 36dd7155a847 avahi-daemon[151]: Joining mDNS multicast group on interface lo.IPv4 with address 127.0.0.1. Jun 9 08:57:48 36dd7155a847 avahi-daemon[151]: New relevant interface lo.IPv4 for mDNS. Jun 9 08:57:48 36dd7155a847 avahi-daemon[151]: Network interface enumeration completed. Jun 9 08:57:48 36dd7155a847 avahi-daemon[151]: Registering new address record for fd11:db8:1::2 on eth0.*. Jun 9 08:57:48 36dd7155a847 avahi-daemon[151]: Registering new address record for 172.20.0.2 on eth0.IPv4. Jun 9 08:57:48 36dd7155a847 avahi-daemon[151]: Registering new address record for ::1 on lo.*. Jun 9 08:57:48 36dd7155a847 avahi-daemon[151]: Registering new address record for 127.0.0.1 on lo.IPv4. Jun 9 08:57:49 36dd7155a847 rsyslogd: rsyslogd's groupid changed to 101 Jun 9 08:57:49 36dd7155a847 rsyslogd: rsyslogd's userid changed to 101 Jun 9 08:57:49 36dd7155a847 rsyslogd: [origin software="rsyslogd" swVersion="8.32.0" x-pid="84" x-info="http://www.rsyslog.com"] start Jun 9 08:57:49 36dd7155a847 avahi-daemon[151]: Server startup complete. Host name is 36dd7155a847.local. Local service cookie is 3909891077. Jun 9 08:57:51 36dd7155a847 otbr-agent: [NOTE]-AGENT---: Backbone interface: eth0 Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: [NOTE]-AGENT---: Running 0.3.0-9185bdaaf4-dirty Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: [NOTE]-AGENT---: Thread version: 1.3.0 Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: [NOTE]-AGENT---: Thread interface: wpan0 Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyACM0 Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: [NOTE]-ILS-----: Infra link selected: eth0 Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: [INFO]-NCP-----: OpenThread log level changed to 5 Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: 49d.18:11:06.301 [C] Platform------: Radio file '/dev/ttyACM0' not supported Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: 49d.18:11:06.307 [C] Platform------: Radio file '/dev/ttyACM0' not supported Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: 49d.18:11:06.308 [C] Platform------: Init() at radio.cpp:116: InvalidArgument Jun 9 08:57:51 36dd7155a847 otbr-agent[179]: 49d.18:11:06.308 [C] Platform------: Radio file '/dev/ttyACM0' not supported Jun 9 08:57:51 36dd7155a847 otbr-web[207]: [INFO]-WEB-----: Running 0.3.0-9185bdaaf4-dirty Jun 9 08:57:51 36dd7155a847 otbr-web[207]: [INFO]-WEB-----: Border router web started on wpan0 Jun 9 08:57:51 36dd7155a847 otbr-web[207]: [ERR ]-WEB-----: OpenThread daemon is not running.
Hi,
Are you following the guide in our documentation for setting up the OTBR or a different guide? You can find our guide here: Thread Border Router.
Based on the logs, the OpenThread daemon is not running. You must start this before starting the OTBR when running the OTBR in docker mode:
sudo systemctl start docker
Best regards,
Marte
Hi,
I followed the CSA manual(Matter_TH_User_Guide) for the operation and used a co-processor compiled with NCS 2.4.1, which worked successfully. However, using NCS 2.9.0 for compilation doesn't work. Therefore, I believe it has nothing to do with the Raspberry Pi. I just tried setting up OTBR with two different versions again, and the result was the same. Version 2.4.1 works properly
Hi,
Are you using a specific commit for the OTBR docker image? In nRF Connect SDK v2.9.0, we are using fbde28a:
docker pull nrfconnect/otbr:fbde28a
Please do a pristine build of the co-processor sample in v2.9.0 and upload the complete build log using Insert > Code.
Best regards,
Marte
Hi,
According to the manual(Version: v2.11+fall2024)
a. Create the docker network by executing the following commands
sudo docker network create --ipv6 --subnet fd11:db8:1::/64 -o com.docker.network.bridge.name=otbr0 otbr sudo sysctl net.ipv6.conf.otbr0.accept_ra_rt_info_max_plen=128 sudo sysctl net.ipv6.conf.otbr0.accept_ra=2
Run the dependency
sudo modprobe ip6table_filter
Run the docker
sudo docker run -it --rm --privileged --network otbr -p 8080:80 --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.all.forwarding=1" --name otbr -e NAT64=0 --volume /dev/ttyACM0:/dev/ttyACM0 nrfconnect/otbr:9185bda --radio-url spinel+hdlc+uart:///dev/ttyACM0
Hi,
According to the manual(Version: v2.11+fall2024)
a. Create the docker network by executing the following commands
sudo docker network create --ipv6 --subnet fd11:db8:1::/64 -o com.docker.network.bridge.name=otbr0 otbr sudo sysctl net.ipv6.conf.otbr0.accept_ra_rt_info_max_plen=128 sudo sysctl net.ipv6.conf.otbr0.accept_ra=2
Run the dependency
sudo modprobe ip6table_filter
Run the docker
sudo docker run -it --rm --privileged --network otbr -p 8080:80 --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.all.forwarding=1" --name otbr -e NAT64=0 --volume /dev/ttyACM0:/dev/ttyACM0 nrfconnect/otbr:9185bda --radio-url spinel+hdlc+uart:///dev/ttyACM0
Hi
It's the error log
Status: Downloaded newer image for nrfconnect/otbr:fbde28a RADIO_URL: spinel+hdlc+uart:///dev/ttyACM0 TREL_URL: TUN_INTERFACE_NAME: wpan0 BACKBONE_INTERFACE: eth0 NAT64_PREFIX: 64:ff9b::/96 DEBUG_LEVEL: 7 +++ dirname /app/script/server ++ cd /app/script/.. ++ HAVE_SYSTEMCTL=0 ++ have systemctl ++ command -v systemctl ++ HAVE_SERVICE=0 ++ have service ++ command -v service ++ HAVE_SERVICE=1 ++ [[ ! -n x ]] ++ echo 'Current platform is ubuntu' Current platform is ubuntu ++ with BORDER_ROUTING ++ local value +++ printenv BORDER_ROUTING ++ value=1 ++ [[ -z 1 ]] ++ [[ 1 == 1 ]] ++ with DHCPV6_PD ++ local value +++ printenv DHCPV6_PD ++ value= ++ [[ -z '' ]] ++ [[ -f examples/platforms/ubuntu/default ]] ++ [[ '' == 1 ]] ++ with BORDER_ROUTING ++ local value +++ printenv BORDER_ROUTING ++ value=1 ++ [[ -z 1 ]] ++ [[ 1 == 1 ]] ++ with NETWORK_MANAGER ++ local value +++ printenv NETWORK_MANAGER ++ value= ++ [[ -z '' ]] ++ [[ -f examples/platforms/ubuntu/default ]] ++ [[ '' == 1 ]] ++ STAGE_DIR=/app/stage ++ BUILD_DIR=/app/build ++ [[ -d /app/stage ]] ++ mkdir -v -p /app/stage mkdir: created directory '/app/stage' ++ [[ -d /app/build ]] ++ mkdir -v -p /app/build mkdir: created directory '/app/build' ++ export PATH=/app/stage/usr/bin:/app/stage/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ PATH=/app/stage/usr/bin:/app/stage/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ basename /app/script/server ++ TASKNAME=server ++ BEFORE_HOOK=examples/platforms/ubuntu/before_server ++ AFTER_HOOK=examples/platforms/ubuntu/after_server ++ [[ ! -f examples/platforms/ubuntu/before_server ]] ++ BEFORE_HOOK=/dev/null ++ [[ ! -f examples/platforms/ubuntu/after_server ]] ++ AFTER_HOOK=/dev/null + . script/_nat64 ++ NAT64_SERVICE=openthread ++ TAYGA_DEFAULT=/etc/default/tayga ++ TAYGA_CONF=/etc/tayga.conf ++ TAYGA_IPV4_ADDR=192.168.255.1 ++ TAYGA_IPV6_ADDR=fdaa:bb:1::1 ++ TAYGA_TUN_V6_ADDR=fdaa:bb:1::2 ++ NAT64_PREFIX=64:ff9b::/96 ++ DYNAMIC_POOL=192.168.255.0/24 ++ NAT44_SERVICE=/etc/init.d/otbr-nat44 ++ WLAN_IFNAMES=eth0 ++ THREAD_IF=wpan0 + . script/_dns64 ++ BIND_CONF_OPTIONS=/etc/bind/named.conf.options ++ NAT64_PREFIX=64:ff9b::/96 ++ DNS64_NAMESERVER_ADDR=127.0.0.1 +++ echo 64:ff9b::/96 +++ tr '"/"' '"/"' ++ DNS64_CONF='dns64 64:ff9b::/96 { clients { thread; }; recursive-only yes; };' ++ without NAT64 ++ with NAT64 ++ local value +++ printenv NAT64 ++ value=0 ++ [[ -z 0 ]] ++ [[ 0 == 1 ]] ++ '[' ubuntu = raspbian ']' ++ '[' ubuntu = beagleboneblack ']' ++ '[' ubuntu = ubuntu ']' ++ RESOLV_CONF_HEAD=/etc/resolvconf/resolv.conf.d/head + . script/_firewall ++ FIREWALL_SERVICE=/etc/init.d/otbr-firewall ++ sudo modprobe ip6table_filter sudo: modprobe: command not found ++ true ++ FIREWALL=1 + OTBR_MDNS=mDNSResponder + OT_BACKBONE_CI=0 + REFERENCE_DEVICE=0 + main + [[ '' == \s\h\u\t\d\o\w\n ]] + startup + . /dev/null + sudo sysctl --system * Applying /etc/sysctl.d/10-console-messages.conf ... kernel.printk = 4 4 1 7 * Applying /etc/sysctl.d/10-ipv6-privacy.conf ... net.ipv6.conf.all.use_tempaddr = 2 net.ipv6.conf.default.use_tempaddr = 2 * Applying /etc/sysctl.d/10-kernel-hardening.conf ... kernel.kptr_restrict = 1 * Applying /etc/sysctl.d/10-link-restrictions.conf ... fs.protected_hardlinks = 1 fs.protected_symlinks = 1 * Applying /etc/sysctl.d/10-magic-sysrq.conf ... kernel.sysrq = 176 * Applying /etc/sysctl.d/10-network-security.conf ... net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.rp_filter = 1 net.ipv4.tcp_syncookies = 1 * Applying /etc/sysctl.d/10-ptrace.conf ... kernel.yama.ptrace_scope = 1 * Applying /etc/sysctl.d/10-zeropage.conf ... vm.mmap_min_addr = 32768 * Applying /etc/sysctl.d/60-otbr-accept-ra.conf ... net.ipv6.conf.eth0.accept_ra = 2 net.ipv6.conf.eth0.accept_ra_rt_info_max_plen = 64 * Applying /etc/sysctl.d/60-otbr-ip-forward.conf ... net.ipv6.conf.all.forwarding = 1 net.ipv4.ip_forward = 1 * Applying /etc/sysctl.conf ... + nat64_start + with NAT64 + local value ++ printenv NAT64 + value=0 + [[ -z 0 ]] + [[ 0 == 1 ]] + return 0 + dns64_start + with NAT64 + local value ++ printenv NAT64 + value=0 + [[ -z 0 ]] + [[ 0 == 1 ]] + return 0 + firewall_start + with FIREWALL + local value ++ printenv FIREWALL + value=1 + [[ -z 1 ]] + [[ 1 == 1 ]] + with DOCKER + local value ++ printenv DOCKER + value=1 + [[ -z 1 ]] + [[ 1 == 1 ]] + service otbr-firewall start + case "$1" in + firewall_start + firewall_stop + ip6tables -C FORWARD -o wpan0 -j OTBR_FORWARD_INGRESS ip6tables v1.6.1: Couldn't load target `OTBR_FORWARD_INGRESS':No such file or directory Try `ip6tables -h' or 'ip6tables --help' for more information. + ip6tables -L OTBR_FORWARD_INGRESS ip6tables: No chain/target/match by that name. + ipset_destroy_if_exist otbr-ingress-deny-src + ipset list otbr-ingress-deny-src ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6 The set with the given name does not exist + ipset_destroy_if_exist otbr-ingress-deny-src-swap + ipset list otbr-ingress-deny-src-swap ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6 The set with the given name does not exist + ipset_destroy_if_exist otbr-ingress-allow-dst + ipset list otbr-ingress-allow-dst ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6 The set with the given name does not exist + ipset_destroy_if_exist otbr-ingress-allow-dst-swap + ipset list otbr-ingress-allow-dst-swap ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6 The set with the given name does not exist + ipset create -exist otbr-ingress-deny-src hash:net family inet6 + ipset create -exist otbr-ingress-deny-src-swap hash:net family inet6 + ipset create -exist otbr-ingress-allow-dst hash:net family inet6 + ipset create -exist otbr-ingress-allow-dst-swap hash:net family inet6 + ip6tables -N OTBR_FORWARD_INGRESS + ip6tables -I FORWARD 1 -o wpan0 -j OTBR_FORWARD_INGRESS + ip6tables -A OTBR_FORWARD_INGRESS -m pkttype --pkt-type unicast -i wpan0 -j DROP + ip6tables -A OTBR_FORWARD_INGRESS -m set --match-set otbr-ingress-deny-src src -j DROP + ip6tables -A OTBR_FORWARD_INGRESS -m set --match-set otbr-ingress-allow-dst dst -j ACCEPT + ip6tables -A OTBR_FORWARD_INGRESS -m pkttype --pkt-type unicast -j DROP + ip6tables -A OTBR_FORWARD_INGRESS -j ACCEPT + start_service rsyslog + local service_name=rsyslog + [[ 0 == 1 ]] + [[ 1 == 1 ]] + sudo service rsyslog status * rsyslogd is not running + sudo service rsyslog start * Starting enhanced syslogd rsyslogd [ OK ] + start_service dbus + local service_name=dbus + [[ 0 == 1 ]] + [[ 1 == 1 ]] + sudo service dbus status * dbus is not running + sudo service dbus start * Starting system message bus dbus [ OK ] + [[ mDNSResponder == \a\v\a\h\i ]] + [[ 0 == 1 ]] + [[ 0 == 1 ]] + have service + command -v service + sudo service mdns status Usage: /etc/init.d/mDNS {start|stop|reload|restart} + sudo service mdns start Starting Apple Darwin Multicast DNS / DNS Service Discovery daemon: mdnsd. + without WEB_GUI + with WEB_GUI + local value ++ printenv WEB_GUI + value=1 + [[ -z 1 ]] + [[ 1 == 1 ]] + start_service otbr-web + local service_name=otbr-web + [[ 0 == 1 ]] + [[ 1 == 1 ]] + sudo service otbr-web status * otbr-web is not running + sudo service otbr-web start * Starting thread web interface otbr-web [ OK ] + start_service otbr-agent + local service_name=otbr-agent + [[ 0 == 1 ]] + [[ 1 == 1 ]] + sudo service otbr-agent status * otbr-agent is not running + sudo service otbr-agent start * Starting thread border agent otbr-agent [ OK ] + . /dev/null Jun 19 06:41:38 795f97665693 mDNSResponder: Default: mDNSResponder (Engineering Build) (Oct 21 2024 08:52:04) starting Jun 19 06:41:39 795f97665693 rsyslogd: rsyslogd's groupid changed to 101 Jun 19 06:41:39 795f97665693 rsyslogd: rsyslogd's userid changed to 101 Jun 19 06:41:39 795f97665693 rsyslogd: [origin software="rsyslogd" swVersion="8.32.0" x-pid="85" x-info="http://www.rsyslog.com"] start Jun 19 06:41:40 795f97665693 otbr-web[159]: [INFO]-WEB-----: Running 0.3.0-thread-reference-20230710-394-gfbde28a0596-dirty Jun 19 06:41:40 795f97665693 otbr-web[159]: [INFO]-WEB-----: Border router web started on wpan0 Jun 19 06:41:40 795f97665693 otbr-web[159]: [ERR ]-WEB-----: OpenThread daemon is not running. Jun 19 06:41:41 795f97665693 otbr-agent: [NOTE]-AGENT---: Backbone interface: eth0 Jun 19 06:41:41 795f97665693 otbr-agent[186]: [NOTE]-AGENT---: Running 0.3.0-thread-reference-20230710-394-gfbde28a0596-dirty Jun 19 06:41:41 795f97665693 otbr-agent[186]: [NOTE]-AGENT---: Thread version: 1.4.0 Jun 19 06:41:41 795f97665693 otbr-agent[186]: [NOTE]-AGENT---: Thread interface: wpan0 Jun 19 06:41:41 795f97665693 otbr-agent[186]: [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyACM0 Jun 19 06:41:41 795f97665693 otbr-agent[186]: [NOTE]-ILS-----: Infra link selected: eth0 Jun 19 06:41:41 795f97665693 otbr-agent[186]: [INFO]-RCP_HOS-: OpenThread log level changed to 5 Jun 19 06:41:41 795f97665693 otbr-agent[186]: 49d.17:50:14.431 [C] P-HdlcIntface-: Radio file '/dev/ttyACM0' not supported Jun 19 06:41:41 795f97665693 otbr-agent[186]: 49d.17:50:14.431 [C] P-HdlcIntface-: Radio file '/dev/ttyACM0' not supported Jun 19 06:41:41 795f97665693 otbr-agent[186]: 49d.17:50:14.431 [C] Platform------: Init() at spinel_driver.cpp:70: Failure Jun 19 06:41:41 795f97665693 otbr-agent[186]: 49d.17:50:14.431 [C] P-HdlcIntface-: Radio file '/dev/ttyACM0' not supported Jun 19 06:45:35 795f97665693 otbr-web[159]: [ERR ]-WEB-----: OpenThread daemon is not running. Jun 19 06:45:35 795f97665693 otbr-web[159]: [ERR ]-WEB-----: Wpan service error: 13
Hi,
Can you download the OTBR docker image that is compatible with the nRF Connect SDK v2.9.0? You should do this before starting the docker, but you can do it after doing the other steps:
docker pull nrfconnect/otbr:fbde28a
Please also try using this command to start the OTBR docker:
sudo modprobe ip6table_filter sudo docker run -it --rm --privileged --name otbr --network otbr -p 8080:80 \ --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \ --volume /dev/ttyACM0:/dev/radio nrfconnect/otbr:fbde28a --radio-url spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000
It uses version fbde28a of the OTBR docker, which is downloaded in the previous command, instead of the version you are using. It also sets the baud rate to 1000000, which is the same as what is used in the co-processor sample.
Best regards,
Marte