TCP window flow control issue
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: TCP window flow control issue
by becky ·
Hello,
[TCP Window Update] Packet is a packet sent because the PC’s Window Size is not enough.
If the PC has sufficient Window Size, the W5500 will not send a [TCP Window Update] packet.
So I think that the W5500 sends data without the [TCP Window Update] message, the PC will not receive it and the W5500 will retransmit the data
Anyway, there is no way to disable the [TCP Window Update] packet from being sent.
Thank you
RE: RE: TCP window flow control issue
by RonPeL ·
Hello Ms. Jeong, and thank you for your quick reply to my question on the WIZnet forum.
Let me explain the situation and our information more clearly.
First, normally, a TCP receiver (in this case, the WIZnet W5500) sends the [TCP Window Update] message to inform the sender that it now has enough buffer space to receive the next message. The previous message sent to the WIZnet was a 2-byte message, which should not cause any buffer overflow.
If we run this same application directly to the NetNurner Ethernet port, the message traffic is identical except for the sending of the [TCP Window Update] message. If you wish, I can send WireShark captures of both interactions.
Please note that the message traffic is synchronized, that is, the application on the WIZnet side (the sender) does NOT send any data to the receiver (the PC) UNTIL the 2-byte message (meaning send next 2000-byte buffer of data) is received. This directly avoids any overflow of the TCP buffers.
Also, please note that NORMALLY, the additional [TCP Window Update] message does NOT cause a problem in the flow of data.
Our major problem is, that sometimes, the WIZnet W5500 delays the sending of the [TCP Window Update] for 1 second, and it does not start sending the data to the receiver until AFTER the [TCP Window Update] message has been sent. This is a serious problem for us. I can also send WireShark captures of this if you would like.
Can you explain why the W5500 would do this 1-second delay for each transmission of the [TCP Window Update] message, and more importantly, what can we do to make sure this doesn’t happen?
Thank you again for your attention on this issue.
Ronald Lupish
Siemens Mobility, Inc
MO RC-US MM-MMF PRJ CSEN SW
664 Linden Avenue
East Pittsburgh, PA 15112, USA
Tel.: +1 412 702-1133
mailto:ronald.lupish@siemens.com
RE: TCP window flow control issue
by Eugeny ·
That would be good.
Sounds like you have no-delayed ACK for the socket turned off (disabled). What value socket register Sn_MR is being initialized to?
RE: TCP window flow control issue
by RonPeL ·
Привет, Евгений, и спасибо за ваш быстрый ответ.
К сожалению, английский язык намного легче для меня, моя способность к русскому языку ограничена и очень плоха. L
And so the rest will be in English…
I am setting the no-delayed ACK bit in S0_MR (I am only using socket 0 for our application.) S0_MR is initialized to 0x21. I will send along the WireShark captures shortly.
Best regards,
Ron
RE: TCP window flow control issue
by Eugeny ·
Attach them here changing their externaion or packing into ZIP/RAR.