Subject: Re: Serial port flowcontrol problems
To: Stephen J. Roznowski <sjr@zombie.ncsc.mil>
From: Michael L. Hitch <osymh@gemini.oscs.montana.edu>
List: amiga
Date: 10/13/1994 09:24:39
On Oct 13, 12:32am, "Stephen J. Roznowski" wrote:
> I'm running an A3000 with a kernel built from the 941011 sup.
> 
> When I connect to a remote system using the 189 version of kermit at
> 38400 and cause a lot output to be generated (for example, by executing
> lptest), my modem locks up. Redoing the same test at 19200 seems to
> work. Just before the session locks up I get a lot of ^Gs printed.
> 
> Has anyone else see this?

  I have had this problem before.  I was using kermit and connected to a
remote system through a DEC terminal server.  If I connected to an
Ultrix system and did a large amount of output (i.e. more than 1 screen
full), my Ultrix session would lock up.  I could send a break and get
back to the the terminal server, but my session to Ultrix was hung.  At
times, I would see a number of ^G characters also.  If I connected to a
VMS system and did some output, I would get some kind of I/O error.

  I think there is a problem in kermit that doesn't set crtscts on the
serial line, even if you tell kermit to do rts/cts flow control.  When
the NetBSD tty input handler gets a lot of input and the input buffer is
close to filling up, it will try to stop the input.  If crtscts isn't
set, it will send X-OFF.  The buffering of data in the serial input
interrupt (up to 512 characters) will still allow a number of characters
to be still be passed to the tty input, which could overflow the tty
input buffer.  If the tty buffer fills up, the tty input routine echoes
a bell (^G) for each character received.

  To further aggravate the problem, if the modem is configured for rts/cts
flow control, the X-OFF sent by the tty input routine will be sent to the
remote system.  In this case, there is very likely to be quite a bit of
data buffered in the modems, which will also cause the tty input buffer
to overflow.

  I think I was able to force the serial line to crtscts by either
setting it prior to entering kermit, or executing an stty command after
kermit set the line.

  I think I also saw a patch to kermit to fix setting crtscts on the
serial port.  There is also a newer version of kermit available, which I
think does set crtscts properly.  The kermit I'm running now sets
crtscts properly, and I had much less trouble with this type of problem.

Michael

-- 
Michael L. Hitch			INTERNET:  osymh@montana.edu
Computer Consultant
Office of Systems and Computing Services
Montana State University	Bozeman, MT	USA