[NUCLEO_F767ZI] Network Ping does not work
Posted: Fri Dec 13, 2019 8:21 am
Using a piece of code implementing a ping function works well using the PYBD board. However, using the same code (except LAN/WLAN differences) on the NUCLEO_F767ZI using the Ethernet LAN connection does not read back data.
With PYBD I get responses to multiple ping queries within the private network and from the outside as expected. I get no response with the NUCLEO_F767ZI . tcpdump Shows a request is going out from the F767 board to the gateway. So far so good.
Even-though the ping is working in the wireless situation, I checked the checksum generation with the ICMP data and this seem to be correct. When opening a socket and sending out a html page request, data is returned. So the socket.send and socket.recv work.
One thing to suspect is the use of to wait for IO activity and use instead. However, PYBD is part of the same port (STM32) so no reason to expect different behaviour on this.
Help, any suggestions?
Using the plain MPY version of the PING code: https://gist.github.com/shawwwn/91cc897 ... 34c38195fb
With PYBD I get responses to multiple ping queries within the private network and from the outside as expected. I get no response with the NUCLEO_F767ZI . tcpdump Shows a request is going out from the F767 board to the gateway. So far so good.
Even-though the ping is working in the wireless situation, I checked the checksum generation with the ICMP data and this seem to be correct. When opening a socket and sending out a html page request, data is returned. So the socket.send and socket.recv work.
One thing to suspect is the use of
Code: Select all
uselect.select()
Code: Select all
uselect.poll()
Help, any suggestions?
Using the plain MPY version of the PING code: https://gist.github.com/shawwwn/91cc897 ... 34c38195fb
Code: Select all
import network
import uping as nwk
nic=network.LAN()
nic.activate(1)
while(nic.isconnected()==False):
pass
#check ip numbers etc. this all work
print(nic.ifconfig())
print(nic.config("mac"))
nwk.ping("192.168.0.1")
nwk.ping("micropython.org")