Home/Support/Support Forum/TCP RST/ACK responce to SYN instead of SYN/ACK
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

TCP RST/ACK responce to SYN instead of SYN/ACK

0 votes
I have code that was built on DC rev 9.52 and the Rabbit device works in static mode when the host is on a different LAN. When establishing a telnet connection from host to the device, the device responds with SYN/ACK to SYN.

Now using DC rev 9.62, when configured in static mode, the device responds with RST/ACK to SYN instead of SYN/ACK.

There has to be something different in the library files. Can any one help. How do I troubleshoot the reson for a RST/ACK response?

Thanks,
Dmitry
asked Oct 13, 2014 in Rabbit Software by dbabayev New to the Community (6 points)

Please log in or register to answer this question.

7 Answers

0 votes
Did you download the library patches for Dynamic C 9.62?
answered Oct 13, 2014 by MargaretK Veteran of the Digi Community (545 points)
0 votes
The patches did not help.

WireShark shows:

When in Static mode:

From Host to Device [SYN]
From Device to Host [RST, ACK]
From Host to Device [TCP Spurious Retransmission] [SYN]
From Device to Host [RST, ACK]

When in Dynamic mode:

From Host to Device [SYN]
From Device to Host [SYN, ACK]

What am I missing?
answered Oct 13, 2014 by dbabayev New to the Community (6 points)
0 votes
Also keep in mind that Point-to-Point connection works in Static configuration.
answered Oct 13, 2014 by dbabayev New to the Community (6 points)
0 votes
What Rabbit product do you have and are you using the Rabbit proto board?
answered Oct 13, 2014 by MargaretK Veteran of the Digi Community (545 points)
0 votes
I am using RCM3315.

The board is sitting on a custom built motherboard, which mainly supplies power.
answered Oct 13, 2014 by dbabayev New to the Community (6 points)
0 votes
OK, got it!

In the TCP.LIB, I swapped the comments:

This was commented out:

ath = arpcache_new(hisip, &((eth_Header *)hdrbuf)->source, iface);

This was used:

//ath = arpresolve_start_iface(hisip, iface);

Bad result caused:

if (ath <= 0)
{
#ifdef TCP_VERBOSE
printf("tcp_handler 2: tcp_rst %d %s\n", __LINE__, __FILE__);
#endif
tcp_rst(LL, hdrbuf, tp);
goto _th_finish;
}

If any one understands why then please let me know.

Thanks,
Dmitry
answered Oct 13, 2014 by dbabayev New to the Community (6 points)
0 votes
There is a note above the commented line:
Vantive 23956: now use ARP lookup instead of sending back to source's MAC address.

Not sure if the issue you are seeing is application specific. Are you able to reproduce this with a sample?
answered Oct 13, 2014 by MargaretK Veteran of the Digi Community (545 points)
...