W5300 TCP Server Socket stuck at SOCK_SYNRECV state and time out

Hello there.
I am using FPGA to control W5300, which works as a TCP server. When I create a TCP client using MATLAB on my PC and try connect to W5300, the state of W5300 TCP socket switches from SOCK_LISTEN to SOCK_SYNRECV, then it is stuck until timeout and finally closed. How can I solve this problem? Any information is appreciated.

Additional info:

W5300 (SERVER) IP:; PORT NUM: 30000
PC (client) IP:;
Subnet mask:

Client and server connect through an Ethernet switch.

Connect process in TCP is as below. The SOCK_SYNRECV state means that a SYN is received from the client. If timeout occurs, it means that ACK is not received from client. Please check your client once more.
Client ---------------------- Server
SYN ---------------------->
<--------------------- SYN, ACK
ACK ---------------------->

Thanks Becky!
I understand that something is wrong with the connection. It is funny that if I connect W5300 directly with my PC, connection can be successfully established. Maybe the problem is related to the switch.