2024-10-20 07:37 PM - last edited on 2024-10-23 01:48 PM by SofLit
Good morning.
I'm running an STM32F767Zi on a custom board, LwIP 2.1.2, no OS. The device acts as a HTTP server. I've got an issue where I get GET requests and [FIN, ACK] packets retransmitted by the web browser.
192.168.5.106 - Client
192.168.5.196 - Server
The issue seems to be intermittent and appears only when a portion of the webpage content is requested (status.xml) once per second. When the entire webpage content is first loaded I don't get any packets retransmitted.
The pattern is:
Looks like the first GET request is not processed until the retransmitted packet arrives.
What I've done so far:
Also:
I don't know what I'm missing, I would appreciate if somebody could point me in the right direction. I spent days on troubleshooting and trying to find what the issue is, but run out of ideas...
EDIT:
I noticed that the problem goes away when I disable LCACHE by resetting IC bit in SCB_CCR. Also, GET message processing time increases from 8-9 ms to 16-17ms.
EDIT2:
I made another observation. I flooded the device with ICMP requests simultaneously from 8 terminals. If an ICMP packet arrives after a GET request, I get the correct response from the HTTP server and the GET packet doesn't get retransmitted.