Configuring modems manually

If you are unable to use the Modem Manager
to configure your modem, you need to
configure several UUCP files manually.

Correct entries in the UUCP configuration files
are vital when using cu.
This also applies when SCO SLIP,
SCO PPP, and
SCO PPP from Morning Star
are configured to use incoming and
outgoing connections that use UUCP
(it does not apply to dedicated serial line connections).

To configure your modem manually:

Obtain and install a suitable dialer program for your modem.
A dialer can be:

If you are experimenting with an unsupported modem, the
``hayes2400'' entry in the Dialers file is a good
starting point; it can be used even with high-speed modems.
The following example Devices entry is for a modem that
uses a Dialers file entry but operates at 19,200bps:

ACU tty1A - 19200 hayes2400

NOTE:
If you intend to use an outgoing PPP link over a modem that
uses the ``hayes2400'' entry in the Dialers file,
change the word Speed to CONNECT.

The following Dialers file entry, standard,
should also be suitable for many V.32bis and higher speed modems:

standard =W-, "" AT&F1 OK\r ATB0M1X4 OK\r ATDT\T\r\c CONNECT

Although it is possible to create or modify an
entry in the Dialers file yourself,
the syntax can be difficult to follow. Consult the
Dialers(F)
manual page for more information.

atdialer and dialer programs

There are two types of dialer binaries, named dial and
atdial, in /usr/lib/uucp.
The dial binaries (for example,
dialHA24) are separate executable
programs that must be recompiled from source files if you
wish to customize them. The atdial dialers
(for example, atdialHAY) are implemented as
symbolic links to a
single executable (/usr/lib/uucp/atdialer) together
with an editable configuration file in /usr/lib/uucp/default.

``atdialer and dialer binaries''
lists symbolic links to atdialer and
dialer programs
provided with SCO OpenServer systems.
Both atdialer and the dialer programs
are supplied in binary and source form.

Understanding modem commands and setup strings

To create a new dialer, you need to understand how modem
commands are used. You can enable or disable desired
features by sending commands in a setup string to
the modem. For example, the following setup string is used
in the dialHA24 dialer:

ATQ0E0T&D2&C1S0=0X4S2=043

You can change these strings to suit a different
communications protocol or modem-specific commands by
consulting the documentation for your modem. Though the
setup commands may seem confusing because they are
concatenated, there are two basic types of AT commands:

basic modem commands (for example, Q0 and &D2)

modem S-registers (for example, S0=0)

AT-compatible command strings always begin with the
AT (attention) command.

Creating a new atdial dialer

You can create a new atdial dialer without
using a development system.
An atdial dialer is actually a link to
the binary /usr/lib/uucp/atdialer that
calls a configuration file in the /usr/lib/uucp/default
directory. The configuration file contains all the
commands specific to that modem.
For example, atdialHAY is linked
to atdialer and the configuration file is in
/usr/lib/uucp/default/atdialHAY.

To create a new atdial dialer, atdialMINE
for example, follow these steps:

Log in as root.

Copy one of the atdial files in
/usr/lib/uucp/default to use as a template for
the new configuration file atdialMINE in the same
directory. For example, to use atdialW96 as the
template, enter:

cp /usr/lib/uucp/default/atdialW96 /usr/lib/uucp/default/atdialMINE

Edit /usr/lib/uucp/default/atdialMINE to add
and alter the parameters that are appropriate for your modem.
See the
atdialer(C)
manual page for more information.

Create a symbolic link /usr/lib/uucp/atdialMINE
to /usr/lib/uucp/atdialer using the command:

ln -s /usr/lib/uucp/atdialer /usr/lib/uucp/atdialMINE

When you invoke atdialMINE, atdialer reads
the /usr/lib/uucp/default/atdialMINE file.

Alternatively you can use the make.dialer script
to create an atdial dialer.
See
make.dialer(C)
for more information.

Setting up the modem for FAX/DATA detection

Set the MDM_MODE parameter
in /usr/lib/uucp/default/atdial
to ``AUTO'' to configure a modem to detect incoming
FAX messages automatically.
Use the -f option with the
getty(M)
program defined for the modem port to invoke an appropriate program
defined in /etc/gettyacts (see
gettyacts(F))
if an incoming connection is a FAX message or
another communications protocol such as PPP.

Editing connect speed strings

Most modern modems can perform speed conversion which allows
them to negotiate a different connection speed with the remote modem
than the serial line speed that they use with the local computer.

If you use hardware flow control with the modem, and the modem is
capable of performing speed conversion, do not use the
RTC_speed strings. Instead, use the
RTC_CONNECT string and set it to the value ``CONNECT''.
This will give you the fastest available connection speed.
The computer to modem speed will be set by the value in the
/usr/lib/uucp/Devices file.

The RTC_speed strings in the
/usr/lib/uucp/default/atdial
configuration files allow the dialer to recognize connect messages
from the modem and map them to appropriate speed(s). For example:

RTC_9600=CONNECT 9600

The dialer then recognizes ``CONNECT 9600'' as a 9600bps
connection. The connect messages for each speed must be unique.
If the message is set to ``CONNECT'',
the first speed mapped to the connect message is used.
For unused speeds, simply set the RTC_speed
string to ``not used'', for example:

RTC_300=not used

It is possible to specify all valid connect messages. For example:

RTC_2400=CONNECT 2400
RTC_9600=CONNECT 9600

For a modem that performs speed conversion,
this more accurate setup is only necessary
if you need to guard against long UUCP transfers at 2400bps.
This is because the speed recognized by the dialer is matched
against the speed range in the Systems file or the speed range
on the cu command line.
If it is out of range, an
EXECDIAL LOCAL FAILURE will result.
In the following command
the speed range specified is 9600 9600:

cu -ltty1A -s9600 5551212

Connections at 2400bps using the above command will fail
if separate RTC_speed lines are set up.
Either of the following commands allow a 2400bps
connection in this case:

cu -ltty1A -s2400 5551212

cu -ltty1A -s2400-9600 5551212

Creating a new dial dialer

You can customize a dial program by editing the
source file (for example, dialHA24.c) and
changing modem commands embedded in the C code and then
recompiling the source.

The source and a makefile for recompiling dial
binaries are included in the directory
/usr/lib/uucp. If you have any other kind of
modem, you can modify any of the source files and create
your own dialer program.

NOTE:
You must have installed the SCO OpenServer Development System before
you can compile a dial program.

To make a new dial program:

Change directory to /usr/lib/uucp.

Copy the dialer program you wish to modify and make the
desired changes. For example, the
dialHA24.c setup commands are located
in this code segment:

#define MDSETUP "ATQ0E0T&D2&C1S0=0X4S2=043\r"

There are several ``defines'' in the program, each containing
a different string, such as MDHANGUP, the command string to
send that tells the modem to hang up (ATQ0H). Change each
define as appropriate.

NOTE:
The \r is not a modem command, but a string that indicates
a carriage return. All modem commands in a dialer program
require a carriage return.

Edit the file makefile in the directory
/usr/lib/uucp and find the line that reads: