Adding modems

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:

See ``Connecting to other computers with UUCP'' for more information.

Dialers file entries

``Dialers file entries'' lists dialer types that are available as Dialers entries.

Dialers file entries

Modem or data switch Dialers entry
AT&T DATAPHONE II 2212C att2212c
AT&T DATAPHONE II 2224 att2224
AT&T Programmable 300/1200 Model 4000 att4000
Develcon network dataswitch develcon
Direct line; dialer not used direct
Hayes Smartmodem 1200 or compatible hayes1200
Hayes Smartmodem 2400 or compatible hayes2400
Micom network dataswitch micom
Network Listener Service nls
Penril penril
Racal Vadic 3451 vadic
Rixon Intelligent rixon
Vadic 9600VP vadic9600
Ventel 212+ ventel
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.

atdialer and dialer binaries

Modem atdialer or dialer
Hayes Smartmodem 1200 or compatible dialHA12
Hayes Smartmodem 2400 or compatible dialHA24
Hayes Ultra 96 modem 2000US atdialHAY
Hayes V-series Smartmodem 9600 dialHA96V
MICC 9610 atdialMICC
Multitech MT932EA atdialMT
Multitech MultiModem 224 EH or V.32 dialMUL
Racal Vadic 3451 dialVA3450
Telebit T2500 atdialT25
Telebit Trailblazer dialTBIT
Trailblazer TB1500 dialT1500
US Robotics Courier V.32bis atdialUSR
US Robotics World Port 9600 atdialW96
To create a new dialer, see:

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:

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: 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:

  1. Log in as root.

  2. 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

  3. 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.

  4. 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:

  1. Change directory to /usr/lib/uucp.

  2. 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.

  3. Edit the file makefile in the directory /usr/lib/uucp and find the line that reads:
    EXES= dialHA12 dialHA24 dialHA96V dialMUL dialTBIT dialT1500 dialVA3450
    Add the name of the dialer program that you wish to use. When this is done, exit the file, saving the changes you made.

  4. Next, enter the following command at your shell prompt:


    When the make command is finished, you have a new dialer program. This can be used in the fifth field of an entry in the Devices file.

Next topic: Guidelines for non-supported modems
Previous topic: Removing a modem

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003