[unix-pc.general] Hardware flow control on tty000?

sbw@naucse.UUCP (Steve Wampler) (04/03/89)

I'd like to start by thanking all the people who helped me get my
TB+ running - I was unable to reach all of you individually (sigh).
For the record, I have it running under stock uucp with 3.5 of the OS.
However, I don't take dial-ins, so that isn't too well tested (though
I did get it up and running on another 3B1 that takes only dialins -
it's just that I haven't tested it on a 3B1 that both dials in and out).

I do, however, have a question.  Numerous people suggested I set
hardware flow control on the port (tty000) and gave TB+ settings for
that (i.e. s58=002).  How?  I don't see how to set a CTS flow control
protocol on that port (it doesn't show up as option during 'Hardware
Setup' on my system, and stty doesn't eat the 'ctscd' flag).  So
I'm running with Xon/Xoff protocol (and s58=003).  I'd prefer the other,
if someone can tell me how.  Remember that I have 3.5, not 3.51.
Thanks!

By the way, I don't use cu or async_main, just uucp and kermit, so I
locked the interface at 19200 baud - seems to cause no problems.
Maybe someone (good, not like me) can figure out how to patch cu
and async_main to take 19200?

Thanks again.
-- 
	Steve Wampler
	{....!arizona!naucse!sbw}

wtm@neoucom.UUCP (Bill Mayhew) (04/06/89)

/etc/hfc_ctL +/dev/tty000  turns it on.

/etc/hfc_ctl -/dev/tty000  turns it off.

This is documented for version 3.51 in The Unix System V Users
Manual Volume I.  It is in the addendum section in the back.  There
are a number of interesting things in the addendum that are easily
over looked.  Be sure to check it out.

You could probably issue an ioctl call from a c program too.  One
thing to watch out for is that the port hangs if you issue the
ioctl while it is active.  I found out when I put an /etc/hfc_ctl
in my .profile that it would always lock up the line dialing in.
It doesn't seem to mind if you type it in from the shell prompt
while logged in over tty000; in that case the flow control changes
properly without incicent.

Also note that if you enable hfc via /etc/hfc_ctl, the kernel stops
doing software flow control; a pain for things that want to show
you more than 24 lines of stuff, but not one screen at at time and
you want to type ^S.

Bill

lenny@icus.islp.ny.us (Lenny Tropiano) (04/07/89)

In article <1298@naucse.UUCP> sbw@naucse.UUCP (Steve Wampler) writes:
...
|>
|>I do, however, have a question.  Numerous people suggested I set
|>hardware flow control on the port (tty000) and gave TB+ settings for
|>that (i.e. s58=002).  How?  I don't see how to set a CTS flow control
|>protocol on that port (it doesn't show up as option during 'Hardware
|>Setup' on my system, and stty doesn't eat the 'ctscd' flag).  So
|>I'm running with Xon/Xoff protocol (and s58=003).  I'd prefer the other,
|>if someone can tell me how.  Remember that I have 3.5, not 3.51.
|>Thanks!
|>
Gee, I can't remember, but I don't think HFC appeared on the UNIX pc before
3.51 releases.  Therefore if you don't have /etc/hfc_ctl, you don't have
the capability of doing HFC.  (Sorry).  stty ctscd isn't valid for the UNIX pc.

For those running 3.51 (and of course if hfc_ctl appears in 3.5):

To set up HFC on any tty00[0-7] port you can do the following.

Place a file in /etc/daemons called: /etc/daemons/hfc_init
In the file put:

/etc/hfc_ctl +/dev/tty00x  (where x is replaced with 0 through 7)

You can put multiple lines as this is a shell script that will turn on HFC
for the port specified.    Note:  /etc/hfc_ctl +DEVICE turns on HFC,
whereas, /etc/hfc_ctl -DEVICE turns off HFC.

Also set up the gettydefs file so that the lines settings doesn't have IXON
for that port.   One question I have for those running HFC, how do you
stop the output manually?  Since ^S/^Q is turned off, how do I stop 19200
baud from "Blazing" past my screen :-)?

|>By the way, I don't use cu or async_main, just uucp and kermit, so I
|>locked the interface at 19200 baud - seems to cause no problems.
|>Maybe someone (good, not like me) can figure out how to patch cu
|>and async_main to take 19200?
|>

I doubt sincerely that the async_main (terminal emulator) can really handle
anything over 9600.  It kinda slow.  I know I have problems with 
machine<->machine connections at 9600 (ie. dropped characters).

-Lenny
-- 
Lenny Tropiano             ICUS Software Systems         [w] +1 (516) 582-5525
lenny@icus.islp.ny.us      Telex; 154232428 ICUS         [h] +1 (516) 968-8576
{talcott,decuac,boulder,hombre,pacbell,sbcs}!icus!lenny  attmail!icus!lenny
        ICUS Software Systems -- PO Box 1; Islip Terrace, NY  11752

randy@chinet.chi.il.us (Randy Suess) (04/08/89)

In article <659@icus.islp.ny.us> lenny@icus.islp.ny.us (Lenny Tropiano) writes:
>Gee, I can't remember, but I don't think HFC appeared on the UNIX pc before
>3.51 releases.  Therefore if you don't have /etc/hfc_ctl, you don't have
>the capability of doing HFC.  (Sorry).  stty ctscd isn't valid for the UNIX pc.
>For those running 3.51 (and of course if hfc_ctl appears in 3.5):

	hfc_ctl is in /usr/bin under 3.5  Seems to work.

-- 
Randy Suess
randy@chinet.chi.il.us