This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Unable to ping from Thread CLI Example to my PC on IPv4 network

Tools in use, etc:

  1. nRF5_SDK_for_Thread_and_Zigbee_v1.0.0
  2. RaspPi_OT_Border_Router_Demo_v1.0.0-1.alpha
  3. NCP example located in <InstallFolder>/examples/thread/ncp/uart/hex/nrf52840_xxaa.hex
  4. CLI example located in <InstallFolder>/examples/thread/cli/uart/hex/nrf52840_xxaa.hex
  5. nRF52840-PDK
  6. Raspberry Pi connect through an Ethernet cable to my switch that provides IPv4 connectivity with the DHCP service.

I'd like to ping from Thread CLI Example to my PC(172.27.131.50), which is on IPv4 network. Referring the Note from this:


Note
0808:0808 is in fact the Google DNS server address "8.8.8.8" in hex representation. In that way, you can reach any IPv4 cloud by replacing last 32 bits of an IPv6 address with a correctly encoded IPv4 address.


, I run the following command:

  1. panid 0xabcd
  2. ifconfig up
  3. thread start
  4. state
  5. ping 64:ff9b::ac1b:8332

After running the last command, I don't have any responses. I've logged in RaspPi and pinged toward the PC. This works:

Fullscreen
1
2
3
4
pi@raspberrypi:~ $ ping 172.27.131.50
PING 172.27.131.50 (172.27.131.50) 56(84) bytes of data.
64 bytes from 172.27.131.50: icmp_seq=1 ttl=125 time=0.625 ms
64 bytes from 172.27.131.50: icmp_seq=2 ttl=125 time=0.589 ms
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Here is output of ifconfig on the BR:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.27.197.95 netmask 255.255.255.0 broadcast 172.27.197.255
inet6 fe80::ba27:ebff:fe47:3d40 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:47:3d:40 txqueuelen 1000 (Ethernet)
RX packets 3305 bytes 259933 (253.8 KiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 3877 bytes 567675 (554.3 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 1 (Local Loopback)
RX packets 812 bytes 70895 (69.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 812 bytes 70895 (69.2 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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Here is output of ipaddr of thread node:

Fullscreen
1
2
3
4
5
6
> ipaddr
fdde:ad00:beef:0:0:ff:fe00:5c00
fd11:22:0:0:d621:e3fe:ba6a:4fe2
fdde:ad00:beef:0:2a61:3f7e:5e4e:9eaf
fe80:0:0:0:b872:2c43:c968:25e2
Done
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Does anyone know how to fix this?

Thank you.

I've asked similar question before. I think I encounter different behavior. I'm modifying my application (from nRF5_SDK_for_Thread_v0.11.0) to nRF5_SDK_for_Thread_and_Zigbee_v1.0.0 now.