lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] LWIP TCP server(Dup ACK and Retransmission)(Bare metal)


From: Sergio R. Caprile
Subject: Re: [lwip-users] LWIP TCP server(Dup ACK and Retransmission)(Bare metal)
Date: Fri, 12 Feb 2016 09:39:21 -0300
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Thunderbird/38.5.1

Let me see if I got the picture:
You have something (client) that connects to an lwIP box (server).
The lwIP box is sending what you see as duplicate ACKs, so the client
retransmits the messages.
You are using RAW API, and NO_SYS=1
Your receive callback should handle err != ERR_OK, that can also be an
indication of closure, although that is quite likely not related to your
actual problem
        if ((p == NULL) || (err != ERR_OK)){
The sleep() is a VERY bad idea.
Do you actually have a tcp_sent() callback ?

I'd like to see the wireshark capture file to make sure we are talking
about duplicate ACKs and not lost frames.
My guess is that due to memory constraints or cpu hog or bad coding,
your driver is missing frames, lwIP doesn't see them, and so it asks
again for what got lost.
Did you try your driver and port with a known good application from the
contrib tree ?
Are you honoring the threading rules ? You should be calling lwIP
functions ONLY from the main loop OR one interrupt handler, NOT BOTH.
(lwIP RAW API is single threaded and non-reentrant) Are you ?



reply via email to

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