Hello all,
I am trying to implement the ping software found in Contrib but I am having
issues. I have successfully gotten the code to compile and while stepping
through line by line it seems like everything is working correctly. The problem
is that the computer I am trying to ping never responds
This question helped me check into the same issue I was having. Turns out
there's an option to turn on checksums in your lwipopts.h. Under checksum
options you should turn on CHECKSUM_GEN_ICMP. Also, in lwip/opt.h there is a
define LWIP_CHECKSUM_CTRL_PER_NETIF. This must be set to 1 along with all
You have to correctly set your checksum options according to your
hardware checksum capabilities.
Setting all 1 or all 0 is not correct per se.
Ethernet hardware is also capable of generating IP checksums, TCP
checksums, UDP checksums, all of them, some of them, none of them.
Check your hardware