[comp.sys.att] Hardware flow control on EPORTS

alexb@cfctech.UUCP (Alex Beylin) (02/21/89)

Is their a way to setup a port of an EPORT card on the 3B2/600
for hardware flow control?

We have a bunch of 3174 controllers with an AEA (Async. Emulation
Adapter) option.  This lets a user on a 3278 terminal access
async. devices connected to the AEA ports on the 3174.

Well, things are not as pretty as they sound.  With XON/XOFF 
enabled, 3B2 overruns the buffers on the 3174 when it gets a
string of XOFF characters.  (For a reason known only to the Gods and
AT&T, every even XOFF EPORT gets is read as an XON).

The only way we found to fix this is to eneble hardware flow
control on the 3174 async ports.  Then, we have to enter the
following commands on 3B2 as soon as the user logs-in.  
(i.e. we detect if it is a vt100, which 3174 attempts to emulate
and then do hardware flow setup):
	
	stty -ixon -ixoff -ixany 
	epstty hfc

Now, all the stty stuff can be done from the /etc/gettydefs,
but how can we setup a port on an EPORT card for the "epstty hfc"
mode?  The way things are done now, users who dial-in with vt100
emulations are not very happy.

Any suggestions/hints will be much appreciated.
Please don't tell me to junk the 3174s, as it is not up to me.


 Alex Beylin, Unix Systems Admin.       | +1 313 244 3386
 alexb@cfctech.UUCP                     | Chrysler Financial Corp.
 alexb%cfctech.uucp@mailgw.cc.umich.edu | MIS, Technical Services
 {sharkey|mailrus}!cfctech!alexb        | 901 Wilshire, Troy, MI

colin@darkover.UUCP (Colin Dykstra) (02/22/89)

In article <4171@cfctech.UUCP> alexb@cfctech.UUCP (Alex Beylin) writes:
>
>Is their a way to setup a port of an EPORT card on the 3B2/600
>for hardware flow control?
>
>The only way we found to fix this is to eneble hardware flow
>control on the 3174 async ports.  Then, we have to enter the
>following commands on 3B2 as soon as the user logs-in.  
>(i.e. we detect if it is a vt100, which 3174 attempts to emulate
>and then do hardware flow setup):
>	
>	stty -ixon -ixoff -ixany 
>	epstty hfc
>
>Now, all the stty stuff can be done from the /etc/gettydefs,
>but how can we setup a port on an EPORT card for the "epstty hfc"
>mode?  The way things are done now, users who dial-in with vt100
>emulations are not very happy.
>
I have had similar problems with our internal implementation at
AT&T Canada.  We needed hardware flow control for high-speed laser
printers (38,400 baud) as well as high speed modems.  

I can think of at least two ways to do the "epstty hfc" command:

1)	Add to the command to /etc/profile
	This is executed by all users when they
	login.  You could "case" for specific terminals
	or ttys.

2)	Daemon executed by "rc" at boot-time:
	This is the approach that worked best for
	our implementation.  Below, please find sample
	scripts.

In /etc/rc2.d create a a short script called S98hfc.  Something like:
###################
# SCRIPT TO START 
# HARDWARE FLOW CONTROL
# SHELL SCRIPT:
# /usr/local/fixline
###################
nohup /usr/local/fixline & >/dev/null 2>&1
echo "Staring HFC Daemon"

The actual script "/usr/local/fixline" looks like:
#####
#
#	FILE:	  /usr/local/fixline
#	PURPOSE:  To set-up and maintain
#		  hardware flow control on
#		  a named set of eports ttys
#
#		  Colin Dykstra
#		  AT&T Canada Inc
#		  uunet!attcan!colin
#####
TTYS="tty41 tty42 tty43 tty44 tty45 tty46 tty47 tty48"
TTYS="$TTYS tty61 tty62 tty63 tty64 tty65 tty66 tty68 tty71 tty72"
LOG="/tmp/linestats"
while :
do
  for i in $TTYS
  do
    if [ `epstty -a </dev/$i` = "-hfc" ] # check to see if hfc is off
    then	
      echo "Turning on hfc for $i"	>>$LOG 2>&1 
      epstty hfc </dev/$i	 	>>$LOG 2>&1
      epstty -a </dev/$i	 	>>$LOG 2>&1
      date				>>$LOG 2>&1
      echo "============="		>>$LOG 2>&1
    fi
  done
sleep 30
done


I hope the above helps...


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Colin Dykstra                       | The opinions expressed herein
uucp:    {uunet,utzoo}!attcan!colin | are my own and do not necessarily
attmail: !cdykstra                  | reflect the policies of my current
voice:   416 756-5098               | employer.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~