From: Simon Goldschmidt <address@hidden>
To: JM
<address@hidden>; Mailing list for lwIP users <address@hidden>
Sent: Wednesday, December 21, 2011 8:02 AM
Subject: Re: [lwip-users] Tracking down source of corruption
JM <
address@hidden> wrote:
> After establishing a TCP connection with a remote host (108.61.35.91, a
> radio station), disconnecting, then trying to reconnect, SYN packets are
> being sent, but the remote host doesn't respond. It appears this is happening
> because lwIP isn't responding to ARP requests from the router,
> 192.168.0.1. When I reset the unit it works again.
To see why it isn't responding to ARP requests, my first idea would be to enable lwIP's stats and have a look at the various 'err' or 'drop' members to see why packets are dropped (or the 'rx' members to see how many packets it thinks it has been receiving).
> But the weirdest thing is the device, IP address 192.168.0.176 which was
> assigned with DHCP, suddenly decides its IP is 56.7.0.32 when it sends a
> RST. Its MAC is staying
intact, and lwIPLocalIPAddrGet() is still reporting
> 192.168.0.176.
That's not too wierd: I'm guessing your lwIPLocalIPAddrGet() function returns the netif's IP address, whereas the RST (I'm assuming it is sent from tcp_slowtmr where lwIP decides it gives up sending SYN retries) uses the TCP PCB's local address to send the RST. That assumes in the last 1.3 seconds of the capture, something has corrupted that PCB.
Unforunately, that doesn't tell you who's corrupting the PCB memory... :-(
Simon
--
NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zurück-Garantie!
Jetzt informieren: http://www.gmx.net/de/go/freephone
_______________________________________________
lwip-users mailing list
address@hiddenhttps://lists.nongnu.org/mailman/listinfo/lwip-users