[net.periphs] Ringing RS-232 dilemma

zemon@fritz.UUCP (Art Zemon) (11/12/85)

Sender:


For various reasons I have a RS-232 line which is sometimes
connected to another computer and sometimes left just hanging.
When it is connected all is fine.  When it is disconnected, the
line "rings" and my VAX is inundated with ~1000 characters per
second input.  Poor Felix (the VAX) tries to echo all those
characters and the poor human users complain about a certain
lack of responsiveness.

Is there some device which can be placed in the line to prevent
the ringing but will not interfere with normal operation?  We
tried placing 10K resistors between pins 2 and 7 and between 3
and 7 but this didn't help.

As an alternative, is there a passive device into which we can
plug the line when it is disconnected from the computer?
-- 
	-- Art Zemon
	   FileNet Corp.
	   ...! {decvax, ihnp4, ucbvax} !trwrb!felix!zemon

rpw3@redwood.UUCP (Rob Warnock) (11/13/85)

Concerning undesired "echoing" on long unterminated terminal cables:

+---------------
| Is there some device which can be placed in the line to prevent
| the ringing but will not interfere with normal operation?  We
| tried placing 10K resistors between pins 2 and 7 and between 3
| and 7 but this didn't help.
| 	-- Art Zemon ...! {decvax, ihnp4, ucbvax} !trwrb!felix!zemon
+---------------

The problem is that 1000' of cable is quite a high capacitance. In order
to prevent the coupling from transmit to receive from driving the receive
line above threshold, you must bias the receive line well below threshold,
so that the cross-coupled spikes don't get it up above zero.

Try a 10K resistor between pin 3 (receive data) and a negative voltage
well below the RS-232 threshold, say -6 to -12 volts. That should do it.

You say you don't have any source of negative volts? Try DTR (pin 20).
It should be negative when the line is disconnected. But maybe you want
the resistor to be more like 27K, so no more than a milliamp or so of
excess current is drawn, worst case, when things are operating normally.

I used to work for a stat-mux company, and ALL inputs on our boxes had
current sinks on them, just to solve this problem. If this implies that
at one time we HAD the problem, you're right.

Historical note: Some sites would not see any problems for days or weeks,
then suddenly it would start. Seems that it would only happen when the
operator would send a broadcast message to the users, which would cause
the data to start looping...


Rob Warnock
Systems Architecture Consultant

UUCP:	{ihnp4,ucbvax!dual}!fortune!redwood!rpw3
DDD:	(415)572-2607
USPS:	627 26th Ave, San Mateo, CA  94403

brian@sdcsvax.UUCP (Brian Kantor) (11/14/85)

In article <4134@fritz.UUCP> zemon@fritz.UUCP (Art Zemon) writes:
>
>For various reasons I have a RS-232 line which is sometimes
>connected to another computer and sometimes left just hanging.
>When it is connected all is fine.  When it is disconnected, the
>line "rings" and my VAX is inundated with ~1000 characters per
>second input.  Poor Felix (the VAX) tries to echo all those
>characters and the poor human users complain about a certain
>lack of responsiveness.
>Is there some device which can be placed in the line to prevent
>the ringing but will not interfere with normal operation?  We
>tried placing 10K resistors between pins 2 and 7 and between 3
>and 7 but this didn't help.

I suspect that you have a problem which shows as the floating
input to the CD (carrier detect, pin 8) input bouonces and triggers init to 
start a getty on the line.  Your RD (receive data, pin 3) line is probably 
bouncing too.  Depending upon the type of serial port, you may also have 
problems with RI (ring indicate, pin 22).  Much Un*x software ignores RI.

It is not completely in keeping with the specification for the RS232
line, but you can usually solve this by connecting 4.7K or 10K resistors
from a source of negative voltage (there is one about -12 or -15v
supplied to the serial port driver) and each of the affected pins.
Sometimes you can find the voltage you need on pin 10 of the DB25, other
times you'll have to grab it from a supply rail or one of the power pins
of the RS232 line transmitter chip.  Since the resistor needs to connect to
one of the pins on the receiver chip which is usually close by anyway, its 
easiest to add it to the bottom of the circuit board right there, assuming 
there's enough mechanical clearance.  I usually stuff it right on the bottom 
of the board underneath the chips.  Look for 1488 and 1489 chips; they
are pretty common.

This will keep the receive line marking, which is the proper condition
for an idle line, and will keep carrier detect false.  The resistance
value has to be low enough to be a stiff enough voltage to keep the line
in the proper sense despite surrounding noise, yet is has to be a high
enough resistance to not affect the desired signals when the line is
connected to a device.  10K has worked well for me in the past.  Your
mileage may vary.

SUN-2 workstations often also need this fix for the two ports on the CPU
board.  Same symptoms.  Same cure.

Generic Disclaimer:  Be Careful.  If smoke comes out of it, you screwed
up and I'm not responsible.  If you don't solder well and/or don't feel 
at ease with electronics, get someone who does to do it for you.

	Brian Kantor	UCSD Office of Academic Computing
			Network Services Group  (619) 452-6865
			UCSD B-028, La Jolla, CA 92093

	decvax\ 	brian@ucsd.arpa
	akgua  >---  sdcsvax  --- brian
	ucbvax/		Kantor@Nosc