<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/122088/how-to-build-a-thread-co-processor</link><description>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?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 08 Jul 2025 08:33:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/122088/how-to-build-a-thread-co-processor" /><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/541737?ContentTypeID=1</link><pubDate>Tue, 08 Jul 2025 08:33:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3eb003ea-43b0-4923-8a26-cec486565625</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I was able to get it to work with an nRF52840 DK with the co-processor sample in nRF Connect SDK v2.9.0, so it should work. If you do not get this to work, try v3.0.2 instead.&lt;/p&gt;
&lt;p&gt;Are you using a DK or a dongle?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If it is a DK, you must disable the mass storage feature first:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;JLinkExe -device NRF52840_XXAA -if SWD -speed 4000 -autoconnect 1 -SelectEmuBySN SEGGER_ID
J-Link&amp;gt;MSDDisable
Probe configured successfully.
J-Link&amp;gt;SetHWFC Force
New configuration applies immediately.
J-Link&amp;gt;exit&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Here are the steps I used:&lt;/p&gt;
&lt;p&gt;1. Disable mass storage feature as described above.&lt;/p&gt;
&lt;p&gt;2. Build and flash the co-processor sample in v2.9.0:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;west build -b nrf52840dk/nrf52840&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;west flash --recover&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;3. Install Docker daemon:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install docker.io&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;4. Start Docker daemon:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo systemctl start docker&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;5. Create the network for the OTBR:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo docker network create --ipv6 --subnet fd11:db8:1::/64 -o com.docker.network.bridge.name=otbr0 otbr&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;6. Download the OTBR docker image for v2.9.0:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;docker pull nrfconnect/otbr:fbde28a&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;7. Connected the co-processor and verified the device:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrfjprog --com
&amp;lt;snr&amp;gt;    /dev/ttyACM0    VCOM0
&amp;lt;snr&amp;gt;    /dev/ttyACM1    VCOM1&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;8. Start the OTBR container:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo modprobe ip6table_filter
sudo docker run -it --rm --privileged --name otbr --network otbr -p 8080:80 \
--sysctl &amp;quot;net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1&amp;quot; \
--volume /dev/ttyACM0:/dev/radio nrfconnect/otbr:fbde28a --radio-url spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;After this, you can form the network using the instructions here:&amp;nbsp;&lt;a href="https://openthread.io/guides/border-router/form-network"&gt;https://openthread.io/guides/border-router/form-network&lt;/a&gt;&amp;nbsp;or opening&amp;nbsp;http://localhost:8080/&amp;nbsp;in a web browser.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/541240?ContentTypeID=1</link><pubDate>Thu, 03 Jul 2025 02:08:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:32e5f12d-833b-4edf-9e06-02fc681c9ea0</guid><dc:creator>SunHuang</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Sorry, I don&amp;#39;t quite understand what you mean. Are you asking me to verify the co-processor or the Raspberry Pi?&lt;br /&gt;In my case, it&amp;#39;s very likely that the co-processor is not working properly. That&amp;#39;s because I have another co-processor that works perfectly with the Raspberry Pi.&lt;br /&gt;What I want to know is whether the co-processor from NCS 2.9.0 is incompatible with the environment provided by CSA.&lt;br /&gt;Alternatively, based on the link you shared in your previous reply, could you provide the correct steps for setup? That would be a great help to me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/541045?ContentTypeID=1</link><pubDate>Tue, 01 Jul 2025 13:21:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bb7832e8-37ed-4bac-9006-a7a1c0fcc403</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Do you get it to work if you follow the guide in our documentation instead? You can find it here:&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.9.0/page/nrf/protocols/thread/tools.html#thread_border_router"&gt;Thread Border Router&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/540248?ContentTypeID=1</link><pubDate>Tue, 24 Jun 2025 00:13:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:391235e9-c84c-471c-8746-3f90dde7c127</guid><dc:creator>SunHuang</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;If I build coprocessor using 2.4.1...&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Last login: Tue Jun 24 00:04:21 2025 from 192.168.50.12
ubuntu@ubuntu:~$ sudo docker network prune
WARNING! This will remove all custom networks not used by at least one container                                                                                                                                                             .
Are you sure you want to continue? [y/N] y
Deleted Networks:
otbr

