I've been using the SDK for Thread for quite a while and got all the basic stuff up and running with Thread and the nRF52840DK, RPi Border Router, etc.
For example, I can run the google iot coap example and this all runs fine.
What I've been wanting to do is be able to ping my host PC so that I can test some local LAN comms, but for the life of me I can't seem to get this to work.
I've scoured through countless documentation and online forms and there doesn't seem to be any clear instructions on this. I'm hoping someone here knows the magic configuration.
I have a Linksys EA2700 Wi-Fi router that supports IPv6 sitting in between my host PC (Windows 7) and the RPi Border Router. I can ping using IPv4 and IPv6 addresses between these devices all day long.
I've tried modifying tayga.conf to not use the global prefix but the prefix that seems to be used by the Wi-Fi router, which is 2600:8802:3001:36f0 as per below:
I've also attached a screenshot of my host PC's ipconfig for review.
Everything else is out of the box. What am I missing? Why can't I ping my host PC from my Thread FTD?
From the Thread FTD's CLI, if I do a ping 2600:8802:3001:36f0::192.168.1.142 i just get "ICMPv6 Destination Unreachable" if I look at it with the Ubiqua sniffer.
Thanks in advance.
Thanks for your quick response. I've attached the screenshot from the ifconfig output from the border router. Actually, it seems the prefix length is 64 so I have changed tayga to use…
I did a quick test on this today, and it is working fine on my setup. I'm able to ping both local PC and Google DNS from the CLI node with the changed prefix:
This was tested with a clean install of…
Can you post the ifconfig output from your border router? If you do not have a /62 prefix address or lower on the border router, it will not be able to further subnet global IPv6 addresses to the Thread network (requires /64 prefix). Some routers refuse to provide larger prefix networks than /64.
In any case, you should be able to ping through the NAT64 interface, by modifying the tayga.conf file to use a different NAT64 prefix address from 64:ff9b::/96.
Thanks for your quick response. I've attached the screenshot from the ifconfig output from the border router. Actually, it seems the prefix length is 64 so I have changed tayga to use prefix 2600:8802:3001:36f0::/64
but still I get the same result as before.
Everyone tells the same thing, to change the prefix to something different than the global prefix, but that's what I did and it doesn't work. Would you be able to check this out on your side to see if it works? I think it would be straightforward for you to setup a local network and see how it should be setup. Then I can have confidence in the changes I am making with that working setup. Btw, I am using your default border router image with only these changes. Also, I cannot ping using the link-local IPv6 address of the host PC. I thought at least that should work.
This was tested with a clean install of all device and the setups consist of a RPi 3 with the border router image, a nRF52840 DK with FTD UART NCP firmware connected to the RPi, and a nRF52840 DK with FTD UART CLI firmware, connected to the host PC. The following steps worked for me:
sudo service tayga restart
> ping fd00:470:1f09:97c5::192.168.1.124
> 16 bytes from fd00:470:1f09:97c5:0:0:c0a8:17c: icmp_seq=7 hlim=125 time=26ms
> 16 bytes from fd00:470:1f09:97c5:0:0:808:808: icmp_seq=8 hlim=50 time=46ms
As far as I know, link-local addresses are not reachable outside the Thread network (unless they can be reached with a single radio transmission - for instance the wpan0 interface of the border router), see IPv6 addressing in OpenThread documentation.
Hi Jørgen, many thanks ... that worked! I really appreciate it!
Is it possible to ping the thread FTD from the host PC? I read in one of the posts that it is not possible due to the border router being assigned the 64 prefix length.
If you only has a 64 prefix on the border router, it is not possible to ping the nodes directly, as they do not have any global IPv6 address assigned to them. You could possibly do it with NAT46, but this is not setup in the border router image we provide.
If your ISP provides a larger prefix than 64, I think the best solution would be to get a router setup that supports assigning a /62 prefix to the border router. A router with OpenWRT or similar should be able to provide this.