[comp.sys.sgi] Any handshake in any port.

karron@MCIRPS2.MED.NYU.EDU (08/26/90)

I was installing a printer, and I wanted hardware handshaking on /dev/ttyf3.

I used the default sys admin tools but the port was dropping characters.

I tested the port with kermit. If the handshaking was not engaged, then
kermit would not open the port. Kermit did open the port, and so did cat.

What is going on ? I have had problems using handshaking prior, and had to
settle for no handshaking from the ttyd* ports.

Here is the results from cat.
Utest is a file consisting only of a stream of U's to try to overrun the
handshaking (and see if it is working. A U is an alternating bit pattern,
and any errors will cause the alignment of 70 U' accross the page to break up)

 155 Utest
mcirps2:karron:mcirps2:ttyq4:/usr/spool/lp/D.Local:212cat Utest > /dev/ttyf3
cat: output error (-1/8192 characters written)
No such device or address
mcirps2:karron:mcirps2:ttyq4:/usr/spool/lp/D.Local:213cat Utest > /dev/ttym3
cat: output error (-1/8192 characters written)
No such device or address
mcirps2:karron:mcirps2:ttyq4:/usr/spool/lp/D.Local:214cat Utest > /dev/ttyd3
+-----------------------------------------------------------------------------+
| karron@nyu.edu                          Dan Karron                          |
| . . . . . . . . . . . . . .             New York University Medical Center  |
| 560 First Avenue           \ \    Pager <1> (212) 397 9330                  |
| New York, New York 10016    \**\        <2> 10896   <3> <your-number-here>  |
| (212) 340 5210               \**\__________________________________________ |
+-----------------------------------------------------------------------------+

vjs@rhyolite.wpd.sgi.com (Vernon Schryver) (08/26/90)

Each IRIX tty port has three aliases, distinquished by the two most
significant bits of the minor device number, or by the /dev/tty[dmf]* name.

ttyd* use pins 2,3, & 7.  Thus, the system simply babbles the output, 
    subject at most to XON/XOFF flow control.  At high speeds, either the
    system or the printer will loose ^S or ^Q characters and bad things
    will happen.

ttym* use 2,3,7,8, and 9/20.  The system will refuse to complete an open(2)
    until pin 8, DCD, is true.  Otherwise, ttym* are the same as ttyd*.  A
    handy hack is to connect pins 8 and 9/20, to make a ttym* that is
    really connected to a dumb, 3-wire device complete an open(2).

ttyf* use 2,3,4,5,7,8, and 9/20.  A port under its ttyf name behaves the
    same as under its ttym name, except that it honors CTS as required by
    RS-232-C, and expects the device honor RTS as in the de facto standard
    "hardware flowcontrol".

Thus, to use "hardware flowcontrol" on an otherwise dump printer, use a
cable with 2,3,4,5, and 7 connecte to the printer and 8 jumpered to 9/20
on the IRIS, and use the ttyf name.

Restrictions in the way STREAMS work make it impossible to open a single
port under more than one of its aliases at a time.  That is, if you already
have ttyd3 open, you will not be able to open ttyf3.

All current IRISs support all three types of tty[dmf]* names on all
integral DUART ports and all of the up to 32 CDSIO ports.


Vernon Schryver
vjs@sgi.com