ubuntu@ubuntu:~$ sudo docker network create --ipv6 --subnet fd11:db8:1::/64 -o c                                                                                                                                                             om.docker.network.bridge.name=otbr0 otbr
b79e9ec801bd121b58d9b7e8fde20f82c69b8e3e561c1c969e9a9eb6934bf1c1
ubuntu@ubuntu:~$ sudo sysctl net.ipv6.conf.otbr0.accept_ra_rt_info_max_plen=128
net.ipv6.conf.otbr0.accept_ra_rt_info_max_plen = 128
ubuntu@ubuntu:~$ sudo sysctl net.ipv6.conf.otbr0.accept_ra=2
net.ipv6.conf.otbr0.accept_ra = 2
ubuntu@ubuntu:~$ sudo modprobe ip6table_filter
ubuntu@ubuntu:~$ sudo docker run -it --rm --privileged --name otbr --network otbr -p 8080:80 --sysctl &amp;quot;net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.all.forwarding=1&amp;quot; -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 &amp;#39;Current platform is ubuntu&amp;#39;
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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 1 ]]
++ STAGE_DIR=/app/stage
++ BUILD_DIR=/app/build
++ [[ -d /app/stage ]]
++ mkdir -v -p /app/stage
mkdir: created directory &amp;#39;/app/stage&amp;#39;
++ [[ -d /app/build ]]
++ mkdir -v -p /app/build
mkdir: created directory &amp;#39;/app/build&amp;#39;
++ 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 &amp;#39;&amp;quot;/&amp;quot;&amp;#39; &amp;#39;&amp;quot;/&amp;quot;&amp;#39;
++ DNS64_CONF=&amp;#39;dns64 64:ff9b::/96 { clients { thread; }; recursive-only yes; };&amp;#39;
++ without NAT64
++ with NAT64
++ local value
+++ printenv NAT64
++ value=0
++ [[ -z 0 ]]
++ [[ 0 == 1 ]]
++ &amp;#39;[&amp;#39; ubuntu = raspbian &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = beagleboneblack &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = ubuntu &amp;#39;]&amp;#39;
++ 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
+ [[ &amp;#39;&amp;#39; == \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 &amp;quot;$1&amp;quot; in
+ firewall_start
+ firewall_stop
+ ip6tables -C FORWARD -o wpan0 -j OTBR_FORWARD_INGRESS
ip6tables v1.6.1: Couldn&amp;#39;t load target `OTBR_FORWARD_INGRESS&amp;#39;:No such file or directory

Try `ip6tables -h&amp;#39; or &amp;#39;ip6tables --help&amp;#39; 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 24 00:10:20 23fdc2e10cad avahi-daemon[151]: Joining mDNS multicast group on interface lo.IPv4 with address 127.0.0.1.
Jun 24 00:10:20 23fdc2e10cad avahi-daemon[151]: New relevant interface lo.IPv4 for mDNS.
Jun 24 00:10:20 23fdc2e10cad avahi-daemon[151]: Network interface enumeration completed.
Jun 24 00:10:20 23fdc2e10cad avahi-daemon[151]: Registering new address record for fd11:db8:1::2 on eth0.*.
Jun 24 00:10:20 23fdc2e10cad avahi-daemon[151]: Registering new address record for 172.20.0.2 on eth0.IPv4.
Jun 24 00:10:20 23fdc2e10cad avahi-daemon[151]: Registering new address record for ::1 on lo.*.
Jun 24 00:10:20 23fdc2e10cad avahi-daemon[151]: Registering new address record for 127.0.0.1 on lo.IPv4.
Jun 24 00:10:20 23fdc2e10cad rsyslogd: rsyslogd&amp;#39;s groupid changed to 101
Jun 24 00:10:20 23fdc2e10cad rsyslogd: rsyslogd&amp;#39;s userid changed to 101
Jun 24 00:10:20 23fdc2e10cad rsyslogd:  [origin software=&amp;quot;rsyslogd&amp;quot; swVersion=&amp;quot;8.32.0&amp;quot; x-pid=&amp;quot;84&amp;quot; x-info=&amp;quot;http://www.rsyslog.com&amp;quot;] start
Jun 24 00:10:21 23fdc2e10cad avahi-daemon[151]: Server startup complete. Host name is 23fdc2e10cad.local. Local service cookie is 1309939092.
Jun 24 00:10:22 23fdc2e10cad otbr-agent: [NOTE]-AGENT---: Backbone interface: eth0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [NOTE]-AGENT---: Running 0.3.0-9185bdaaf4-dirty
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [NOTE]-AGENT---: Thread version: 1.3.0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [NOTE]-AGENT---: Thread interface: wpan0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyACM0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [NOTE]-ILS-----: Infra link selected: eth0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-NCP-----: OpenThread log level changed to 5
Jun 24 00:10:22 23fdc2e10cad otbr-web[207]: [INFO]-WEB-----: Running 0.3.0-9185bdaaf4-dirty
Jun 24 00:10:22 23fdc2e10cad otbr-web[207]: [INFO]-WEB-----: Border router web started on wpan0
Jun 24 00:10:22 23fdc2e10cad otbr-web[207]: [ERR ]-WEB-----: OpenThread daemon is not running.
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 49d.17:06:33.677 [I] Platform------: RCP reset: RESET_POWER_ON
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 49d.17:06:33.684 [I] Platform------: Software reset RCP successfully
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 49d.17:06:33.684 [I] Platform------: RCP reset: RESET_POWER_ON
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 49d.17:06:33.689 [I] Platform------: Backbone interface is configured to eth0 (2)
Jun 24 00:10:22 23fdc2e10cad kernel: [  226.418612] tun: Universal TUN/TAP device driver, 1.6
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 49d.17:06:33.713 [I] Platform------: [netif] Sent request#1 to set addr_gen_mode to 1
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.021 [I] ChildSupervsn-: Timeout: 0 -&amp;gt; 190
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.029 [I] InfraIf-------: Init infra netif 2
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.030 [N] BorderRouter--: No valid /48 BR ULA prefix found in settings, generating new one
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.037 [I] Settings------: Saved BrUlaPrefix fd88:d3b2:12d1::/48
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.038 [N] BorderRouter--: BR ULA prefix: fd88:d3b2:12d1::/48 (generated)
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.038 [I] BorderRouter--: Generated local OMR prefix: fd88:d3b2:12d1:1::/64
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.038 [I] BorderRouter--: Generated local NAT64 prefix: fd88:d3b2:12d1:2:0:0::/96
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.038 [N] BorderRouter--: Local on-link prefix: fdde:ad00:beef:cafe::/64
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.038 [I] InfraIf-------: State changed: NOT RUNNING -&amp;gt; RUNNING
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.039 [I] Platform------: Got nameserver #0: 127.0.0.11
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-UTILS---: Set state callback: OK
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.040 [I] Nat64---------: NAT64 translator is now NotRunning
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-BA------: Publish meshcop service OpenThread BorderRouter #3EEB._meshcop._udp.local.
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.047 [I] Settings------: Saved BorderAgentId {id:6d4aebb211aeed8645edb4ec520f593c}
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-MDNS----: Registering new service OpenThread BorderRouter #3EEB._meshcop._udp.local, serviceRef = (nil)
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-ADPROXY-: Publish all hosts and services
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-ADPROXY-: Started
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-DPROXY--: Started
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-BA------: Start Thread Border Agent: OK
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.049 [I] BbrLocal------: Add Domain Prefix: ::/0, NotFound
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.049 [I] BbrLocal------: Add BBR Service: seqno (80), delay (5s), timeout (3600s), InvalidState
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-APP-----: Thread Border Router started on AIL eth0.
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.052 [I] Notifier------: StateChanged (0x42038200) [NetData PanId NetName ExtPanId BbrState (unknown)]
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.052 [I] Bbr-----------: Start listening on port 61631
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.053 [I] Bbr-----------: Backbone TMF subscribes ff32:40:fdde:ad00:beef:0:0:3: OK
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.053 [I] BbrManager----: Start Backbone TMF agent: OK
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.065 [I] Platform------: Execute command `ipset flush otbr-ingress-allow-dst-swap` = 0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.078 [I] Platform------: Execute command `ipset flush otbr-ingress-deny-src-swap` = 0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.091 [I] Platform------: Execute command `ipset add otbr-ingress-deny-src-swap fdde:ad00:beef:0::/64 -exist` = 0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.104 [I] Platform------: Execute command `ipset swap otbr-ingress-deny-src-swap otbr-ingress-deny-src` = 0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.117 [I] Platform------: Execute command `ipset swap otbr-ingress-allow-dst-swap otbr-ingress-allow-dst` = 0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.117 [I] Platform------: MulticastRoutingManager: Disable: OK
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [INFO]-BA------: Publish meshcop service OpenThread BorderRouter #3EEB._meshcop._udp.local.
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: [DEBG]-BBA-----: BackboneAgent: HandleBackboneRouterState: state=1, mBackboneRouterState=0
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.117 [I] RouterTable---: Route table
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.119 [I] Platform------: [netif] Host netif is down
Jun 24 00:10:22 23fdc2e10cad otbr-agent[179]: 00:00:00.120 [I] Platform------: [netif] Succeeded to process request#1
Jun 24 00:10:23 23fdc2e10cad otbr-agent[179]: [INFO]-MDNS----: Received reply for service OpenThread BorderRouter #3EEB._meshcop._udp., serviceRef = 0xaaab1614aa70
Jun 24 00:10:23 23fdc2e10cad otbr-agent[179]: [INFO]-MDNS----: Successfully registered service OpenThread BorderRouter #3EEB._meshcop._udp.
Jun 24 00:10:23 23fdc2e10cad otbr-agent[179]: [INFO]-BA------: Result of publish meshcop service OpenThread BorderRouter #3EEB._meshcop._udp.local: OK
Jun 24 00:10:23 23fdc2e10cad otbr-agent[179]: [INFO]-BA------: Result of publish meshcop service OpenThread BorderRouter #3EEB._meshcop._udp.local: OK
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for fd11:db8:1::2 on eth0.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for 172.20.0.2 on eth0.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for 127.0.0.1 on lo.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Host name conflict, retrying with 23fdc2e10cad-2
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Registering new address record for fd11:db8:1::2 on eth0.*.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Registering new address record for 172.20.0.2 on eth0.IPv4.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Registering new address record for ::1 on lo.*.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Registering new address record for 127.0.0.1 on lo.IPv4.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for 172.20.0.2 on eth0.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for ::1 on lo.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for 127.0.0.1 on lo.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Host name conflict, retrying with 23fdc2e10cad-3
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Registering new address record for fd11:db8:1::2 on eth0.*.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Registering new address record for 172.20.0.2 on eth0.IPv4.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Registering new address record for ::1 on lo.*.
Jun 24 00:10:25 23fdc2e10cad avahi-daemon[151]: Registering new address record for 127.0.0.1 on lo.IPv4.
Jun 24 00:10:27 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for fd11:db8:1::2 on eth0.
Jun 24 00:10:27 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for ::1 on lo.
Jun 24 00:10:27 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for 127.0.0.1 on lo.
Jun 24 00:10:27 23fdc2e10cad avahi-daemon[151]: Host name conflict, retrying with 23fdc2e10cad-4
Jun 24 00:10:27 23fdc2e10cad avahi-daemon[151]: Registering new address record for fd11:db8:1::2 on eth0.*.
Jun 24 00:10:27 23fdc2e10cad avahi-daemon[151]: Registering new address record for 172.20.0.2 on eth0.IPv4.
Jun 24 00:10:27 23fdc2e10cad avahi-daemon[151]: Registering new address record for ::1 on lo.*.
Jun 24 00:10:27 23fdc2e10cad avahi-daemon[151]: Registering new address record for 127.0.0.1 on lo.IPv4.
Jun 24 00:10:28 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for fd11:db8:1::2 on eth0.
Jun 24 00:10:28 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for ::1 on lo.
Jun 24 00:10:28 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for 127.0.0.1 on lo.
Jun 24 00:10:28 23fdc2e10cad avahi-daemon[151]: Host name conflict, retrying with 23fdc2e10cad-5
Jun 24 00:10:28 23fdc2e10cad avahi-daemon[151]: Registering new address record for fd11:db8:1::2 on eth0.*.
Jun 24 00:10:28 23fdc2e10cad avahi-daemon[151]: Registering new address record for 172.20.0.2 on eth0.IPv4.
Jun 24 00:10:28 23fdc2e10cad avahi-daemon[151]: Registering new address record for ::1 on lo.*.
Jun 24 00:10:28 23fdc2e10cad avahi-daemon[151]: Registering new address record for 127.0.0.1 on lo.IPv4.
Jun 24 00:10:29 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for fd11:db8:1::2 on eth0.
Jun 24 00:10:29 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for ::1 on lo.
Jun 24 00:10:29 23fdc2e10cad avahi-daemon[151]: Withdrawing address record for 127.0.0.1 on lo.
Jun 24 00:10:29 23fdc2e10cad avahi-daemon[151]: Host name conflict, retrying with 23fdc2e10cad-6
Jun 24 00:10:29 23fdc2e10cad avahi-daemon[151]: Registering new address record for fd11:db8:1::2 on eth0.*.
Jun 24 00:10:29 23fdc2e10cad avahi-daemon[151]: Registering new address record for 172.20.0.2 on eth0.IPv4.
Jun 24 00:10:29 23fdc2e10cad avahi-daemon[151]: Registering new address record for ::1 on lo.*.
Jun 24 00:10:29 23fdc2e10cad avahi-daemon[151]: Registering new address record for 127.0.0.1 on lo.IPv4.
Jun 24 00:10:30 23fdc2e10cad avahi-daemon[151]: Server startup complete. Host name is 23fdc2e10cad-6.local. Local service cookie is 1309939092.
Jun 24 00:10:30 23fdc2e10cad mDNSResponder: Default: mDNSCoreReceiveResponse: Received from 172.20.0.2:5353   22 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.8.b.d.0.1.1.d.f.ip6.arpa. PTR 23fdc2e10cad-6.local.
Jun 24 00:10:30 23fdc2e10cad mDNSResponder: Default: mDNSCoreReceiveResponse: Unexpected conflict discarding   20 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.8.B.D.0.1.1.D.F.ip6.arpa. PTR 23fdc2e10cad.local.
Jun 24 00:10:30 23fdc2e10cad mDNSResponder: Default: mDNSCoreReceiveResponse: Received from 172.20.0.2:5353   22 2.0.20.172.in-addr.arpa. PTR 23fdc2e10cad-6.local.
Jun 24 00:10:30 23fdc2e10cad mDNSResponder: Default: mDNSCoreReceiveResponse: Unexpected conflict discarding   20 2.0.20.172.in-addr.arpa. PTR 23fdc2e10cad.local.
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/540140?ContentTypeID=1</link><pubDate>Mon, 23 Jun 2025 07:13:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5bb7f81e-4c33-43c2-8fe5-d5a363c508a9</guid><dc:creator>SunHuang</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have used the file you provided, but I still get an error&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;ubuntu@ubuntu:~$ sudo docker network prune
WARNING! This will remove all custom networks not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Networks:
otbr

ubuntu@ubuntu:~$ sudo docker network create --ipv6 --subnet fd11:db8:1::/64 -o com.docker.network.bridge.name=otbr0 otbr
e731fd46bee75b1c31afc2aa3fd0bf82138e9a0e75b725b5b1b9d5b36220e900
ubuntu@ubuntu:~$ sudo sysctl net.ipv6.conf.otbr0.accept_ra_rt_info_max_plen=128
net.ipv6.conf.otbr0.accept_ra_rt_info_max_plen = 128
ubuntu@ubuntu:~$ sudo sysctl net.ipv6.conf.otbr0.accept_ra=2
net.ipv6.conf.otbr0.accept_ra = 2
ubuntu@ubuntu:~$ sudo modprobe ip6table_filter
ubuntu@ubuntu:~$ sudo docker run -it --rm --privileged --name otbr --network otbr -p 8080:80 \
--sysctl &amp;quot;net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1&amp;quot; \
--volume /dev/ttyACM0:/dev/radio nrfconnect/otbr:fbde28a --radio-url spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000
RADIO_URL: spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000
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 &amp;#39;Current platform is ubuntu&amp;#39;
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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 1 ]]
++ STAGE_DIR=/app/stage
++ BUILD_DIR=/app/build
++ [[ -d /app/stage ]]
++ mkdir -v -p /app/stage
mkdir: created directory &amp;#39;/app/stage&amp;#39;
++ [[ -d /app/build ]]
++ mkdir -v -p /app/build
mkdir: created directory &amp;#39;/app/build&amp;#39;
++ 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 &amp;#39;&amp;quot;/&amp;quot;&amp;#39; &amp;#39;&amp;quot;/&amp;quot;&amp;#39;
++ DNS64_CONF=&amp;#39;dns64 64:ff9b::/96 { clients { thread; }; recursive-only yes; };&amp;#39;
++ without NAT64
++ with NAT64
++ local value
+++ printenv NAT64
++ value=1
++ [[ -z 1 ]]
++ [[ 1 == 1 ]]
++ without DNS64
++ with DNS64
++ local value
+++ printenv DNS64
++ value=0
++ [[ -z 0 ]]
++ [[ 0 == 1 ]]
++ &amp;#39;[&amp;#39; ubuntu = raspbian &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = beagleboneblack &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = ubuntu &amp;#39;]&amp;#39;
++ 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
+ [[ &amp;#39;&amp;#39; == \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=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
+ &amp;#39;[&amp;#39; openthread = tayga &amp;#39;]&amp;#39;
+ nat44_start
+ with DOCKER
+ local value
++ printenv DOCKER
+ value=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
+ service otbr-nat44 start
+ dns64_start
+ with NAT64
+ local value
++ printenv NAT64
+ value=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
+ with DNS64
+ local value
++ printenv DNS64
+ 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 &amp;quot;$1&amp;quot; in
+ firewall_start
+ firewall_stop
+ ip6tables -C FORWARD -o wpan0 -j OTBR_FORWARD_INGRESS
ip6tables v1.6.1: Couldn&amp;#39;t load target `OTBR_FORWARD_INGRESS&amp;#39;:No such file or directory

Try `ip6tables -h&amp;#39; or &amp;#39;ip6tables --help&amp;#39; 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 23 07:10:04 eb3f40287101 mDNSResponder: Default: mDNSResponder (Engineering Build) (Oct 21 2024 08:52:04) starting
Jun 23 07:10:05 eb3f40287101 rsyslogd: rsyslogd&amp;#39;s groupid changed to 101
Jun 23 07:10:05 eb3f40287101 rsyslogd: rsyslogd&amp;#39;s userid changed to 101
Jun 23 07:10:05 eb3f40287101 rsyslogd:  [origin software=&amp;quot;rsyslogd&amp;quot; swVersion=&amp;quot;8.32.0&amp;quot; x-pid=&amp;quot;98&amp;quot; x-info=&amp;quot;http://www.rsyslog.com&amp;quot;] start
Jun 23 07:10:06 eb3f40287101 otbr-web[172]: [INFO]-WEB-----: Running 0.3.0-thread-reference-20230710-394-gfbde28a0596-dirty
Jun 23 07:10:06 eb3f40287101 otbr-web[172]: [INFO]-WEB-----: Border router web started on wpan0
Jun 23 07:10:06 eb3f40287101 otbr-web[172]: [ERR ]-WEB-----: OpenThread daemon is not running.
Jun 23 07:10:07 eb3f40287101 otbr-agent: [NOTE]-AGENT---: Backbone interface: eth0
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: [NOTE]-AGENT---: Running 0.3.0-thread-reference-20230710-394-gfbde28a0596-dirty
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: [NOTE]-AGENT---: Thread version: 1.4.0
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: [NOTE]-AGENT---: Thread interface: wpan0
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: [NOTE]-ILS-----: Infra link selected: eth0
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: [INFO]-RCP_HOS-: OpenThread log level changed to 5
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: 49d.17:05:34.646 [C] P-HdlcIntface-: Radio file &amp;#39;/dev/radio&amp;#39; not supported
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: 49d.17:05:34.649 [C] P-HdlcIntface-: Radio file &amp;#39;/dev/radio&amp;#39; not supported
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: 49d.17:05:34.649 [C] Platform------: Init() at spinel_driver.cpp:70: Failure
Jun 23 07:10:07 eb3f40287101 otbr-agent[199]: 49d.17:05:34.649 [C] P-HdlcIntface-: Radio file &amp;#39;/dev/radio&amp;#39; not supported
Jun 23 07:10:37 eb3f40287101 otbr-web[172]: [ERR ]-WEB-----: OpenThread daemon is not running.
Jun 23 07:10:37 eb3f40287101 otbr-web[172]: [ERR ]-WEB-----: Wpan service error: 13
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/539991?ContentTypeID=1</link><pubDate>Fri, 20 Jun 2025 09:24:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0dd498f1-9e8f-4190-a97d-f15d369265a6</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;To verify, are you using the nRF52840 DK as your RCP? If so, can you try flashing it with this hex file and see if it works?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/coprocessor_5F00_nrf52840dk.hex"&gt;devzone.nordicsemi.com/.../coprocessor_5F00_nrf52840dk.hex&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/539967?ContentTypeID=1</link><pubDate>Fri, 20 Jun 2025 08:06:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b42b6fda-2e64-479a-8087-4c0fec2ce00b</guid><dc:creator>SunHuang</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It still doesn&amp;#39;t work, the error message is as follows:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;ubuntu@ubuntu:~$ sudo docker network create --ipv6 --subnet fd11:db8:1::/64 -o com.docker.network.bridge.name=otbr0 otbr
552ad397e32cceabbf5030c1d05d9ebf653ec1dfa0b799a86b5b707291347f9b
ubuntu@ubuntu:~$ sudo sysctl net.ipv6.conf.otbr0.accept_ra_rt_info_max_plen=128
net.ipv6.conf.otbr0.accept_ra_rt_info_max_plen = 128
ubuntu@ubuntu:~$ sudo sysctl net.ipv6.conf.otbr0.accept_ra=2
net.ipv6.conf.otbr0.accept_ra = 2
ubuntu@ubuntu:~$ sudo modprobe ip6table_filter
ubuntu@ubuntu:~$ sudo docker run -it --rm --privileged --name otbr --network otbr -p 8080:80 \
--sysctl &amp;quot;net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1&amp;quot; \
--volume /dev/ttyACM0:/dev/radio nrfconnect/otbr:fbde28a --radio-url spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000
RADIO_URL: spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000
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 &amp;#39;Current platform is ubuntu&amp;#39;
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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 1 ]]
++ STAGE_DIR=/app/stage
++ BUILD_DIR=/app/build
++ [[ -d /app/stage ]]
++ mkdir -v -p /app/stage
mkdir: created directory &amp;#39;/app/stage&amp;#39;
++ [[ -d /app/build ]]
++ mkdir -v -p /app/build
mkdir: created directory &amp;#39;/app/build&amp;#39;
++ 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 &amp;#39;&amp;quot;/&amp;quot;&amp;#39; &amp;#39;&amp;quot;/&amp;quot;&amp;#39;
++ DNS64_CONF=&amp;#39;dns64 64:ff9b::/96 { clients { thread; }; recursive-only yes; };&amp;#39;
++ without NAT64
++ with NAT64
++ local value
+++ printenv NAT64
++ value=1
++ [[ -z 1 ]]
++ [[ 1 == 1 ]]
++ without DNS64
++ with DNS64
++ local value
+++ printenv DNS64
++ value=0
++ [[ -z 0 ]]
++ [[ 0 == 1 ]]
++ &amp;#39;[&amp;#39; ubuntu = raspbian &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = beagleboneblack &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = ubuntu &amp;#39;]&amp;#39;
++ 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
+ [[ &amp;#39;&amp;#39; == \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=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
+ &amp;#39;[&amp;#39; openthread = tayga &amp;#39;]&amp;#39;
+ nat44_start
+ with DOCKER
+ local value
++ printenv DOCKER
+ value=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
+ service otbr-nat44 start
+ dns64_start
+ with NAT64
+ local value
++ printenv NAT64
+ value=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
+ with DNS64
+ local value
++ printenv DNS64
+ 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 &amp;quot;$1&amp;quot; in
+ firewall_start
+ firewall_stop
+ ip6tables -C FORWARD -o wpan0 -j OTBR_FORWARD_INGRESS
ip6tables v1.6.1: Couldn&amp;#39;t load target `OTBR_FORWARD_INGRESS&amp;#39;:No such file or directory

Try `ip6tables -h&amp;#39; or &amp;#39;ip6tables --help&amp;#39; 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 20 01:17:36 44aa05106354 mDNSResponder: Default: mDNSResponder (Engineering Build) (Oct 21 2024 08:52:04) starting
Jun 20 01:17:37 44aa05106354 rsyslogd: rsyslogd&amp;#39;s groupid changed to 101
Jun 20 01:17:37 44aa05106354 rsyslogd: rsyslogd&amp;#39;s userid changed to 101
Jun 20 01:17:37 44aa05106354 rsyslogd:  [origin software=&amp;quot;rsyslogd&amp;quot; swVersion=&amp;quot;8.32.0&amp;quot; x-pid=&amp;quot;97&amp;quot; x-info=&amp;quot;http://www.rsyslog.com&amp;quot;] start
Jun 20 01:17:38 44aa05106354 otbr-web[171]: [INFO]-WEB-----: Running 0.3.0-thread-reference-20230710-394-gfbde28a0596-dirty
Jun 20 01:17:38 44aa05106354 otbr-web[171]: [INFO]-WEB-----: Border router web started on wpan0
Jun 20 01:17:38 44aa05106354 otbr-web[171]: [ERR ]-WEB-----: OpenThread daemon is not running.
Jun 20 01:17:39 44aa05106354 otbr-agent: [NOTE]-AGENT---: Backbone interface: eth0
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: [NOTE]-AGENT---: Running 0.3.0-thread-reference-20230710-394-gfbde28a0596-dirty
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: [NOTE]-AGENT---: Thread version: 1.4.0
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: [NOTE]-AGENT---: Thread interface: wpan0
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: [NOTE]-ILS-----: Infra link selected: eth0
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: [INFO]-RCP_HOS-: OpenThread log level changed to 5
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: 49d.17:13:38.002 [C] P-HdlcIntface-: Radio file &amp;#39;/dev/radio&amp;#39; not supported
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: 49d.17:13:38.004 [C] P-HdlcIntface-: Radio file &amp;#39;/dev/radio&amp;#39; not supported
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: 49d.17:13:38.004 [C] Platform------: Init() at spinel_driver.cpp:70: Failure
Jun 20 01:17:39 44aa05106354 otbr-agent[198]: 49d.17:13:38.005 [C] P-HdlcIntface-: Radio file &amp;#39;/dev/radio&amp;#39; not supported
Jun 20 01:18:09 44aa05106354 otbr-web[171]: [ERR ]-WEB-----: OpenThread daemon is not running.
Jun 20 01:18:09 44aa05106354 otbr-web[171]: [ERR ]-WEB-----: Wpan service error: 13
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/539829?ContentTypeID=1</link><pubDate>Thu, 19 Jun 2025 08:14:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c90836cb-58b9-4d9c-bb3a-76a2c614ec70</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;docker pull nrfconnect/otbr:fbde28a&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Please also try using this command to start the OTBR docker:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo modprobe ip6table_filter
sudo docker run -it --rm --privileged --name otbr --network otbr -p 8080:80 \
--sysctl &amp;quot;net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1&amp;quot; \
--volume /dev/ttyACM0:/dev/radio nrfconnect/otbr:fbde28a --radio-url spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;It uses version&amp;nbsp;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&amp;nbsp;1000000, which is the same as what is used in the co-processor sample.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/539806?ContentTypeID=1</link><pubDate>Thu, 19 Jun 2025 06:48:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e437d122-38f8-4888-a211-d1b6104ef45c</guid><dc:creator>SunHuang</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;It&amp;#39;s the error log&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;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 &amp;#39;Current platform is ubuntu&amp;#39;
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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 1 ]]
++ STAGE_DIR=/app/stage
++ BUILD_DIR=/app/build
++ [[ -d /app/stage ]]
++ mkdir -v -p /app/stage
mkdir: created directory &amp;#39;/app/stage&amp;#39;
++ [[ -d /app/build ]]
++ mkdir -v -p /app/build
mkdir: created directory &amp;#39;/app/build&amp;#39;
++ 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 &amp;#39;&amp;quot;/&amp;quot;&amp;#39; &amp;#39;&amp;quot;/&amp;quot;&amp;#39;
++ DNS64_CONF=&amp;#39;dns64 64:ff9b::/96 { clients { thread; }; recursive-only yes; };&amp;#39;
++ without NAT64
++ with NAT64
++ local value
+++ printenv NAT64
++ value=0
++ [[ -z 0 ]]
++ [[ 0 == 1 ]]
++ &amp;#39;[&amp;#39; ubuntu = raspbian &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = beagleboneblack &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = ubuntu &amp;#39;]&amp;#39;
++ 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
+ [[ &amp;#39;&amp;#39; == \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 &amp;quot;$1&amp;quot; in
+ firewall_start
+ firewall_stop
+ ip6tables -C FORWARD -o wpan0 -j OTBR_FORWARD_INGRESS
ip6tables v1.6.1: Couldn&amp;#39;t load target `OTBR_FORWARD_INGRESS&amp;#39;:No such file or directory

Try `ip6tables -h&amp;#39; or &amp;#39;ip6tables --help&amp;#39; 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&amp;#39;s groupid changed to 101
Jun 19 06:41:39 795f97665693 rsyslogd: rsyslogd&amp;#39;s userid changed to 101
Jun 19 06:41:39 795f97665693 rsyslogd:  [origin software=&amp;quot;rsyslogd&amp;quot; swVersion=&amp;quot;8.32.0&amp;quot; x-pid=&amp;quot;85&amp;quot; x-info=&amp;quot;http://www.rsyslog.com&amp;quot;] 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 &amp;#39;/dev/ttyACM0&amp;#39; not supported
Jun 19 06:41:41 795f97665693 otbr-agent[186]: 49d.17:50:14.431 [C] P-HdlcIntface-: Radio file &amp;#39;/dev/ttyACM0&amp;#39; 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 &amp;#39;/dev/ttyACM0&amp;#39; 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
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/539802?ContentTypeID=1</link><pubDate>Thu, 19 Jun 2025 05:48:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:701f74df-0407-49ea-a66c-792e51d4f2e7</guid><dc:creator>SunHuang</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;According to the manual(&lt;span&gt;Version: v2.11+fall2024&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;a. Create the docker network by executing the following commands&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;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&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Run the dependency&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt; sudo modprobe ip6table_filter&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Run the docker&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo docker run -it --rm --privileged --network otbr -p 8080:80 --sysctl
 &amp;quot;net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.all.forwarding=1&amp;quot; --name otbr -e
 NAT64=0 --volume /dev/ttyACM0:/dev/ttyACM0 nrfconnect/otbr:9185bda --radio-url
 spinel+hdlc+uart:///dev/ttyACM0&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/539564?ContentTypeID=1</link><pubDate>Tue, 17 Jun 2025 13:17:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:547bd62d-957f-4c82-bda9-e477876e2711</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Are you using a specific commit for the OTBR docker image? In nRF Connect SDK v2.9.0, we are using fbde28a:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;docker pull nrfconnect/otbr:fbde28a&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Please do a pristine build of the co-processor sample in v2.9.0 and upload the complete build log using Insert &amp;gt; Code.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/538964?ContentTypeID=1</link><pubDate>Thu, 12 Jun 2025 08:21:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7c3fa76-0d00-4adc-9aa8-4728361af5c8</guid><dc:creator>SunHuang</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;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&amp;#39;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&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/538636?ContentTypeID=1</link><pubDate>Tue, 10 Jun 2025 11:30:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ce5ce2a-c47a-4f3d-87e7-26aa36461ba9</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Are you following the guide in our documentation for setting up the OTBR or a different guide? You can find our guide here:&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-3.0.2/page/nrf/protocols/thread/tools.html#thread_border_router"&gt;Thread Border Router&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo systemctl start docker&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/538550?ContentTypeID=1</link><pubDate>Mon, 09 Jun 2025 08:59:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4d476c48-eabc-45f6-b114-e1c0ea3b3d39</guid><dc:creator>SunHuang</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Below is my OTBR log&lt;pre class="ui-code" data-mode="text"&gt;ubuntu@ubuntu:~$ sudo docker run -it --rm --privileged --name otbr --network otbr -p 8080:80 --sysctl &amp;quot;net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.all.forwarding=1&amp;quot; -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 &amp;#39;Current platform is ubuntu&amp;#39;
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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 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 &amp;#39;&amp;#39; ]]
++ [[ -f examples/platforms/ubuntu/default ]]
++ [[ &amp;#39;&amp;#39; == 1 ]]
++ STAGE_DIR=/app/stage
++ BUILD_DIR=/app/build
++ [[ -d /app/stage ]]
++ mkdir -v -p /app/stage
mkdir: created directory &amp;#39;/app/stage&amp;#39;
++ [[ -d /app/build ]]
++ mkdir -v -p /app/build
mkdir: created directory &amp;#39;/app/build&amp;#39;
++ 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 &amp;#39;&amp;quot;/&amp;quot;&amp;#39; &amp;#39;&amp;quot;/&amp;quot;&amp;#39;
++ DNS64_CONF=&amp;#39;dns64 64:ff9b::/96 { clients { thread; }; recursive-only yes; };&amp;#39;
++ without NAT64
++ with NAT64
++ local value
+++ printenv NAT64
++ value=0
++ [[ -z 0 ]]
++ [[ 0 == 1 ]]
++ &amp;#39;[&amp;#39; ubuntu = raspbian &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = beagleboneblack &amp;#39;]&amp;#39;
++ &amp;#39;[&amp;#39; ubuntu = ubuntu &amp;#39;]&amp;#39;
++ 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
+ [[ &amp;#39;&amp;#39; == \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 &amp;quot;$1&amp;quot; in
+ firewall_start
+ firewall_stop
+ ip6tables -C FORWARD -o wpan0 -j OTBR_FORWARD_INGRESS
ip6tables v1.6.1: Couldn&amp;#39;t load target `OTBR_FORWARD_INGRESS&amp;#39;:No such file or directory

Try `ip6tables -h&amp;#39; or &amp;#39;ip6tables --help&amp;#39; 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&amp;#39;s groupid changed to 101
Jun  9 08:57:49 36dd7155a847 rsyslogd: rsyslogd&amp;#39;s userid changed to 101
Jun  9 08:57:49 36dd7155a847 rsyslogd:  [origin software=&amp;quot;rsyslogd&amp;quot; swVersion=&amp;quot;8.32.0&amp;quot; x-pid=&amp;quot;84&amp;quot; x-info=&amp;quot;http://www.rsyslog.com&amp;quot;] 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 &amp;#39;/dev/ttyACM0&amp;#39; not supported
Jun  9 08:57:51 36dd7155a847 otbr-agent[179]: 49d.18:11:06.307 [C] Platform------: Radio file &amp;#39;/dev/ttyACM0&amp;#39; 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 &amp;#39;/dev/ttyACM0&amp;#39; 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.
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to build a Thread: Co-processor?</title><link>https://devzone.nordicsemi.com/thread/538418?ContentTypeID=1</link><pubDate>Fri, 06 Jun 2025 12:41:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6857cb90-6b85-4b46-af77-80af77bfa61b</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;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&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.9.0/page/nrf/samples/openthread/coprocessor/README.html#configuration"&gt;Thread: Co-processor&lt;/a&gt;&amp;nbsp;for more information.&lt;/p&gt;
&lt;p&gt;What isn&amp;#39;t working? Do you get errors when building, or is there a problem running the application?&lt;/p&gt;
&lt;p&gt;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 &amp;gt; Code to paste them or upload them as a text file.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>