From: gdonl@sunrise.ssi1.com (Don Lewis)
Newsgroups: comp.mail.uucp,comp.dcom.modems,biz.comp.telebit
Subject: Re: TB+ and uucp spoofing - does it really work
Keywords: spurious spoofing?
Date: 14 Aug 92 08:52:24 GMT
Organization: Silicon Systems, Nevada City CA

In article <5102@airs.com> ian@airs.com (Ian Lance Taylor) writes:
>honey@citi.umich.edu (Peter Honeyman) writes:
>
>>i've heard rumors of bugs creeping into later versions
>>of spoofing modems, but the assertion that the originial spoofing modems
>>worked flawlessly is borne out by years of experience with tens of thousands
>>of units in the field.
>
>I believe that bugs must have crept in.  I've seen several debugging
>traces in which a Trailblazer modem has broken the protocol, always
>following an unexpected event such as a corrupted packet or (in one
>case) a bad assumption in my code which lead to a missed time out.
>One person (who I won't mention here, since he may not want the
>publicity) even put a protocol analyzer on the line and proved that
>the modem was definitely at fault.  He has sent the information to
>Telebit, but I don't know if they have responded.

I guess this my cue to speak up.  First a bit of background though.
I've got a Sparc 2 running SunOS 4.1.1, and a T2500 with ROM version
GF7.00.   For quite a while I've been having problems with dropped
uucp connections to both my local news feed (an Ultrix box with BA5.00
TB+'s) and uunet.  The visible symptoms were that while receiving a
file, the receive data light on the modem would go dark, the send
light would blink a few times, and then the connection would be dropped.
I thought that the BNU uucp supplied with the Sun might be buggy, and
since I had been hearing good things about Taylor uucp, I decided to
switch.  Unfortunately, my problems with dropped connections continued.
The problem seems to be sporadic.  Sometimes, days go by without error.
On other days, 20 percent of my calls fail.  I finally got disgusted, so
I cranked up the log level on uucico and took a look.

The uucp logs seemed to indicate that the modem was violating the
uucp 'g' protocol.  I sent a copy of one of the logs and other relevant
information to Telebit tech support.  The response that I received
indicated that they suspected that the problem was that the Sun was
dropping characters, especially since the Sun doesn't support RTS/CTS
flow control on incoming data.  I responded that it didn't seem this
was likely, since there was no correlation with system load, I didn't
receive any diagnostics (like Silo overflow), in raw mode the kernal
input buffer should hold at least 256 characters which is more than
a g(3,64) window, and cranking up the log level of uucico on the Sun
(the receiving end!) seemed to make the problem occur less frequently
instead of more so.  In any case, the 'g' protocol should be able to
recover from dropped characters.  I also sent Telebit some more logs
that showed the modem sending other nonsense packets, such as acks for
packets that were sent ages ago and acks for packets that hadn't been
sent.  I finally hooked up a protocol analyzer and it showed that the
uucico logs were accurate.  I mailed this information off to Telebit,
and have yet to receive a response.

>These problems have never led to corrupted data, to my knowledge,
>since the modem usually drops the connection not too long after the
>errors start to occur (but when I implement file restart, the chance
>of data corruption will increase).

See the attached log if you really want to be scared.

>If you want to run a Telebit in spoofing mode, I recommend ensuring
>that you have an essentially error free connection between the modem
>and the computer; for a particularly slow or a particularly fast
>computer, this will require hardware handshaking, or running at a baud
>rate less than 9600.

Unfortunately, it looks like the session can go off into the weeds
even without errors on the connection between the modem and the computer.

Ok, here is a log from uucico from a failed connection.  Up until this
point, everything was working fine.  The modem was doing the correct 'g'
protocol thing.  The computer was loaded, so sometimes its acks were
delayed, but the modem would always pause once it had three outstanding
packets, until at least one of them was ack'ed.  At about this point in
the connection, things started to go out to lunch, although it is not
visible in the uucico log, but it is visible in the trace from the protocol
analyzer.  At the end of the log, just before the connection is dropped,
the problems become visible.  After the log is an annotated RS232 trace.

root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fgsend_control: Sending control RR 1
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8812
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fgwait_for_packet: Need 46 bytes
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fport_read: Read 114
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fgprocess_data: Got packet 2
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fgsend_control: Sending control RR 2
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8698
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fgwait_for_packet: Need 2 bytes
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fport_read: Read 21
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fgprocess_data: Got packet 3
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fgsend_control: Sending control RR 3
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8677
root gvgpsa (8/4-22:11:44,12436,0) DEBUG: fgwait_for_packet: Need 51 bytes
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_read: Read 196
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 4
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 4
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8481
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 5
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 5
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8481
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 6
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 6
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 14 of 8481
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgwait_for_packet: Need 51 bytes
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_read: Read 144
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 7
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 7
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8323
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 0
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 0
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8323
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgwait_for_packet: Need 47 bytes
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_read: Read 162
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 1
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 1
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8161
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 2
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 2
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8161
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgwait_for_packet: Need 25 bytes
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_read: Read 56
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 3
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 3
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 8105
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgwait_for_packet: Need 39 bytes
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_read: Read 154
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 4
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 4
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7951
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgprocess_data: Got packet 5
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgsend_control: Sending control RR 5
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7951
root gvgpsa (8/4-22:11:45,12436,0) DEBUG: fgwait_for_packet: Need 25 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 54
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 6
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 6
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7897
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 41 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 50
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 7
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 7
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7847
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 61 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 64
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 0
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 0
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7783
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 3 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 26
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 41 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 65
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 1
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 1
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7692
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 46 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 172
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 2
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 2
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7520
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 3
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 3
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7520
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 14 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 37
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 4
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 4
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7483
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 47 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 118
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 5
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 5
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7365
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 6
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 6
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7365
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 5 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 38
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 31 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 75
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 7
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 7
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7252
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 26 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 108
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 0
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 0
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7144
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 1
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 1
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7144
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 58 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 58
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgprocess_data: Got packet 2
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgsend_control: Sending control RR 2
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 7086
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fport_read: Read 10
root gvgpsa (8/4-22:11:46,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fport_read: Read 112
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgprocess_data: Got packet 1; expected 3
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgwait_for_packet: Need 32 bytes
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fport_read: Read 116
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgprocess_data: Got packet 2; expected 3
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgprocess_data: Got packet 3
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgsend_control: Sending control RR 3
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 6848
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fport_read: Read 56
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgwait_for_packet: Need 14 bytes
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fport_read: Read 114
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgprocess_data: Got packet 1; expected 4
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgprocess_data: Got packet 2; expected 4
root gvgpsa (8/4-22:11:47,12436,0) DEBUG: fgwait_for_packet: Need 44 bytes
root gvgpsa (8/4-22:11:48,12436,0) DEBUG: fport_read: Read 46
root gvgpsa (8/4-22:11:48,12436,0) DEBUG: fgprocess_data: Got packet 3; expected 4
root gvgpsa (8/4-22:11:48,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:11:58,12436,0) DEBUG: fport_read: Read 0
root gvgpsa (8/4-22:11:58,12436,0) DEBUG: fgsend_control: Sending control RJ 3
root gvgpsa (8/4-22:11:58,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 6632
root gvgpsa (8/4-22:11:58,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:12:08,12436,0) DEBUG: fport_read: Read 0
root gvgpsa (8/4-22:12:08,12436,0) DEBUG: fgsend_control: Sending control RJ 3
root gvgpsa (8/4-22:12:08,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 6632
root gvgpsa (8/4-22:12:08,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:12:18,12436,0) DEBUG: fport_read: Read 0
root gvgpsa (8/4-22:12:18,12436,0) DEBUG: fgsend_control: Sending control RJ 3
root gvgpsa (8/4-22:12:18,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 6632
root gvgpsa (8/4-22:12:18,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:12:28,12436,0) DEBUG: fport_read: Read 0
root gvgpsa (8/4-22:12:28,12436,0) DEBUG: fgsend_control: Sending control RJ 3
root gvgpsa (8/4-22:12:28,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 6632
root gvgpsa (8/4-22:12:28,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:12:38,12436,0) DEBUG: fport_read: Read 0
root gvgpsa (8/4-22:12:38,12436,0) DEBUG: fgsend_control: Sending control RJ 3
root gvgpsa (8/4-22:12:38,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 6632
root gvgpsa (8/4-22:12:38,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:12:48,12436,0) DEBUG: fport_read: Read 0
root gvgpsa (8/4-22:12:48,12436,0) DEBUG: fgsend_control: Sending control RJ 3
root gvgpsa (8/4-22:12:48,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 6632
root gvgpsa (8/4-22:12:48,12436,0) DEBUG: fgwait_for_packet: Need 6 bytes
root gvgpsa (8/4-22:12:58,12436,0) DEBUG: fport_read: Read 0
root gvgpsa (8/4-22:12:58,12436,0) ERROR: Timed out waiting for packet
uucp gvgpsa (8/4-22:12:58,12436,0) DEBUG: fgsend_control: Sending control CLOSE 0
uucp gvgpsa (8/4-22:12:58,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 6632
uucp gvgpsa (8/4-22:12:58,12436,0) DEBUG: fgsend_control: Sending control CLOSE 0
uucp gvgpsa (8/4-22:12:58,12436,0) DEBUG: fport_io: Wrote 6 of 6, read 0 of 6632
uucp gvgpsa (8/4-22:12:58,12436,0) Protocol 'g' packets: sent 2, resent 0, received 131
uucp gvgpsa (8/4-22:12:58,12436,0) Errors: header 0, checksum 0, order 5, remote rejects 0
uucp gvgpsa (8/4-22:12:58,12436,0) DEBUG: fport_write: Writing 8
uucp gvgpsa (8/4-22:12:58,12436,0) DEBUG: fport_write: Writing 8
uucp gvgpsa (8/4-22:12:58,12436,0) Call complete (89 seconds)
uucp gvgpsa (8/4-22:12:58,12436,0) DEBUG: fcall_failed: Cause 5 (Call failed)
uucp gvgpsa (8/4-22:12:58,12436,0) DEBUG: fport_close: Closing port


Here is the trace from the protocol analyzer, the data from the modem is
on the lines labeled with '*' and is below the simultaneous data from
the computer:

                                 	                                 
] **** HP 4957 Printer Output **** 
]                                  
]                                  
] Block  18       Print Page    42 
]           108A20                 
]           099A1B                 
] 556A33A9BAA1134880042C844759736F*
] A628937BCDE376339B4B5012632A9893*
            ^ send RR 1
]
] E5904457E8102299E9FF5E4361805A91*
] 56C153024F0253AE4182EE8817B43221*
            ^ start of packet 3
]                                  
] A7AC67A34A40C00433B8A5922745E0F9*
] 4F9B38F289B23744DD9ACEBC7ABEA0B6*
]                              108 
]                              098 
] D2E7A31EA0011E2810E1A5C802C9C06D*
] FA6D3C5764D00284020121491D085BF2*
                               ^ send rr2
                  ^ start of packet 4
] A20      108A20                  
] A29      097A37                  
] 2E8D334E0382B091152DAC6BE4BC4842*
] FA391E809419040F58E57C8A820C9D38*
           ^ send rr3
]                                  
] 54F09520AC963640B0290A1010AB8139*
] B094E175C0A93F68801048023CA70389*
                        ^ start of packet 5
]                                  
] Block  19       Print Page    43 
]                                  
] 72D04585E24051F5DB8D036C244E6003*
] DA8CCD45C4F8E13948C92667C0704613*
]                                  
] 866E8104A4CCA252D6F3E8071B1610FF*
] 3686AC2806ACE9DA052227C09B5C022A*
                              ^ start of packet 6
]                                  
] BB6E4D076A2246AECBB0487F379251BD*
] 28E619254CC3221AFC0DCDFD5C2C3758*
]                                  
] 288F000732AEB9480A8CC31AE799374C*
] 898FC5C43D61C877CA0598B73CC032AE*
]                108A20108A20108A2 
]                096A41095A53094A6 
] C310C1B63168328D02C2B3ACE208305C*
] 990273AC994347B39CE708902C2B372E*
    ^ start of packet 7
                 ^ send rr4
                       ^ send rr5
                             ^send rr6

