We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello,
This is not a Keil related question (even though the Keil compiler is used to build the code). Sorry for that, I was merely wondering if someone had a clue...! I have a rather strange problem: using open source networking library lwIP running of a LPC1788/FreeRTOS (does not matter I think), I am attempt to upload large files to a server. If a browser is used for that purpose (mimicking the embedded product behavior), the data is deliver quickly. However, if lwIP is used, I see that the reception window of the server shrinks and shrinks until it is so small that the connection is stalled and then broken. I do see that the browser uses TCP scaling (en.wikipedia.org/.../TCP_window_scale_option) but I don't think this is the main reason: even sending 5 KB/s induces this behavior! I know that server is powerful enough. I know lwIP is fast enough. I don't understand why the reception window of the server shrinks when lwIP sends data, but not if a browser sends data. Any ideas?
How can this be a bug in the server if the same upload process, when carried out by a browser, does not cause this behavior? I need to slow down the upload to something like 3 KB/s to prevent this from happening, which is on the average even slower than uIP that lwIP is intended to replace...
Well, it sure looks like what you suggest, Mike:
en.wikipedia.org/.../Silly_window_syndrome
but there is conflicting evidence...
How can this be a bug in the server if the same upload process, when carried out by a browser, does not cause this behavior?
It escapes me how the fact that everything works with a browser suddenly rules out any possible bug in the server. The server likely needs debugging. Some knowledge of how lwip works is necessary for that.
There must be a difference between the two situations.
Using something like Wireshark and looking at the actual traffic would be a very good start.
DJR