FreeRTOS + TCP TCP Spurious Retransmission (attached the pcap file)

Hello.

TCP Spurious Retransmission events are occurring, as shown in the attached Wireshark log.
The MCU in use is STM32H743, running on a FreeRTOS + TCP environment.

TCP Server A (Port 57197) communicates approximately every 200ms.
TCP Server B (Port 55118) communicates approximately every 3 seconds.
In this scenario, Server A transmits data to the client and receives an ACK, but it still retransmits the packet.

What could be the cause of this issue, and how can it be resolved?

1 20:51:33.330047 fe80::5ae3:26ff:fe00:1600 fe80::58e3:26ff:fe00:1 TCP 330 52292 → 55118 [PSH, ACK] Seq=1 Ack=1 Win=259 Len=256
2 20:51:33.332621 fe80::58e3:26ff:fe00:1 fe80::5ae3:26ff:fe00:1600 V2GMSG (ISO-2 ?) 114 ChargingStatusRes
3 20:51:33.332709 fe80::5ae3:26ff:fe00:1600 fe80::58e3:26ff:fe00:1 TCP 74 49152 → 57197 [ACK] Seq=1 Ack=41 Win=259 Len=0
4 20:51:33.460675 fe80::58e3:26ff:fe00:1 fe80::5ae3:26ff:fe00:1600 TCP 74 55118 → 52292 [ACK] Seq=1 Ack=257 Win=1440 Len=0
5 20:51:33.460748 fe80::58e3:26ff:fe00:1 fe80::5ae3:26ff:fe00:1600 TCP 114 [TCP Spurious Retransmission] 57197 → 49152 [PSH, ACK] Seq=1 Ack=1 Win=1440 Len=40

Sorry. Uploading a pcap file does not make one a new user.
wireshark_log.zip (1.9 KB)
FreeRTOSIPConfig.h (20.1 KB)

You should now be able to upload files.

@coollhc

Can you share the version of FreeRTOS+TCP you use along with the contents of FreeRTOSIPConfig.h?

Also you may take a look at this TCP echo client demo on configuring the +TCP sockets for TCP transmission.