[comp.sys.pyramid] data lost in rlogin over slow links?

karl_kleinpaste@cis.ohio-state.edu (07/10/90)

Environment: OSx 4.4c; 9825, 98x, 98xe.

I've had a problem with rlogin ever since I started using SLIP.  My
9825 is configured to do SLIP connections to a variety of machines
which dial up and use a bit of code I got via csg from NASA Ames
called slipsh to initialize SLIP operation.  It also happens when
using a hardwired SLIP line between any two of my Pyrs, with
dstaddr/ifconfig/route used exactly as in the NSP manual.

The problem is that having large amounts of output results in some of
that output being lost with quite some frequency.  For example, if I
"cat .login," as much as half the file doesn't actually appear (my
.login is about 2.5Kb), and the next prompt is lost as well.

This only occurs when using a modified csh ("cshe") which does command
line editing much like tcsh.  (In fact, cshe and tcsh share a good bit
of extension code.)  While reading command input, the tty is in CBREAK
mode, and then goes back to canonical mode when cshe is not reading a
command.

If I disable the command line editor, the problem goes away.  The tty
always stays in canonical mode, and no data is lost.

This doesn't happen when operating on our campus network (reasonably
complex ethernet subnets hung off a Proteon ProNet-80 ring), or, for
that matter, over any long distance network -- working from the
Anaheim Usenix terminal room via rlogin was no problem.  It only
occurs when using SLIP.  Dialed SLIP is occurring at 9600bps using
V.32 modems; the machine at the other end, in my case, is a Sun4/110
running 4.0.3c.  The Pyr-Pyr ("peer-to-peer?" :-) SLIP link is a null
modem cable, at either 19.2K or 9600.

I have a (very dim, hence questionable) memory of there having been a
bug in the 4.2BSD rlogin code caused by OOB data being used to
indicate tty mode changes of this type to the remote end -- something
about the tty mode being changed with TIOCSETP, thereby causing an
output flush, rather than using TIOCSETN to wait for drain first.  Is
this possibly the problem I'm up against?  How recent is the rlogin
incantation in 4.4c?

--karl