atdialer(C)


atdialer -- configurable modem dialer for UUCP

Syntax

/usr/lib/uucp/atdialer [ -f ] ttyname telnumber speed
/usr/lib/uucp/atdialer [ -f ] -h ttyname speed
/usr/lib/uucp/atdialname [ -f ] ttyname telnumber speed
/usr/lib/uucp/atdialname [ -f ] -h ttyname speed

Description

atdialer is a configurable dialer program for modems. UUCP comes with a selection of dialers for popular modems, but to get the maximum performance out of some devices you may want to create a customized dialer. Alternatively, if you are using a non-standard modem you may have to create a dialer for it.

Dialer configuration files can also be created using the script /usr/lib/uucp/make.dialer. This script prompts for information on the commands recognized by the modem or dialer, then saves them in an appropriately-named file.

As shipped, there exist several atdialname symbolic links to atdialer for which configuration files exist in /usr/lib/uucp/default. The atdialer binary works out which configuration file to use by checking the name that was used to invoke it. It then looks for the configuration file atdialname in /usr/lib/uucp/default.

When cu(C), uucico(ADM), or getty(M) run on a given line, they read the file /usr/lib/uucp/Devices. This specifies the dialer to use for controlling a given modem. Using the configuration strings specified in its current configuration file, atdialer attempts to contact the modem on the specified tty at the specified speed, and dials the specified telephone number. It returns either an error string from the modem (for example, NO CARRIER or BUSY) or if successful, the speed of the connection (for example, 19200 for a 19,200-baud connection).

Note that a proper /etc/gettydefs file for the modem must exist before atdialer will work properly. The modem must use RTS/CTS flow control if UUCP is selected; /etc/inittab and /etc/conf/init.d/sio should be set up to permit this.

The -f option selects call discrimination and selection for modems that support this functionality. This sends the commands MDM_SETUP, MDM_SPEAKER, MDM_DSBLESC, MDM_DIALIN, and MDM_CDS to the modem. The atdialer will expect either the response RTC_DATA or RTC_FAX from the modem. If RTC_FAX is received, a FAX connection has been detected, and atdialer will exit with a value of RCE_FAXMODE. If RTC_DATA is received, atdialer sends MDM_ONLINE (if defined) to the modem, and then waits for RTC_CONNECT. When it receives RTC_CONNECT, atdialer will exit with a value of RCE_DATAMODE. If other strings are returned (such as ``ERROR''), atdialer will exit with a value of RCE_FAIL.

If the -h option is specified, the line is disconnected when the last process holding the line open either closes it or terminates. getty calls the dialer program with this option whenever it starts up on a line enabled in /etc/inittab and listed in /usr/lib/uucp/Devices with this dialer.

Using make.dialer to create a new atdialer file