Ok, here is the first problem.  We've received and ack'ed packet 3.
The modem has sent packets 4, 5, and 6, which have not yet been ack'ed.
The modem starts sending packet 7, but this is outside our window of
three packets that we negotiated at the beginning of the session.
The computer manages to read all the packets anyway.

] 0                                
] 1                                
] D434AEE04EE48B29922126014A2C7207*
] 19AB79CBF0C8460C864C010C5B361C7C*
]                                  
] Block  19       Print Page    44 
]                                  
] 16F24E4910128B2FD81B0106CC62902B*
] 4BD3DE93021F2E58E0DADC2A6B719275*
           ^ start of packet 0
]                                  
] 42CC500AF360B70442E1E34FD4A06A07*
] 0B831E9A4AF23823208079789D83B4AC*
]                                  
] 9F93047627184810F0872109C1A08404*
] 5E155F9AB334010245A9204603822788*
                ^ start of packet 1
]                                  
] 8203A4C625679CF9359F15D951CDA7D8*
] 1706B02CB30C6F39E7E59DF270A41EAA*
]     108A20108A20                 
]     093A7709AA09                 
] 589A5318E13E000920CD10BB99014314*
] DA2E314999B78A8F2018024D29E10F28*
      ^ send rr7
            ^ send rr0
                      ^ start of packet 2
]                                  
] 159B8C283B4F6E01E8391B13D4370196*
] 993F4C4B30607703360D5D3294F4A814*
]                                  
] Block  19       Print Page    45 
]                                  
] 513D3C2F39EBCACF93BEC6074810309A*
] A881D5794F830CF69076C420290258A5*
                            ^ start of packet 3
]                                  
] 4096E38C6360C0CA73F8EFA438ECA124*
] 84D9A48F43E6ECD294139C1048280225*
]                                  
] 6E294CF030F288812AC071E20401024D*
] 471115A8FC20596C70E84D2750825A64*
]                     108A20108A20 
]                     099A1B098A29 
] 10ACACFC82B19417134CE4280E09A968*
] 020828309009D4803900D3E27AF1C5B3*
  ^ start of packet 4
                      ^ send rr1
                            ^ send rr2
]      108A20                      
]      097A37                      
] 8C06D92E780CA5B83562852626658FD2*
] 60541160B01C8ED5C0D097192185871E*
       ^ send rr3
]                                  
] 517C2C10D6A1C2614A1DC4707C0E9777*
] 8302610228A2655AF28FA9C187DC3D8E*
        ^ start of packet 5
]                                  
] Block  19       Print Page    46 
]                                  
] B8845BE938B1A0D5C0A40905D191386E*
] 26F00C444AF54AABA9C44DC12CB46167*
]                                  
] 8490394B57681010BA3E730A340C2F74*
] 7195C98F0B0D025E2B60D81194BAADE6*
              ^ start of packet 6
]                         108A2010 
]                         096A4109 
] C2D441828D598A4E42FFBAEBA       *
] 2DE4398C7F341FD202AD28FB2       *
                          ^ send rr4
                                 ^ send rr5
] 8A20                             
] 5A53                             
]    5DF102CF94862CAF45554B18E10AD*
]    04811AADAF741249810753F64028F*
                              ^ start of packet 7
]                                  
] BC7AAF445E47A048CE7C9ED150029284*
] AFE0E9CCEABF920776660E6ED88860C5*
]                                  
] 4126AC8AB0D19311A1182926FBF96450*
] 12F38C29C9943E5205B2FA79391DD266*
]                                  
] Block  20       Print Page    47 
]       108A20           108A20    
]       094A61           093A77    
] 8D10E98FC273DDCB70B5BE640948BF30*
] 8D020A2A2A64ECE6236BDA152D6549B6*
    ^ start of packet 0
        ^ send rr6
                         ^ send rr7
]                                  
] DEE5F25B12C7C49252A0647B4FEBA59D*
] BDC3797557736AF22FA01AC36A539C01*
]                                  
] 264745EA101089017F1312493E8A20AB*
] 3DB8AA490282A2B8044E6BE67D804194*
          ^ start of packet 1
] 108A20                           
] 09AA09                           
] C0DF00DECEA203638B31ADE2CA1708BC*
] 494715E9698404C74AB4A7236CEDE1A9*
  ^ send rr0
]                                  
] A546A6433186DF10AE9DDF6986DA08CF*
] 05959C8C93C3AE02D8256E9D0BC008AF*
                ^ start of packet 2
]              108A20              
]              099A1B              
] C4F8276AC8DF545302DA669963359994*
] 80C9A9000984DCA1353B897F2F87FAE7*
               ^ send rr1
]                                  
] Block  20       Print Page    48 
]                                  
] 29A342E513A5400D060510809192E78F*
] EB0D2424209AB492B7280278A7CA9B05*
                      ^ start of packet 3
]                                  
] 7AAA3145CD25889F93A16D6031E0908E*
] 43C375E163AFA83C252BB75A9B31D40A*
]                                  
] 33C957E00FD35B0E12A92D25A3100DA7*
] F43385F3545B004BA0C8A255F2028C24*
                            ^ start of packet 4
]                                  
] 4A8454CA518030E4452239D4894C8DC0*
] 925BD354869556E96A28041AC0654E11*
]                                  
] 9C3490B2B69187A720EA162A6416A880*
] 8210094464340912C960C4229FD1A00E*
]              108A20108A20     10 
]              098A29097A37     09 
] 1017ACD0300603CCB5FA1903E401770C*
] 02AEAC32ECD8180353E178585BC1CDED*
  ^ start of packet 5
               ^ send rr2
                     ^ send rr3
                                ^ send rr4
