WIZnet Developer Forum

[W5500] TCP Retransmission 시간 조정 가능하나요?

17577 573.649433 192.168.0.80 192.168.0.3 TCP 96 5062→5062 [PSH, ACK] Seq=195 Ack=74 Win=2048 Len=42
17584 573.684831 192.168.0.80 192.168.0.3 TCP 96 [TCP Retransmission] 5062→5062 [PSH, ACK] Seq=195 Ack=74 Win=2048 Len=42
17585 573.684853 192.168.0.3 192.168.0.80 TCP 54 5062→5062 [ACK] Seq=74 Ack=237 Win=64006 Len=0

w5500 Client Mode에서 192.168.0.80 Client Server: 192.168.0.3
w5500 Chip에서 35ms 후에 ACK 가 왔는대 아마도 Time Out이 걸린것 같습니다.
Timer 어디를 조정 해야 하나요?
첨부 .txt -> .pcapng 로 하면 wireshark 으로 볼 수 있습니다.
capture 20170216-1.txt (4.33 MB)

네 retransmission 시간은 조정이 가능합니다.

데이터시트 참고하여 레지스터중 RTR 레지스터 값을 원하는 값으로 수정하시면 됩니다.

Timeout이 발생하면 재전송이 일어납니다.

RCR 레지스터의 값만큼 재전송을 시도합니다.

RTR 타임아웃 값만큼 RCR 값만큼 재전송을 모두하게 되면 최종 타임아웃이 발생하게 됩니다.

즉 RTR 5초 RCR 3회 라면
시간 액션
0 전송
5초 재전송 1회째
10초 재전송 2회째
15초 재전송 3회째
20초 Timeout Interrupt 발생

위 과정대로 진행됩니다

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.