[En-Nut-Discussion] TCP/IP-Problems

Brett Abbott Brett.Abbott at digital-telemetry.com
Mon May 29 22:36:38 CEST 2006


Hi

To help understand this, the following summary may help work out where 
to look first.

Frame1.  Nut(port4001) to Siemens(4001):   SYN (Attempt to connect), Seq=0
Frame2.  Siemens(4001) to Nut(4001):  SYN/ACK, (Connect/ACK to frame1), 
Seq=0, Ack=1
Frame3.  Nut(4001) to Siemens(4001):  ACK (ACK to frame 2), Seq=1, Ack=1
Note - your analysis software gets confused at this point and reports 
that frame 3 is a duplicate to the ack in frame 3,  it looks ok at first 
glance, so wont worry just yet.
...
wait 6.8 seconds
...
Frame 4. Nut(4001) to Siemens(4001) , ACK/FIN, (ACK to frame 3), Seq=1, 
Ack=1

Now, this is where it is interesting.  You have to work out why the 
application waited 6-7 seconds.  Was it the application, was it the TCP 
retransmission timer.

The Nut is initiating the disconnect and appears to be resending the ACK 
packet. 
1. Check if your application is trying to disconnect due to lack of 
response - if yes, why isnt the Siemens responding - perhaps you need to 
wait longer for the cheaper model of siemens.
2. Find out using tracing if the frame 2 is actually processed by the 
nutos stack - it appears so but worth checking.

3. Try the same process with your unit that works.  Using the above 
summary version, you will see within 5-6 frames where the differences 
are between good and bad and then you can look closer.  Once you know 
where the differences are between working and non-working, you can work 
out if the fault is with the Siemens or the Nut/Application - the first 
side to be different in the version that doesnt work is the side that is 
behaving oddly.

4. If the Siemens acts differently, you can modify your code accordingly 
(this may be faster than telling Siemens they have a bug).  If the Nut 
acts differently, then you have a timing issue or an unexpected code change.

5. Note the reported error in Frame 3, this may be a clue to a subtle 
difference - the fastest way to track down the cause is to have a 
working trace and a faulty trace side by side.

Good luck.
Brett

-----------------------------------------------------------------
Brett Abbott, Managing Director, Digital Telemetry Limited
Email: Brett.Abbott at digital-telemetry.com
PO Box 24 036 Manners Street, Wellington, New Zealand
Phone +64 (4) 5666-860  Mobile +64 (21) 656-144
------------------- Commercial in confidence --------------------





More information about the En-Nut-Discussion mailing list