SCO Unix Serial Communications and UUCP
This article is from a FAQ concerning SCO operating
systems. While some of the information may be applicable to any OS,
or any Unix or Linux OS, it may be specific to SCO Xenix, Open
There is lots of Linux, Mac OS X and general Unix info elsewhere on
this site: Search this site is the best
way to find anything.
This is an ancient post with no relevance to modern systems.
For the real answers, read your modem's manual. If you want to
discuss modems, see comp.dcom.modems. Having said that,
here are some common setup strings for various features on many
modems; see your manual to determine which one(s) apply to your
modem. Note that not all modems will accept the following commands;
even the manual for one modem is too large to fit, let alone all
- Locked DTE rate - this causes your modem to always talk
to your serial port at the same rate, regardless of the data
transfer rate between modems. Try AT\J0, AT&Qn (n is a number
which depends on other settings as well), (Multitech) AT$SB38400 or
- Hardware flow control - this uses out-of-band signalling
on the RTS and CTS lines to perform flow control and will not
interfere with the transmission of binary data, as software flow
control will. Try AT&K3 or AT&E4.
- Software flow control - particularly on interactive (cu)
connections, you may wish to use software flow control in some
cases. This is usually done with the same command as hardware flow
control, but with a different number (e.g. AT&K4). One
disadvantage is that if you get garbage characters (due to line
noise, modem disconnection, etc.), you will sometimes get a flow
control character as part of the garbage; the system doesn't know
it's garbage and so it may appear to hang the port.
- Correct use of carrier detect - the DCD line is used to
indicate to the computer that the modem has established carrier.
This setting is almost universally done with AT&C1.
- Error control - this feature, if negotiated between
modems, causes the modems to take care of retransmitting data when
errors crop up on the phone line. Try AT&Qn (again, n depends
on other settings), AT\Nn (ditto), or AT&E1. See the discussion
elsewhere in this FAQ to help determine
what, if any, error control you should use. Generally, though not
always, you will want to enable all error control methods your
modem supports, in order to be able to negotiate connections with
other modems, but may need adjustment in some circumstances.
- Data compression - this feature, if negotiated between
modems, causes the modems to attempt to compress the data before
sending, improving throughput. Try AT&Qn (n depends on other
settings) and AT%C1; some modems also use registers such as S36 to
fine-tune this. See the discussion elsewhere
in this FAQ for more information on when you might or might not
want to use data compression.
- Correct use of DTR - the DTR line, when dropped by the
computer, should cause the modem to hang up (and, according to some
opinions, reset entirely). This feature is almost universally done
with AT&Dn, but the supported values of n may vary from modem
to modem. Try AT&D2 to hang up and AT&D3 to hang up and
- Writing settings - Two cautions first. First, you do NOT
want to do this every time you initialize the modem. The EEPROMs
used in most modems to store this information have a lifetime of
something like 10 000 writes. At 30 reinitializations a day, you'll
burn out your EEPROM in around a year. Second, if you use this to
do the initial setup of the modem, document your settings
somewhere so that if your modem does die, you'll have the settings
you used somewhere (I'd recommend in a comment in your /usr/lib/uucp/Dialers
file). See AT&W; some modems have several settings available,
written to with AT&W0, AT&W1, etc. See AT&Y on some
modems to determine which settings are used upon reset, and ATZn
for resetting the modem.
- To Echo or Not To Echo - you can configure your modem to
echo commands back, or not to echo commands back, with ATE1 and
ATE0, respectively. You can control the sending of result messages
with ATQ1 and ATQ0; some modems also use ATQ2 to disable result
codes on incoming connections.
- Enabling busy detection - ATXn controls both the range
of result codes the modem sends (such as enabling the display of
connect speed rather than simply CONNECT) and what phone company
signals the modem detects (e.g. busy, dialtone). Most people use
ATX4; check your manual for other options.
- Auto-answer - use ATS0=n, where n is the number of rings
to allow to pass before answering. ATS0=0 disables auto-answer. You
may wish to disable auto-answer while calling out or at other times
when you don't wish the modem to answer.
- Escape code - most modems use a pause, followed by three
plus signs, followed by a pause, as a signal from the computer that
the modem should go into command mode while on-line. This may cause
problems in some cases. To disable this escape sequence, use
Got something to add? Send me email.
A refund for defective software might be nice, except it would bankrupt the entire software industry in the first year. (Andrew S. Tanenbaum)