Hello everyone!
Recently there is an Ethernet connection issue of our product which uses W5300. After analyzing the packets, we found when the issue happens, W5300 does not respond to SYN request from the peer.
You can see several occasions in the attachment like packet ID 216, 256, 338, 369.
They are SYN request from 10.54.53.240 (a remote peer) to 10.15.1.80 (W5300), but W5300 does not give SYN ACK.
We believe there are still free sockets on W5300 and as we tested, even if all sockets are occupied, W5300 should send a RST instead of keeping silent. As I understand from the specification, the transition from SOCK_LISTEN through SOCK_SYNRECV to SOCK_ESTABLISHED should be controlled by W5300 itself not application.
Interestingly, W5300 is still working when this issue happens because another remote site 10.10.28.240 is talking to it. It seems W5300 just cannot respond anything to new SYN request at that moment. A software RST to MR1 of W5300 can restore the situation and it can accept new SYN and talk to both sites correctly.
Both remote sites (10.54.53.240 and 10.10.28.240) use the same MAC address. This is because two sites are connected to the local site via WAN and a router. The router is connected to one port of one local switch and 10.15.1.80 is connected to another port of the same switch. It should be a normal topology.
Did anyone come across the similar issue?
Thanks in advance!
Wiznet packets capture.zip (11.2 KB)