[comp.mail.uucp] Help with uucp startup protocol

owen@xyzzy.UUCP (Karl Owen) (06/26/87)

Hi - I'm helping a friend (who doesn't have net access) with his implementation
of uucp for his Amiga.  We're a little bit stuck.  We've gotten through the
opening negotiations, which go like:

		master				slave

						^PShere^@
		^PS<mastername>^@
						^PROK^@
						^PPg^@
		^PUg^@

At this point I expect the slave side to start sending me INITA messages
until I send it an INITA back.  So I expect one byte, $3x where the x is
determined by the window size the slave wants to use.  What I GET, on the
other hand, is:

	^P^Io*;w	($10 $09 $6f $aa $3b $f7)

Can anyone tell me what is going on here?  I'm working from the specs
that John Gilmore posted a while back, and my copy got truncated, so
I may have missed something.  I'd appreciate any help anybody can give
me.  Just a pointer so some information would be fine.

						thanks,
						Karl

-- 

				Karl M. Owen - Data General, RTP, NC
				...!seismo!mcnc!rti!dg_rtp!owen

fosler@inmet.UUCP (07/08/87)

     Once you have gotten thru the handshake, the INIT messages are 
asynchronous, so it possible for both master and slave to send the
first INIT message at the same time.  It just that both have to wait
for the INITA message before they can send the INITB and so on.
The following are the messages I get when talking to a ATT 3B2 system.

who          message         control byte values
send $10 $09 $71 $aa $39 $eb     0,7,1
get  $10 $09 $6f $2a $3b $77     0,7,3
get  $10 $09 $79 $aa $31 $6b     0,6,1
send $10 $09 $79 $2a $31 $eb     0,6,1
get  $10 $09 $7f $2a $2b $77     0,5,3
send $10 $09 $81 $aa $29 $0b     0,5,1

    The message format is
		byte 0 - synch byte always $10
                byte 1 - buffer size, with protocol g, its either 2 or 9 (control)
                bytes 2 and 3 - are checksum
                byte 4 - control byte
                byte 5 - xor of bytes 1,2,3,4

     The format of the control byte is
                bits 0 and 1 - packet type, 0 - CTRL, 2 - LNGDAT, 3 - SHTDAT
                bits 2, 3 and 4 - for CTRL packets, the type of CTRL packet
                             1 - CLOSE
                             2 - RJ
                             3 - SRJ
                             4 - RR
                             5 - INITC
                             6 - INITB
                             7 - INITA
                bits 5, 6 and 7 - for INIT type, size of INIT, for RJ, SRJ and
                                  RR, seqnum of message.

    So, the message you are getting is right (but not the checksums).  It is
a CTRL packet with a INITA, value of 3 (remember that the value is the last
three bits, not four).

Carl Fosler
Intermetrics, Inc.
Bethesda, MD.   301-657-3775.

fosler@inmet.inmet.com