Due to problems trying to get external Internet access through the Border Router working with Android things (
my other thread) I decided to remove AT from my configuration. I am now testing with.
My new configuration:
2 Nordic Semiconductor nRF52840 running the pre build NCP firmware
from here.
To the best of my knowledge, it looks like the demo image was created following the OpenThread Border router tutorial.
I then created a Thread network on "device A" using the WebGUI. I joined that Thread network from "device B". Both devices have an Ethernet connection to a network with private IPv4 addresses and no IPv6 support with an Internet connection.
Device A is able to ping the local mesh address of Device B. - Good
Device B is able to ping the local mesh address of Device A. - Also Good
Both devices are unable to ping external IPv6 addresses.
ping6 64:ff9b::808:808
PING 64:ff9b::808:808(64:ff9b::808:808) 56 data bytes
--- 64:ff9b::808:808 ping statistics ---
41 packets transmitted, 0 received, 100% packet loss, time 41627ms
Another ping, this time specifying the NCP interface.
ping6 -I wpan0 64:ff9b::808:808
connect: Network is unreachable
Tried using the nat64 interface but that doesn't work either.
ping6 -I nat64 64:ff9b::808:808
PING 64:ff9b::808:808(64:ff9b::808:808) from fdaa:bb:1::1 nat64: 56 data bytes
--- 64:ff9b::808:808 ping statistics ---
17 packets transmitted, 0 received, 100% packet loss, time 16605ms
Both devices are able to ping 8.8.8.8 (using their Ethernet connection).
ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from
8.8.8.8: icmp_seq=1 ttl=123 time=6.33 ms
64 bytes from
8.8.8.8: icmp_seq=2 ttl=123 time=6.19 ms
I have attempted this from my work network and then moved everything home to my personal network in case something was blocking this at work, but have the same results in both locations.
What is the missing step to allow a device within the thread network to connect through the Border Router and get to the Internet? This is similar behaviour to when I had the Android Things device attempting to connect to the Internet through the Border Router, so it doesn't look like AT was the culprit.
My assumption in all of this is that devices within the Thread Network should be able to seamlessly access public Internet resources with the route provided by the Border Router. Is that true or did I completely misunderstand the Border Routers role?
Device A Diagnostics:
sudo wpanctl status
wpan0 => [
"NCP:State" => "associated"
"Daemon:Enabled" => true
"NCP:Version" => "OPENTHREAD/20170716-00798-g0c07c53c; NRF52840; Aug 13 2018 14:22:45"
"Daemon:Version" => "0.08.00d (; Aug 14 2018 17:56:38)"
"Config:NCP:DriverName" => "spinel"
"NCP:HardwareAddress" => [5CC18D1B4C4E86C5]
"NCP:Channel" => 15
"Network:NodeType" => "leader"
"Network:Name" => "OpenThreadDemo2"
"Network:XPANID" => 0x1111111122222222
"Network:PANID" => 0x1234
"IPv6:LinkLocalAddress" => "fe80::bc3e:ed5e:f327:8cea"
"IPv6:MeshLocalAddress" => "fd11:1111:1122:0:adac:9549:9a68:ddc5"
"IPv6:MeshLocalPrefix" => "fd11:1111:1122::/64"
"com.nestlabs.internal:Network:AllowingJoin" => false
]
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.137 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::ba27:ebff:fe67:e924 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:67:e9:24 txqueuelen 1000 (Ethernet)
RX packets 8676 bytes 1106863 (1.0 MiB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 3790 bytes 3495751 (3.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 292 bytes 26079 (25.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 292 bytes 26079 (25.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
nat64: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 192.168.255.1 netmask 255.255.255.255 destination 192.168.255.1
inet6 fe80::4bfe:5423:70a8:b9fb prefixlen 64 scopeid 0x20<link>
inet6 fdaa:bb:1::1 prefixlen 128 scopeid 0x0<global>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 123 bytes 10332 (10.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 127 bytes 13096 (12.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
inet6 fe80::ba27:ebff:fe32:bc71 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:32:bc:71 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 48 bytes 10088 (9.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wpan0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet6 fe80::46db:a7e3:573b:43e4 prefixlen 64 scopeid 0x20<link>
inet6 fe80::bc3e:ed5e:f327:8cea prefixlen 64 scopeid 0x20<link>
inet6 fd11:1111:1122:0:adac:9549:9a68:ddc5 prefixlen 64 scopeid 0x0<global>
inet6 fd11:22::bc3e:ed5e:f327:8cea prefixlen 64 scopeid 0x0<global>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 7 bytes 728 (728.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 2124 (2.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Device B Diagnostics:
sudo wpanctl status
wpan0 => [
"NCP:State" => "associated"
"Daemon:Enabled" => true
"NCP:Version" => "OPENTHREAD/20170716-00798-g0c07c53c; NRF52840; Aug 13 2018 14:22:45"
"Daemon:Version" => "0.08.00d (; Aug 14 2018 17:56:38)"
"Config:NCP:DriverName" => "spinel"
"NCP:HardwareAddress" => [C0B33598380CD4CC]
"NCP:Channel" => 15
"Network:NodeType" => "router"
"Network:Name" => "OpenThreadDemo2"
"Network:XPANID" => 0x1111111122222222
"Network:PANID" => 0x1234
"IPv6:LinkLocalAddress" => "fe80::8c01:6277:584d:69f7"
"IPv6:MeshLocalAddress" => "fd11:1111:1122:0:f113:3aaf:d44a:b16f"
"IPv6:MeshLocalPrefix" => "fd11:1111:1122::/64"
"com.nestlabs.internal:Network:AllowingJoin" => false
]
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.195 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::ba27:ebff:fe58:4270 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:58:42:70 txqueuelen 1000 (Ethernet)
RX packets 8011 bytes 926774 (905.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1104 bytes 114990 (112.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 323 bytes 28748 (28.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 323 bytes 28748 (28.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
nat64: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 192.168.255.1 netmask 255.255.255.255 destination 192.168.255.1
inet6 fdaa:bb:1::1 prefixlen 128 scopeid 0x0<global>
inet6 fe80::4734:de45:4c95:d63 prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 75 bytes 6300 (6.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 79 bytes 8104 (7.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
inet6 fe80::ba27:ebff:fe0d:1725 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:0d:17:25 txqueuelen 1000 (Ethernet)
RX packets 5 bytes 490 (490.0 B)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 43 bytes 7062 (6.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wpan0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet6 fe80::8c01:6277:584d:69f7 prefixlen 64 scopeid 0x20<link>
inet6 fd11:22::8c01:6277:584d:69f7 prefixlen 64 scopeid 0x0<global>
inet6 fd11:1111:1122:0:f113:3aaf:d44a:b16f prefixlen 64 scopeid 0x0<global>
inet6 fe80::8d3d:6795:7a97:d72d prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 7 bytes 728 (728.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 19 bytes 1836 (1.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0