W5200은 언제 Close 상태로 돌아가는지 궁금합니다.?

#1

안녕하세요. Wiznet 여러분.

W5200에 대해서 문의를 해 봅니다.

W5200을 STM32F407VE에 연결해서 Network 구현을 하고 있는데,

6시간이나 7시간동안 100Kbps 정도로 데이터를 쓰고 받고 있는데,

Wiznet 칩이 PC에 Close를 주고 있는 것 같아요.

그런데, Close STATE에 Break point을 걸어도 걸리지 않습니다.

그래서 문의를 해 정리하면 W5200 칩안에서 Close을 PC에 요청할 수 있나요. 외부의 Firmware에서는

Close를 하지 않습니다. 그럼 어떻게 Close를 요청하는지 또는 PC에서 Close을 받을 수 있는 경우가 있는 지 궁금합니다.

감사합니다.

#2

안녕하세요.

아마도 timeout 발생으로 인한 close 일거라 생각 됩니다.
TCP connection이 된 상태에서, 데이터를 보냈는대 ack를 받지 못하는 경우 RTR. RCR 레지스터의 값에 따라 재전송 이후 timeout이 발생하며 close가 됩니다.

또는 ARP 전송 이후 응답을 받지 못하는 경우에서 발생합니다.

#3

그럼 Close 된 상태에서 W5200 칩의 State는 Listen이나 Close 상태인가요 아니면 Session Establish 상태인가요?

왜나하면 Session은 Establish 상태에 있거든요.

Listen이나 Close 상태가 아닙니다.

PC와 W5200을 연결하면

PC에서는 request to close를 받고 Close 를 했고, W5200은 Session Etablish상태입니다. 이게 가능한 건가요?

감사합니다.

#4

W5200에서 FIN packet을 전송했다면 PC가 FIN/ACK를 보낼 겁니다.
만약에 보낸다면 이 패킷을 받고 close 상태가 되거나

보내지 않았다면 이 또한 timeout이 발생하여 자동으로 close 상태로 됩니다.

즉, close상태가 되야 정상입니다.

PC쪽에서 W5200에서 보내는 FIN 패킷이 맞는지 확인해보시고,
W5200에서 timeout interrupt가 발생했는지도 확인해보세요.