[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] TCP keeps re-transmitting but no ACK packet after SYN,

From: Sergio R. Caprile
Subject: Re: [lwip-users] TCP keeps re-transmitting but no ACK packet after SYN, SYN+ACK
Date: Mon, 09 Mar 2015 17:13:10 -0300
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Thunderbird/31.5.0

By "port" I meant who did the work of porting the stack to your processor.
Sorry, I don't fully agree with your definitions of "known to be good"
or "known to work". To me those are "supposed to be OK". Your web server
is not lwIP code, how are you certain it works OK ? You can't have two
unkown variables and believe both of them are true. In order to test the
port for good, you need a known to work application, and viceversa.
Some things might have happened on what you have there:
- The web server might have defects that weren't seen on 1.4.1 and are
evident in git head.
- The official release 1.4.1 might have been manipulated by the one
doing the port to make it work, so when you apply a git head it won't work.
As Simon pointed out (I missed that, only TCP checksum validation
activated on my Wireshark...), you are sending IP datagrams with bad
checksums. That is the reason why your browser does not see the SYN+ACK
and keeps sending SYNs.
What he describes is what I called "defects that weren't seen on 1.4.1
and are evident in git head" a couple lines above...

If we assume that the driver (the port) and the stack (the port) are OK,
you have to try to reduce the web server to the minimum required to
serve a static page, know what API is it using, and if you post the
minimum code someone will probably check it (I offer my help with the
raw API, don't know the others. Be specific in the subject on what API
you are using.
If we assume the web server is OK (why ?), then something is broken in
your port, that is, the lwIP code is modified and or the ethernet code
is buggy. Pickup one of the known to work applications, and see if it
works, and if it doesn't, find why.
You are using NO_SYS=0, hope you know what your are doing with tasks and
calling lwIP from just one of them. I can't help further on this, I'm a
NO_SYS=1 guy.
Good luck

PS: how come you are developing networking applications and don't know
how to do a plain telnet to a port ? you open a command shell or
whatever M$ calls it and write "telnet" followed by the port number, or
install PuTTY.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]