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)