Serial admin console program

Ben Scott dragonhawk at gmail.com
Mon Oct 6 20:46:28 EDT 2008


On Mon, Oct 6, 2008 at 7:51 PM, Alan Johnson <alan at datdec.com> wrote:
> Then, as soon as I ran the config utility ...

  Clarify "config utility".  minicom setup?  Something else?

  Since you seem to be avoiding saying what your "device" actually is,
and saying "device" over and over again is going to get confusing, I'm
going to suppose your device is a "Gonkulator", or "Gonk" for short.

> it locked up again after spewing a bunch of funny characters
> in the same spot.

  Sounds like a serial parameter mismatch.  If the baud, stop bits,
data bits, and parity you configure in minicom (or whatever) do not
match what the Gonk is using, then the serial port in your server will
misinterpret the signals, resulting in funny characters (sometimes
called "baud barf").

> Given that, is it possible I might have also had success with hardware off?

  Possibly.  Flow control provides a mechanism for one end to say "I'm
getting overwhelmed -- temporarily stop sending".  If the Gonk is not
using either mechansim, then your terminal may very well work, at
least at first.

  Software flow control works by sending special control characters
(XOFF and XON), in-band with the other data.  One side starts getting
overwhelmed, and sends XOFF.  The other side sees the XOFF and pauses
transmission.  The overwhelmed end catches up, and sends XON.  The
other side sees the XON and resumes transmission.  So if the Gonk
never sends XOFF, your terminal will never notice.  But XOFF/XON are
in-band control characters, so if the Gonk sends those data patterns
for some other reason (binary data transfer being the most common),
your terminal may get confused, drop data, and/or appear to stop
responding.

XOFF = pause transmission = ASCII DC1 = code 0x13 = CTRL+S
XON = resume transmission = ASCII DC3 = code 0x11 = CTRL+Q

  Hardware flow control uses out-of-band signals built-in to the
serial port (CTS and RTS).  Both ends raise RTS in the nominal state.
When one side starts getting overwhelmed, it drops RTS.  The other end
sees CTS drop and pauses transmission.  Once the overwhelmed side
catches up, it raises RTS, the other end sees CTS go back up, and
things resume.  If the gonk, or your serial cable, are wired to keep
CTS into the terminal always high, then your terminal will think it is
always Clear to Send.

RTS = Request To Send = Local end telling remote end to send data
CTS = Clear To Send = Remote end telling local end to send data

  And, of course, if you actually *need* flow control -- because
either end is sending data too fast for the other to keep up with --
then things will go to hell if you don't have it.  :)

  You may want to try consulting the manual for the Gonk -- or failing
that, contacting the manufacturer -- to find out what the proper
serial port parameters are.

-- Ben


More information about the gnhlug-discuss mailing list