[comp.sys.sun] Suns and fast modems

brian@tank.uchicago.edu (Brian Yanny) (11/09/89)

I'm trying to get two Suns (either OS3.5 or OS4.0.3) talking to each other
at 38.4kbaud using two Microcom QX/V.32c data compression modems.  The
phone connection is at 9600 baud but the serial ports are at 38.4k to
handle the compressed data.   The Suns are set in "TANDEM | RAW" mode or
"TANDEM|CBREAK".  TANDEM is Suns/Unix's port setting which means "Watch
the input buffer, when nearly full send a XOFF, then send a XON when
empty".  RAW means receive all characters as is, CBREAK receives all
characters and will stop/start on XOFF/XON.

The modems are set to bi-directional XON/XOFF flow control.

The modems support hardware RTS/CTS flow control, but Sun OS3.5 does not
and Sun OS4.0.3 only supports it in one direction.  That is, if the modem
drops the CTS line, the Sun stops sending, but there is no hardware flow
control equivalent of "TANDEM", that is, you can't drop the RTS line when
you input buffer gets too full.

Thus I'm stuck using "TANDEM" (XON/XOFF) flow control.  Sun doesn't
offically support 38.4k, but they've got entries for it in their available
speed tables, and I am able to get things to work "in one direction at a
time".   That is, one sun can send at 38.4 and the other will receive (and
perform XON/XOFF) just fine. However, if I try to simultaneously send and
receive things tend to lock up and eventually transmission stops.  One can
simultaneously send and receive "small" messages, of the order of 64
bytes. As soon as one sends more than a message or two of more than 64
(while a long transmission is going the other way), however, things stop.
The messages were chosen to have no embedded XON/XOFF characters.

Can anyone advise? Has anyone gotten anything similar to work?  I have
also tried this at 19.2k and 9600, same problem.  At 4800 things seems to
work, but that defeats the purpose of the high speed data-compression
modems.

brian yanny
brian@oddjob.uchicago.edu
University of Chicago