1 year ago

#157991

test-img

HeneryH

OTBR on Docker Pi 4 - Error, "OpenThread daemon is not running"

I built a fresh desktop image (Debian Bullseye 2022-01-28) and have my pi4 connected to the internet via wlan0.

pi@otbr:~ $ uname -a
Linux otbr 5.10.92-v7l+ #1514 SMP Mon Jan 17 17:38:03 GMT 2022 armv7l GNU/Linux

enter image description here

Did the docker install and the "sudo modprobe ip6table_filter".

My serial devices after a clean image, docker install and connecting the RCP nrf52840dk look like this:

/dev/ttyACM0     /dev/ttyAMA0

My RCP nrf52840DK was imaged with the prebuilt .hex file that I found somewhere in the guides ( ot-ncp-ftd-gd81d769e-nrf52840.hex ).

I have tried staring the docker image with both serial ports and they both seem to be giving the same error.

pi@otbr:~ $ docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" -p 8080:80 --dns=127.0.0.1 -it --volume /dev/ttyAMA0:/dev/ttyAMA0 --privileged openthread/otbr --radio-url spinel+hdlc+uart:///dev/ttyAMA0
.
.
.
WARNING: Localhost DNS setting (--dns=127.0.0.1) may fail in containers.
RADIO_URL: spinel+hdlc+uart:///dev/ttyAMA0
TREL_URL:
TUN_INTERFACE_NAME: wpan0
BACKBONE_INTERFACE: eth0      <---   ???? what should this be in docker given I am on wlan0
NAT64_PREFIX: 64:ff9b::/96
AUTO_PREFIX_ROUTE: true
AUTO_PREFIX_SLAAC: true
.
.
Current platform is ubuntu  <--- ?? does this matter if I am on raspbian?
.
.
++ sudo modprobe ip6table_filter
sudo: modprobe: command not found    <----- ???  it is on the host
.
.
 * Starting userspace NAT64 tayga                                           [ OK ]
.
.
 * Starting domain name service... bind9                                    [ OK ]
.
.
 * Starting enhanced syslogd rsyslogd                              [ OK ]
.
.
 * Starting system message bus dbus                                [ OK ]
.
.
 * Starting Avahi mDNS/DNS-SD Daemon avahi-daemon                  [ OK ]
.
.
 * Starting thread border agent otbr-agent                         [ OK ]
+ without WEB_GUI
+ with WEB_GUI
.
.
 * Starting thread web interface otbr-web                    [ OK ]
+ . /dev/null
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: New relevant interface eth0.IPv4 for mDNS.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Joining mDNS multicast group on interface lo.IPv6 with address ::1.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: New relevant interface lo.IPv6 for mDNS.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Joining mDNS multicast group on interface lo.IPv4 with address 127.0.0.1.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: New relevant interface lo.IPv4 for mDNS.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Network interface enumeration completed.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Registering new address record for fe80::42:acff:fe11:2 on eth0.*.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Registering new address record for 172.17.0.2 on eth0.IPv4.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Registering new address record for ::1 on lo.*.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Registering new address record for 127.0.0.1 on lo.IPv4.
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Running 0.3.0-1c2882b
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Thread version: 1.2.0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Thread interface: wpan0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Backbone interface: eth0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Radio URL: spinel+hdlc+uart:///dev/ttyAMA0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-web[263]: [INFO]-WEB-----: Running 0.3.0-1c2882b
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-web[263]: [INFO]-WEB-----: Border router web started on wpan0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-web[263]: [ERR ]-WEB-----: OpenThread daemon is not running.
Feb  9 15:20:13 fa8bbd9b5ac5 rsyslogd: rsyslogd's groupid changed to 101
Feb  9 15:20:13 fa8bbd9b5ac5 rsyslogd: rsyslogd's userid changed to 101
Feb  9 15:20:13 fa8bbd9b5ac5 rsyslogd:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="140" x-info="http://www.rsyslog.com"] start
Feb  9 15:20:13 fa8bbd9b5ac5 avahi-daemon[207]: Server startup complete. Host name is fa8bbd9b5ac5.local. Local service cookie is 3321935704.
Feb  9 15:20:15 fa8bbd9b5ac5 otbr-agent[235]: 49d.17:26:24.462 [CRIT]-PLAT----: BSD TCP function() at radio_spinel_impl.hpp:281: Failure

Is there anything obvious that I am missing?

I'll paste the full log below instead of the trimmed log.

Any ideas to point me in the right direction?

Thanks

Similar as far as I can notice with

docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" -p 8080:80 --dns=127.0.0.1 -it --volume /dev/ttyACM0:/dev/ttyACM0 --privileged openthread/otbr --radio-url spinel+hdlc+uart:///dev/ttyACM0


pi@otbr:~ $ docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" -p 8080:80 --dns=127.0.0.1 -it --volume /dev/ttyAMA0:/dev/ttyAMA0 --privileged openthread/otbr --radio-url spinel+hdlc+uart:///dev/ttyAMA0
WARNING: Localhost DNS setting (--dns=127.0.0.1) may fail in containers.
RADIO_URL: spinel+hdlc+uart:///dev/ttyAMA0
TREL_URL:
TUN_INTERFACE_NAME: wpan0
BACKBONE_INTERFACE: eth0
NAT64_PREFIX: 64:ff9b::/96
AUTO_PREFIX_ROUTE: true
AUTO_PREFIX_SLAAC: true
+++ 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
++ 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
++ 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=1
++ [[ -z 1 ]]
++ [[ 1 == 1 ]]
++ test ubuntu = ubuntu
++ '[' 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
+ . /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 ...
* 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 ]]
+ with DOCKER
+ local value
++ printenv DOCKER
+ value=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
+ service tayga start
 * Starting userspace NAT64 tayga                                                                                [ OK ]
+ dns64_start
+ with NAT64
+ local value
++ printenv NAT64
+ value=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
+ with DNS64
+ local value
++ printenv DNS64
+ value=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
++ _detect_service_name
++ dpkg -L bind9
++ grep /etc/init.d/
++ cut -d/ -f4
+ service_name=bind9
+ have systemctl
+ command -v systemctl
+ command -v service
/usr/sbin/service
+ sudo service bind9 start
 * Starting domain name service... bind9                                                                         [ OK ]
+ firewall_start
+ with DOCKER
+ local value
++ printenv DOCKER
+ value=1
+ [[ -z 1 ]]
+ [[ 1 == 1 ]]
+ service otbr-firewall start
+ case "$1" in
+ install
+ 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 -p ip -j DROP
+ ip6tables -A OTBR_FORWARD_INGRESS -m set --match-set otbr-ingress-deny-src src -p ip -j DROP
+ ip6tables -A OTBR_FORWARD_INGRESS -m set --match-set otbr-ingress-allow-dst dst -p ip -j ACCEPT
+ ip6tables -A OTBR_FORWARD_INGRESS -m pkttype --pkt-type unicast -p ip -j DROP
+ ip6tables -A OTBR_FORWARD_INGRESS -p ip -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
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: New relevant interface eth0.IPv4 for mDNS.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Joining mDNS multicast group on interface lo.IPv6 with address ::1.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: New relevant interface lo.IPv6 for mDNS.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Joining mDNS multicast group on interface lo.IPv4 with address 127.0.0.1.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: New relevant interface lo.IPv4 for mDNS.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Network interface enumeration completed.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Registering new address record for fe80::42:acff:fe11:2 on eth0.*.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Registering new address record for 172.17.0.2 on eth0.IPv4.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Registering new address record for ::1 on lo.*.
Feb  9 15:20:12 fa8bbd9b5ac5 avahi-daemon[207]: Registering new address record for 127.0.0.1 on lo.IPv4.
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Running 0.3.0-1c2882b
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Thread version: 1.2.0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Thread interface: wpan0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Backbone interface: eth0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-agent[235]: [INFO]-UTILS---: Radio URL: spinel+hdlc+uart:///dev/ttyAMA0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-web[263]: [INFO]-WEB-----: Running 0.3.0-1c2882b
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-web[263]: [INFO]-WEB-----: Border router web started on wpan0
Feb  9 15:20:13 fa8bbd9b5ac5 otbr-web[263]: [ERR ]-WEB-----: OpenThread daemon is not running.
Feb  9 15:20:13 fa8bbd9b5ac5 rsyslogd: rsyslogd's groupid changed to 101
Feb  9 15:20:13 fa8bbd9b5ac5 rsyslogd: rsyslogd's userid changed to 101
Feb  9 15:20:13 fa8bbd9b5ac5 rsyslogd:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="140" x-info="http://www.rsyslog.com"] start
Feb  9 15:20:13 fa8bbd9b5ac5 avahi-daemon[207]: Server startup complete. Host name is fa8bbd9b5ac5.local. Local service cookie is 3321935704.
Feb  9 15:20:15 fa8bbd9b5ac5 otbr-agent[235]: 49d.17:26:24.462 [CRIT]-PLAT----: BSD TCP function() at radio_spinel_impl.hpp:281: Failure

openthread

0 Answers

Your Answer

Accepted video resources