On 11/09/2017 03:41 AM, Giuseppe Modugno wrote:
Il 08/11/2017 16:34, Joel Cunningham ha scritto:
The ping works well if I launch "ping 192.168.1.156" command from
*another* computer on the same network.
You're most likely running into a checksum offload problem since you
can't contact the LwIP stack from the Windows host, but you CAN from
another machine. The Window's TCP/IP stack is going to use checksum
offloading for IPv4/UDP/TCP and during the transmit path, Winpcap
will capture them before they go to hardware (where checksum is
added). Then they will fail checksum validation in LwIP and be
discarded.
You can verify this easily by opening up wireshark and capturing on
the interface. Wireshark (also using winpcap) will capture the
packets at the same point and you can verify the checksum is missing.
You're right.
If this is the case, you can disable checksum offloading in Windows
for TX.
What is the procedure to disable checksum offloading in Windows for TX?
It varies depending on your network card. Easiest way is if the
adapter has an option to disable it. I have one like this. For Win
7, Control Panel -> Network and Internet -> Network and Sharing Center
-> Change Adapter Settings -> Right click adapter -> Properties ->
Configure -> Advanced. Then I have options like 'TCP Checksum Offload
(IPv4)' which I can set to Disabled, RX or TX Disabled/Enabled