Here's another window violation.

]                                  
] Block  20       Print Page    49 
] 8A20                             
] 6A41                             
] D218956DA7EDC451E160BC704E1C4C3A*
] AA384C1198C239D17653BA8EE410A72C*
]                                  
] 0CF7D010EBBE87258A099293110C953D*
] C01FEE0281293858F1051439025D4C7C*
        ^ start of packet 6
]                                  
] 30928522196B0AF8A03F431A7AA8A5A0*
] E21447329F6810274279A117F5E5520D*
]                                  
] E80A94625E5410CEB915F1B9AB2AC2C0*
] 003EC38CAE34029BAA6111EC98C92504*
              ^ start of packet 7
]          108A20108A20            
]          095A53094A61            
] 9B1505202E728342764012EC74075854*
] F08C048AD055BB732BA9241220DBBA9A*
           ^ send rr5
                 ^ send rr6
]                                  
] E0A80CC775192B120610A88AD017E94E*
] 0F82D81A1B29A301070264224B2B76F0*
                    ^ start of packet 0
]                                  
] Block  21       Print Page    50 
]                                  
] C74C0102504014218F4816C001BB2FEE*
] 94505412052098B47084FB6A2001F3C8*
]       108A20                     
]       093A77                     
] 51A3152920E6F8E7E8C670D910DB8E0A*
] 8EBE2183E66155C2805401600294A5DC*
        ^ send rr7
                          ^ start of packet 1
]                                  
] 24A224B905C5B0829C2329FCFC0939E8*
] 897E42B0837A0BE0D0C8C416191A0580*
]                                  
] 050620A2D108C1A3FAD006B6907C0310*
] 28250FC571478A00D271C071E3301402*
                                ^ start of packet 2
]                  108A20108A20    
]                  09AA09099A1B    
] 219A201DE967E8A01AC1A12E3870BDC6*
] FB2407C97343CED24354C73DA6C847E4*
                   ^ send rr0
                         ^ send rr1
]                                  
] A85E379861263D0EC30C9A130B001C06*
] 0C52AED61EE0940100E2F90F334DE06E*
]                                  
] Block  21       Print Page    51 
]    108A20                        
]    098A29                        
] 0150    000000000000102F8594E1B9*
] 0D83    000000000000027DA2C81C1D*
     ^ send rr2
                      ^ start of packet 1

