[comp.unix.ultrix] Wierd problem with incoming CXY08 tty lines

cks@white.toronto.edu (Chris Siebenmann) (03/31/89)

 We have a CXY08 (well, actually we have two, but we're only using the
one right now) under Ultrix 2.2 with all 8 lines connected up to a
DevelSwitch. The gettys on these lines are set up to autobaud
9600-2400-1200-9600. The DevelSwitch has both hardwired terminals and
dialin modems connected to it.

 Normally, everything works fine. However, every now and then when
someone dials in at 2400 baud the getty on the port refuses to
autobaud; a burst of what appears to be the initial 9600 baud banner
appears, and then nothing further appears, despite carriage returns
and breaks being sent. Killing and restarting the getty will often but
apparently not always clear up the problem. Testing from hardwired
terminals set to 2400 baud has so far failed to have the problem. DEC
Service has found nothing wrong with either CXY08, and the problem
happens on both.

 Has anyone experienced something similar? Does anyone have any ideas
about what the problem and/or solution might be? Alternately, has
anyone written a program that takes the MODE longword from pstat -t
and prints it in a human-readable form (so I could try to see if
there's something odd set when a line gets wedged)?

 Thanks in advance; I will post a summary if response warrants it.

-- 
	"I shall clasp my hands together and bow to the corners of the world."
			Number Ten Ox, "Bridge of Birds"
Chris Siebenmann		...!utgpu!{ncrcan,ontmoh!moore}!ziebmef!cks
cks@white.toronto.edu	     or ...!utgpu!{,csri!}cks

awpsys@ultb.UUCP (Andrew W. Potter) (04/01/89)

In article <89Mar30.164842est.30755@snow.white.toronto.edu> cks@white.toronto.edu (Chris Siebenmann) writes:
>
>
> Normally, everything works fine. However, every now and then when
>someone dials in at 2400 baud the getty on the port refuses to
>autobaud; a burst of what appears to be the initial 9600 baud banner
>appears, and then nothing further appears, despite carriage returns
>and breaks being sent. 

We have had a similar problem where we traced it to what I believe is a serious
problem in unix "autobauding".  When switching between baudrates by hitting
break, you subject your terminal to garbage data until you "hit" the correct
speed.   This is trash!  We had a situation where cycling from 9600 to 1200
baud caused our terminals to interpret the 9600 baud banner to include
an X-off character.  This effectively locked up the terminal. The only way
to clear it up was to reset the terminal dropping the connection.  We worked
arround it by changing the order of the selected baud rates in gettytab.

What is really needed is "true" carrage-return autobauding.  This needs to
be done at a low level in the device driver because of the timing constraints
involved.

	- Andy



-- 
Andrew W. Potter                         Email: awpsys@ritvax.BITNET
Systems Programmer                          awp8101%ritcv@cs.rit.edu
Information Systems and Computing
Rochester Institute of Technology, Rochester NY, 14623 (716) 475-6994

guy@auspex.auspex.com (Guy Harris) (04/02/89)

>What is really needed is "true" carrage-return autobauding.  This needs to
>be done at a low level in the device driver because of the timing constraints
>involved.

Huh?  4.3BSD's "getty" has carriage-return autobauding, and it's done in
"getty", not the tty driver.  It seemed to work just fine when I tried
it on some Suns (comments in the code and "gettytab" indicate that it
was done for the Micom 600, but it worked just fine with a hardwired
terminal).

Basically, "getty" sets the baud rate to 2400 baud (actually, it uses
whatever rate you specify in the "gettytab" entry, but the auto-baud
entry specifies 2400 baud), flushes pending input, waits 5 seconds,
reads a character from the serial port, waits "20 microseconds" (both
waits use "select"; I think a "20 microsecond wait" rounds up to one
clock tick in most systems), flushes pending input again, and looks at
the character.  Based on what it got, it chooses a baud rate:

	'\200'		300 baud

	'\346'		1200 baud

	'\r' or
	'\r'|0200	2400 baud

	'\377'		9600 baud

	anything else	4800 baud

I don't know if Ultrix has this yet, but I don't see any intrinsic
reason why it couldn't be added.

awpsys@ultb.UUCP (Andrew W. Potter) (04/16/89)

9p>
> Normally, everything works fine. However, every now and then when
>>autobaud; a burst of what appears to be the initial 9600 baud banner
>appears, and then nothing further appears, despite carriage returns
>and breaks being sent. 

We have had a similar problem where we traced it to what I believe is a serious
problem in unbreak, you subject your terminal to garbage data until you "hit" the correct
speed.   This is trash!  We had a situation where cycling from 9600 to 1200
baud caused our terminals to interpret the 9600 baud banner to include
an X-off character.  This effectively locked up the terminal. The only way
to clear it up was to reset the terminal dropping the connection.  We worked
arround it by changing the order of the selected baud rates in gettytab.

What is really needed is "true" carrage-return autobauding.  This needs to
be done at a low level in the device driver because of the timing constraints
involved.

	- Andy



-- 
Andrew W. Potter                         Email: awpsys@ritvax.BITNET
Systems Programmer                          awp8101%ritcv@cs.rit.edu
Information Systems and Computing
x*xhester Institute of Technology, Rochester NY, 14623 (716) 475-6994
#! rnews 637
Path: attcan!uuneFrom: