[Date Prev] [Date Index] [Date Next] [Thread Prev] [Thread Index] [Thread Next]

Serial BREAK on console servers

Greg A. Woods users@conserver.com
Wed, 23 Jan 2002 15:37:29 -0500 (EST)


[ On Wednesday, January 23, 2002 at 09:30:11 (-0800), David Harris wrote: ]
> Subject: Serial BREAK on console servers
>
>   Actually two very important points have been made here;
> 
>   1) Lots of things can cause BREAK, even when there is nothing
>      plugged into the console port! (And you may be able to
>      build some protecting into the device itself by performing
>      some electrical surgery on your devices serial port.)

You don't have to perform surgery on your host system console ports --
just construct a custom external connectors you plug into them.  If you
don't use RJ-45 adapters then you can always use a small connector block
(DB-25-male/DB-25-female in the case of most Suns) with the custom
wiring inside of it.

>   2) In most cases (where Conserver is concerned) folks will
>      have something plugged into the serial console all the
>      time, so it would be better to use a device that doesn't
>      send BREAK when the power to the device is removed,
>      or even when the port is reset.

You cannot always avoid having a BREAK seen by the host system when odd
things happen to the console terminal (server).  The problem sometimes
arises in the cabling and connectors, or even in the signal receivers in
the server itself and no amount of magic circuitry in the terminal
(server) can do anything about it, especially when that circuitry is
turned off or otherwise disconnected from its power source.

>      (This reduces the chance
>      thatyou will induce a BREAK when changing cables, etc.)

Indeed, which is why I only recommend using a pull-down resistor in a
connector at the host end.

Furthermore if you ever want to disconnect the line from one of your
host system's console ports then you may also want to avoid it seeing an
indication of a BREAK signal, and that can only be done reliably if you
have the pull-down resistor in a separate connector block (be it inside
the RJ-45 adapter, or in a separate adapter block), firmly and properly
attached to the host.  Then no normal amount of capacitance or
inductance in the console cable will be likely to cause an accidental
BREAK indication.

The only place you can relibably control the affects of an un-powered
serial cable are at the end connected to the host system.

Finally note that having prepared your hosts with proper custom console
port connectors means you won't be surprised should you ever have to
swap out your carefully chosen terminal server for one less desirable in
the event of some catastrophic failure.

This isn't rocket science or heavy-duty particle physics -- just some
very simple wiring with a small portion of Ohm's law thrown in.  :-)

An ideal design for such a BREAK-protector would include opto-isolators
and zener diodes and such, and perhaps that's what the expensive
commercial NuData solution is (though I suspect it's still over-priced
by twice).  Indeed if I were marketing such a device I'd want it to work
reliably even in adverse and abnormal conditions.  However for most
people a simple pull-down resistor will suffice, and anyone hooking up
serial consoles should be capable enough to go to Radio Shack (or
wherever), pick up the parts necessary, and assemble them.

>   e) The BREAK problem really only affects older SUN boxes, and
>      some SGI models...

That's not quite true at all.  Lots of BSD-based i386 servers also use
the BREAK-to-kernel debugger mechanism.  It's normally a very reliable
way to control a console serial port.

The software "solution" (so called) is far from ideal.

Note that the EIA RS-232C specification requires that a floating input
be interpreted as a mark (off) condition, but many systems, including
the common IBM PC-style "COM" ports, use cheap signal receivers that
cause their ports to violate this part of the specification, and that
factor alone may mean that even disconnecting the cable from the host
end might result in the host seeing a BREAK indication!  Only the use of
a pull-down resistor or other suitable circuit will avoid this problem.

I don't know what level of EIA compliance common console ports on other
types of machines might have, but I will note that if such ports have a
hardware jumper or switch to select whether they are RS-232 or RS-423
should definitely be configured for RS-232 -- that alone may eliminate
the unwanted BREAK problem.

>           while it's a big market, it's only a
>      *part* of the total market for this type of device.
>      (If you only have one or two SUN boxes, it may be cheaper
>      to use the NuData adapters (at $100 per port...), but
>      if you have two dozen sun boxes to protect, it's going
>      to be cheaper to get a console server that doen't send
>      BREAK until you want it to. And this can be a dynamic
>      equation, if you are small now, but considering growing
>      in the next year or two. :-)

If you're already using RJ-45 adapters for your console ports then
adding a pull-down resistor to each is a very small investment....

Anyone really paranoid about any kind of wiring might call B & B
Electronics (www.bb-elec.com) and see if they might be able to provide a
ready-made solution at a decent price.  They do have a read-made RS-232
optical isolator in both DB-9 and DB-25 varieties, though they're not
all that inexpensive.

Many electronics suppliers, including B&B, also sell DB-to-DB jumber
boxes ideal for constructing the necessary connector adapter.

-- 
								Greg A. Woods

+1 416 218-0098;  <gwoods@acm.org>;  <g.a.woods@ieee.org>;  <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>