Hey, wait!  We've already gotten packet 1 and ack'ed it.
And its worse, this packet 1 is different that the last one!
Which one is correct?  The nulls are pretty interesting too.
]                                  
] 9BEA53E93492A21033B415CE402C2451*
] 00DE96118EEACA6FC4405622A27068ED*
]                                  
] FC045640E2A07524EE5968E71A0010DE*
] 41C5A163C7C46912F85B6CDC9B000217*
                              ^ start of packet 2

Another packet 2, and different from the last one.
]                                  
] 9AE73E5F5EA94DD6101267A43E91A79C*
] 26B69FDB246D9E8B467D910FEDB30248*
]                                  
] 985F9049B0572D2B64F589E4213D2959*
] 04C84B24626F169DC726E92C4543527C*
]                                  
] 0900100099AD401EDB2A1623257884BE*
] 83000240AC76C09FDC37FEE8045929E3*
      ^ start of packet 3
]                                  
] Block  21       Print Page    52 
]                                  
] 4598CD2407F2EA89DD779CA10009A1A5*
] 6A9BF588CB0524F1ECBAD9D8B54CC356*
]                      108A20      
]                      097A37      
] B06A7448DB000000000000    106789*
] D27698B2E8000000000000    025AA7*
                       ^ send rr3
                            ^ start packet 1
