[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] Browser finishes every HTTP GET request with a ACK RST,
From: |
groups |
Subject: |
Re: [lwip-users] Browser finishes every HTTP GET request with a ACK RST, why ? |
Date: |
Wed, 22 Sep 2021 14:25:06 -0600 |
Interesting interesting.
A while back I had put together my own web server on top of Espressif’s AT
command set for ESP8266. The whole thing was working as a UI for a sealed
embedded system with no display or keyboard.
The web pages that I would feed were crafted to re-request periodically, like
every 10-15 seconds. (I can’t remember the details)
The page would refresh nicely for about a minute or 90 seconds to many
minutes(again details), but eventually the page would write and then
immediately blink to a server reset the connection screen.
After much frobbing and tweaking, I fired up Wireshark and I could see that all
normal transactions would finish with an ACK, but the same request a little
while later would finish with an [RST, ACK] being sent from the ESP8266 module.
Eventually my customer complained that this wasn’t good enough and needed to be
fixed. I spent a whole lot of time and effort sending messages back and forth
with Espressif, grabbing their latest code, building it all from source,
testing, and adjusting to their undocumented API, but I definitely ran into the
saving face culture when trying to report an issue. Eventually I had a system
that would be stable if I reduced the re-request delay to about 9 seconds,
because at 10 seconds the connection would get closed and never reopen again
without a reboot (anyway, their code has issues and I traded one set of bugs
with no path forward for another with some pretty terrible hacks as a work
around).
So, Espressif’s stack is based on FreeRTOS, LwIP, and a whole bunch of magic.
I’ve seen this same issue in their stack. I can’t say that it’s an LwIP
problem, but it wouldn’t surprise me as well.
Hope this helps,
Andrei
> On 2021-September-15, at 07:37, Info <info@winformatik.ch> wrote:
>
> Hi
>
> I'm using lwIP (2.1.3-RC1) with the httpd web server from the apps directory
> in my embedded application. After loading a web content from the web server a
> periodic communication starts from the web browser that opened the website.
> This all works, but after a view minutes the periodic communication gets
> broken (the web server/lwIP stack itself does not crash). After a reload of
> the web site the periodic communication is established again for a view
> minutes.
>
> In the attached Wireshark capture file I can see many frames (from the web
> browser) with the set ACK RST flags. For me it not clear why the web browser
> sends this frames and if it is the reason for the broken periodic
> communication ? Any help and maybe some explanation would be very welcome.
>
> I also activated the debugging output and the internal lwIP asserts, but this
> did not help me to track down the problem. The web server does not support
> encryption.
>
> The lwIP uses FreeRTOS with the sys_arch files found in the contrib package.
>
> IPs used in the Wireshark capture : The web server uses 192.168.3.131 and the
> client (web browser) 192.168.10.103 .
>
> Thank you very much for any help
> Roland
> <HTTPD_WebServer_2_1_3.pcapng>_______________________________________________
> lwip-users mailing list
> lwip-users@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/lwip-users