To create a dialer using make.dialer:

  1. Log in as root and change directory to /usr/lib/uucp.

  2. Run make.dialer. This displays some help text about modem setup strings, choosing suitable dialer names, and how to use the program.

    You should be prepared to enter the modem setup strings and (optionally) register settings: refer to your modem documentation for further information about suitable values.

  3. make.dialer prompts you in turn for the modem setup, special option, dial prefix, escape, hangup, reset, autoanswer, modem attention, and disable escape strings. It offers the standard Hayes AT command set as default selections. It then prompts you for the strings the modem emits in response to various error conditions or in response to a connection: respectively, OK, NO CARRIER, ERROR, NO DIALTONE, BUSY, NO ANSWER, and CONNECT speed (where CONNECT speed indicates that the modem has made a connection at a baud rate of speed. (Refer to your modem documentation for these settings).

  4. After accepting the default or changed dialer settings, make.dialer creates a dialer file and places it in /usr/lib/uucp/default. It then offers to create an appropriately-named symbolic link to the atdialer binary which you should accept, and then exits.

atdialer configuration parameters

An atdialer configuration file in /usr/lib/uucp/default can contain the parameters listed in the following table:

Parameter Default Description
MDM_ATSPEED 0 Control delay in milliseconds between sending AT commands
MDM_ATTN This parameter is no longer supported and is ignored
MDM_CDS AT+FAA=1;+FCR=1 Select call discrimination and selection
MDM_DIALCMD ATDT Dial command
MDM_DIALIN ATS0=1 Answer after 1 ring
MDM_DSBLESC ATS2=128 Disable modem escape
MDM_ESCAPE +++ Escape to command mode
MDM_FAXBAUD 19200 Select speed of 19,200bps between DCE and DTE
MDM_HANGUP ATQ0H0 Hangup
MDM_MODE DATA Answer mode DATA or AUTO
MDM_ONLINE Command to go online after a DATA connection has been established
MDM_OPTION Commands which enable line speed to be varied
MDM_QUIET ATQ1 Inhibit sending of result codes to DTE
MDM_RESET This parameter is no longer supported and is ignored
MDM_SETUP AT&F0 This parameter must be supplied
MDM_SPEAKER ATM0 Speaker control command
RTC_BUSY BUSY Message to expect for busy line
RTC_CONNECT Message to expect for connection at any speed
RTC_DATA DATA Message to expect for DATA connection
RTC_ERROR ERROR Message to expect on command error
RTC_FAX FAX Message to expect for FAX connection
RTC_NOANS NO ANSWER Message to expect for no answer
RTC_NOCARR NO CARRIER Message to expect for no carrier
RTC_NOTONE NO DIALTONE Message to expect for no dialtone
RTC_OK OK Message to expect on command success
RTC_speed Message to expect when connection set to speed; set to ``not used'' for unused speeds
STTY -ortsflow rtsflow ctsflow stty settings; default is to use hardware flow control

 +------------+-----------------+--------------------------+
 |Parameter   | Default         | Description              |
 +------------+-----------------+--------------------------+
 |MDM_ATSPEED | 0               | Control delay in         |
 |            |                 | milliseconds between     |
 |            |                 | sending AT commands      |
 +------------+-----------------+--------------------------+
 |MDM_ATTN    |                 | This parameter is no     |
 |            |                 | longer supported and is  |
 |            |                 | ignored                  |
 +------------+-----------------+--------------------------+
 |MDM_CDS     | AT+FAA=1;+FCR=1 | Select call              |
 |            |                 | discrimination and       |
 |            |                 | selection                |
 +------------+-----------------+--------------------------+
 |MDM_DIALCMD | ATDT            | Dial command             |
 +------------+-----------------+--------------------------+
 |MDM_DIALIN  | ATS0=1          | Answer after 1 ring      |
 +------------+-----------------+--------------------------+
 |MDM_DSBLESC | ATS2=128        | Disable modem escape     |
 +------------+-----------------+--------------------------+
 |MDM_ESCAPE  | +++             | Escape to command mode   |
 +------------+-----------------+--------------------------+
 |MDM_FAXBAUD | 19200           | Select speed of          |
 |            |                 | 19,200bps between DCE    |
 |            |                 | and DTE                  |
 +------------+-----------------+--------------------------+
 |MDM_HANGUP  | ATQ0H0          | Hangup                   |
 +------------+-----------------+--------------------------+
 |MDM_MODE    | DATA            | Answer mode DATA or AUTO |
 +------------+-----------------+--------------------------+
 |MDM_ONLINE  |                 | Command to go online     |
 |            |                 | after a DATA connection  |
 |            |                 | has been established     |
 +------------+-----------------+--------------------------+
 |MDM_OPTION  |                 | Commands which enable    |
 |            |                 | line speed to be varied  |
 +------------+-----------------+--------------------------+
 |MDM_QUIET   | ATQ1            | Inhibit sending of       |
 |            |                 | result codes to DTE      |
 +------------+-----------------+--------------------------+
 |MDM_RESET   |                 | This parameter is no     |
 |            |                 | longer supported and is  |
 |            |                 | ignored                  |
 +------------+-----------------+--------------------------+
 |MDM_SETUP   | AT&F0           | This parameter must be   |
 |            |                 | supplied                 |
 +------------+-----------------+--------------------------+
 |MDM_SPEAKER | ATM0            | Speaker control command  |
 +------------+-----------------+--------------------------+
 |RTC_BUSY    | BUSY            | Message to expect for    |
 |            |                 | busy line                |
 +------------+-----------------+--------------------------+
 |RTC_CONNECT |                 | Message to expect for    |
 |            |                 | connection at any speed  |
 +------------+-----------------+--------------------------+
 |RTC_DATA    | DATA            | Message to expect for    |
 |            |                 | DATA connection          |
 +------------+-----------------+--------------------------+
 |RTC_ERROR   | ERROR           | Message to expect on     |
 |            |                 | command error            |
 +------------+-----------------+--------------------------+
 |RTC_FAX     | FAX             | Message to expect for    |
 |            |                 | FAX connection           |
 +------------+-----------------+--------------------------+
 |RTC_NOANS   | NO ANSWER       | Message to expect for no |
 |            |                 | answer                   |
 +------------+-----------------+--------------------------+
 |RTC_NOCARR  | NO CARRIER      | Message to expect for no |
 |            |                 | carrier                  |
 +------------+-----------------+--------------------------+
 |RTC_NOTONE  | NO DIALTONE     | Message to expect for no |
 |            |                 | dialtone                 |
 +------------+-----------------+--------------------------+
 |RTC_OK      | OK              | Message to expect on     |
 |            |                 | command success          |
 +------------+-----------------+--------------------------+
 |RTC_speed   |                 | Message to expect when   |
 |            |                 | connection set to speed; |
 |            |                 | set to ``not used'' for  |
 |            |                 | unused speeds            |
 +------------+-----------------+--------------------------+
 |STTY        | -ortsflow       | stty settings; default   |
 |            | rtsflow ctsflow | is to use hardware flow  |
 |            |                 | control                  |
 +------------+-----------------+--------------------------+

MDM_OPTION allows you to set up special registers on the modem. To enable these settings, put an X or an x at the end of the phone number in a Systems file entry. For example: The MDM_OPTION feature is only valid for a Systems file entry; it cannot be used with cu.

Setting any of the RTC_speed parameters is unnecessary for modern modems that can perform speed conversion. If hardware flow control is used between the computer and the modem, the modem can use the fastest speed that it can negotiate with the remote modem. In this case, set RTC_CONNECT to ``CONNECT''.

MDM_SETUP must be present and defined.

A ``*'' at the start of a line indicates a comment.

Examples

This is an example of an atdialer configuration for a V.32bis modem that supports automatic FAX/DATA selection:
   * Enable FAX/DATA detection:
   *
   MDM_MODE=AUTO
   MDM_SETUP=AT&F+FAA=1
   *
   * NOTE: automatic FAX/DATA selection may not be available.
   *
   * Setup commands:
   *
   * &D2 Computer must raise DTR for modem to accept commands
   * &C1 Modem raises CD while a connection is present
   * &B1 Use fixed line speed between computer and modem
   * &R2 Use hardware flow control for received data
   * &H1 Use hardware flow control for transmitted data
   *
   MDM_SETUP=AT&FX4Q0&D2&C1&B1S0=1S2=043M0&R2&H1
   *
   * Use fastest connection speed available;
   * atdialer sets the line speed between computer and modem.
   *
   RTC_CONNECT=CONNECT
   *
   * Use bidirectional hardware flow control.
   *
   STTY=-ortsfl rtsflow ctsflow

Files


/usr/lib/uucp/atdialer
atdialer binary

/usr/lib/uucp/default/atdialname
atdialer configuration file for modem name

/usr/lib/uucp/atdialname
symbolic link to atdialer binary

/usr/lib/uucp/make.dialer
make.dialer script

/usr/lib/uucp/atdialer.c
source code for atdialer binary

/usr/lib/uucp/makefile
makefile for dialer binaries

See also

cu(C), Devices(F), dial(ADM), Dialers(F), getty(M), uucico(ADM), uucp(C)

Standards conformance

atdialer is not part of any currently supported standard; it is an extension of AT&T System V provided by The Santa Cruz Operation, Inc.
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 03 June 2005