More of those nulls.  Yet another packet 1, and its
different that the two previous ones.
]                                  
] AF0028BF1D8CB02537961FA008005C58*
] 1E14C4B36E8A1B78D8302F06C0E16ADA*
]                                  
] 06634882A6B35C755C8812A2120E0754*
] B709525C12288B2A454D1EB506E1220A*
]                                  
] 0010FE98B1DFC694C45C5A5FBAD81116*
] 000250250F83E9CA47C040C485410096*
    ^ start of packet 2
Another packet 2, and it's different that the last ones.
]                                  
] 89D78A253958343FC1820EE44E48615A*
] 0533570B98B543FE7B2B8442C25E57C2*
]                                  
] Block  22       Print Page    53 
]                                  
] 2616B2BC0010B99B51338CB9321A0715*
] C07D18850002A7A5F94F1B271B1A0516*
            ^ start of packet 3
Another packet 3, and its different that the last one.
]                                  
] 42640596F48DB463C0D20640A0405C87*
] 6ED9AD77F561773A00783C0D0100E04A*
]                                  
] 52C0353C6D4B801A00              *
] CA60EE1FE16BD1F600              *
]                                  
] Block  25       Print Page    54 
] 109A12109A12109A12               
] 097A37097A37097A37               
]                                 *
  ^ send rj3
        ^ send rj3
              ^ send rj3
Since its been a long time and we haven't gotten packet 4,
send some naks to try to try to get the modem to send it.
]                                  
]                                 *
]                                  
]                                 *
]                                  
]                                 *
]                                  
]                                 *
]                                  
]                                 *
]                                  
] Block  34       Print Page    55 
] 109A12109A12109A12               
] 097A37097A37097A37               
  ^ send rj3
        ^ send rj3
              ^ send rj3
Still no packet 4, send some more naks.
]                                 *
]                                  
]                                 *
]                                  
]                                 *
]                                  
]                                 *
]                                  
]                                 *
]                                  
]                                 *
]                                  
] Block  43       Print Page    56 
] 10AA0010AA001444444014444440     
] 092A89092A890FFFFFF00FFFFFF0     
]                            00442*
]                            DAEF0*
give up, send a close, get a "NO CARRIER".
-- 
Don "Truck" Lewis              Phone: +1 916 478-8284   Silicon Systems
Internet: gdonl@ssi1.com       FAX:   +1 916 478-8290   138 New Mohawk Road
UUCP: {uunet,tektronix!gvgpsa.gvg.tek.com}!ssigv!gdonl  Nevada City, CA  95959


-- 
Don "Truck" Lewis              Phone: +1 916 478-8284   Silicon Systems
Internet: gdonl@ssi1.com       FAX:   +1 916 478-8290   138 New Mohawk Road
UUCP: {uunet,tektronix!gvgpsa.gvg.tek.com}!ssigv!gdonl  Nevada City, CA  95959
Newsgroups: comp.mail.uucp