I am using the nrf_udp_client example project in IoT SDK as the code base for testing the UDP communication.
For network topology, the nrf51-DK plays the role of UDP client,
and the Pi as a router, which connects directly to the PC through ethernet
I followed all the upon thread steps to configure the radvd.conf and ipv6 prefix.
It's work, I can ping the nrf51-DK both from PC and raspberry Pi by using the global address.
But the PC can not receive any packet from nrf51-DK. There's no respond when I executed the "Python Server Example"
(I have updated the SERVER_IPV6_ADDRESS to the global ipv6 address of the PC)
Is there any possible way to narrow down the issue? : )
This example is designed to use link-local addresses only so there is no call of icmp6_rs_send() in the code. If you have updated the code to send Router Solicition and thus get global address…
This example is designed to use link-local addresses only so there is no call of icmp6_rs_send() in the code. If you have updated the code to send Router Solicition and thus get global address allocated (it seems so as your ping OK), you may try the "netcat" command on Raspberry Pi first. Example of usage,
nc -6 -l 5911 -u -v
nc -6 -l 5911 -u -v
You might need to update the code to tell the client what's your R.Pi's global address.
For PC, you'll have to make Windows to allow the incoming UDP connection in firewall setting (inbound rules).
Are you able to ping the IPv6 address of the PC? Have you tried to sniff the different interfaces on the RPi? I'm using tshark. Try doing a "tshark -I bt0" and see if the IPv6 packet is sent with the correct addresses.
Hi Jun Qing,
Thanks for your kindly reply,
I also found that whether add icmp6_rs_send() or not,
PC can ping the nrf51-DK using global ipv6(2005:XX...)after the add the ipv6 prefix through ifconfig.
When setting the nrf51-DK UDP server ip address to Pi, the netcat can show the correct UDP message.
But when I setting the server ip address to the PC with global ipv6 address, the netcat doesn't show up anything.
The UDP socket communication between the Pi and PC seems correct, the firewall setting shutdown for the testing.
I will keep update the debug processing.
Really appreciate for your kindly advice : )
Thanks for your reply,
By using the tshark to trace the packets flow, seems nrf51-DK trying to send the packet to the correct globla address of the PC eth0, but it does not receive any response.
I will continue examine every step I made and keep updating : )
You can also try to install Wireshark on the PC and sniff your Local Area Connection. To see if the IPv6 packets are getting there.