UUCP /etc/uucp/Dialers File
The /etc/uucp/Dialers file contains dialing instructions for commonly used modems. You probably do not
need to change or add entries to this file unless you plan to use
a nonstandard modem or plan to customize your UUCP environment. Nevertheless, you should understand what
is in the file and how it relates to the Systems and Devices
file.
The text specifies the initial conversation that must occur on a line before the
line can be made available for transferring data. This conversation, known as a chat
script, is usually a sequence of ASCII strings that is transmitted and is expected.
A chat script is often used to dial a phone number.
As shown in the examples in UUCP /etc/uucp/Devices File, the fifth field in a
Devices file entry is an index into the Dialers file or a special dialer
type, such as TCP, TLI, or TLIS. The uucico daemon attempts to match the
fifth field in the Devices file with the first field of each Dialers
file entry. In addition, each odd-numbered Devices field, starting with the seventh position, is
used as an index into the Dialers file. If the match succeeds, the Dialers
entry is interpreted to perform the dialer conversation.
Each entry in the Dialers file has the following syntax:
dialer substitutions expect-send
The following example shows the entry for a U.S. Robotics V.32bis modem.
Example 26-10 Entry in
/etc/uucp/Dialers File
usrv32bis-e =,-, "" dA\pT&FE1V1X1Q0S2=255S12=255&A1&H1&M5&B2&W\r\c OK\r
\EATDT\T\r\c CONNECT\s14400/ARQ STTY=crtscts
- usrv32bis-e
Entry in the Dialer field. The Dialer field matches the fifth and additional odd-numbered fields in the Devices file.
- =,-, ""
Entry in the Substitutions field. The Substitutions field is a translation string. The first of each pair of characters is mapped to the second character in the pair. This mapping is usually used to translate = and - into whatever the dialer requires for “wait for dial tone” and “pause.”
- dA\pT&FE1V1X1Q0S2=255S12=255&A1&H1&M5&B2&W\r\c OK\r
Entry in Expect-Send field. The Expect-Send fields are character strings.
- \EATDT\T\r\c CONNECT\s14400/ARQ STTY=crtscts
More of the Expect-Send field.
The following example shows sample entries in the Dialers file, as distributed when you
install UUCP as part of the Solaris installation program.
Example 26-11 Excerpts From
/etc/uucp/Dialerspenril =W-P "" \d > Q\c : \d- > s\p9\c )-W\p\r\ds\p9\c-) y\c : \E\TP > 9\c OK
ventel =&-% "" \r\p\r\c $ <K\T%%\r>\c ONLINE!
vadic =K-K "" \005\p *-\005\p-*\005\p-* D\p BER? \E\T\e \r\c LINE
develcon "" "" \pr\ps\c est:\007
\E\D\e \n\007 micom "" "" \s\c NAME? \D\r\c GO
hayes =,-, "" \dA\pTE1V1X1Q0S2=255S12=255\r\c OK\r \EATDT\T\r\c CONNECT
# Telebit TrailBlazer
tb1200 =W-, "" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=2\r\c OK\r
\EATDT\T\r\c CONNECT\s1200
tb2400 =W-, "" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=3\r\c OK\r
\EATDT\T\r\c CONNECT\s2400
tbfast =W-, "" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=255\r\c OK\r
\EATDT\T\r\c CONNECT\sFAST
# USrobotics, Codes, and DSI modems
dsi-ec =,-, "" \dA\pTE1V1X5Q0S2=255S12=255*E1*F3*M1*S1\r\c OK\r \EATDT\T\r\c
CONNECT\sEC STTY=crtscts,crtsxoff
dsi-nec =,-, "" \dA\pTE1V1X5Q0S2=255S12=255*E0*F3*M1*S1\r\c OK\r \EATDT\T\r\c CONNECT
STTY=crtscts,crtsxoff
usrv32bis-ec =,-, "" \dA\pT&FE1V1X1Q0S2=255S12=255&A1&H1&M5&B2&W\r\c OK\r \EATDT\T\r\c
CONNECT\s14400/ARQ STTY=crtscts,crtsxoff
usrv32-nec =,-, "" \dA\pT&FE1V1X1Q0S2=255S12=255&A0&H1&M0&B0&W\r\c OK\r \EATDT\T\r\c
CONNECT STTY=crtscts,crtsxoff
codex-fast =,-, "" \dA\pT&C1&D2*MF0*AA1&R1&S1*DE15*FL3S2=255S7=40S10=40*TT5&W\r\c OK\r
\EATDT\T\r\c CONNECT\s38400 STTY=crtscts,crtsxoff
tb9600-ec =W-, "" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=6\r\c OK\r
\EATDT\T\r\cCONNECT\s9600 STTY=crtscts,crtsxoff
tb9600-nec =W-, "" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=6S180=0\r\c OK\r \EATDT\T\r\c
CONNECT\s9600 STTY=crtscts,crtsxoff
The following table lists escape characters that are commonly used in the send strings
in the Dialers file.
Table 26-3 Backslash Characters for /etc/uucp/Dialers
Character |
Description |
\b |
Sends or expects
a backspace character. |
\c |
No newline or carriage return. |
\d |
Delays for approximately 2 seconds. |
\D
|
Phone number or token without Dialcodes translation. |
\e |
Disables echo checking. |
\E |
Enables
echo checking for slow devices. |
\K |
Inserts a Break character. |
\n |
Sends newline. |
\nnn |
Sends
octal number. Additional escape characters that can be used are listed in the section
UUCP /etc/uucp/Systems File. |
\N |
Sends or expects a NULL character (ASCII NUL). |
\p |
Pauses for approximately 12–14 seconds. |
\r |
Returns.
|
\s |
Sends or expects a space character. |
\T |
Phone number or token with
Dialcodes translation. |
Here is a penril entry in the Dialers file:
penril =W-P "" \d > Q\c : \d- > s\p9\c )-W\p\r\ds\p9\c-) y\c : \E\TP > 9\c OK
First, the substitution mechanism for the phone number argument is established so that any
= is replaced with a W (wait for dial tone) and any - with a
P (pause).
The handshake that is given by the remainder of the line works as listed:
"" – Waits for nothing, which means proceed to the next step.
\d – Delays 2 seconds, then sends a carriage return.
> – Waits for a >.
Q\c – Sends a Q without a carriage return.
: – Expects a :.
\d- – Delays 2 seconds, sends a - and a carriage return.
> – Waits for a >.
s\p9\c – Sends an s, pauses, sends a 9 with no carriage return.
)-W\p\r\ds\p9\c-) – Waits for a ). If ) is not received, processes the string between the - characters as follows. Sends a W, pauses, sends a carriage return, delays, sends an s, pauses, sends a 9 without a carriage return, then waits for the ).
y\c – Sends a y with no carriage return.
: – Waits for a :.
\E\TP – \E enables echo checking. From this point forward, whenever a character is transmitted, UUCP waits for the character to be received before proceeding. Then, UUCP sends the phone number. The \T means to take the phone number that is passed as an argument. The \T applies the Dialcodes translation and the modem function translation that is specified by field 2 of this entry. Then \T sends a P and a carriage return.
> – Waits for a >.
9\c – Sends a 9 without a newline.
OK – Waits for the string OK.
Enabling Hardware Flow Control in the /etc/uucp/Dialers File
You can also use the pseudo-send STTY=value string to set modem characteristics. For instance,
STTY=crtscts enables outbound hardware flow control. STTY=crtsxoff enables inbound hardware flow control. STTY=crtscts,crtsxoff enables
both outbound and inbound hardware flow control.
STTY accepts all the stty modes. See the stty(1) and termio(7I) man pages.
The following example would enable hardware flow control in a Dialers entry:
dsi =,–, "" \dA\pTE1V1X5Q0S2=255S12=255*E1*F3*M1*S1\r\c OK\r \EATDT\T\r\c
CONNECT\sEC STTY=crtscts
This pseudo-send string can also be used in entries in the Systems file.
Setting Parity in the /etc/uucp/Dialers File
In some situations, you have to reset the parity because the system that you
are calling checks port parity and drops the line if it is wrong. The
expect-send couplet P_ZERO sets parity to zero:
foo =,-, "" P_ZERO "" \dA\pTE1V1X1Q0S2=255S12=255\r\c OK\r\EATDT\T\r\c CONNECT
The following are parity couplets that can follow the expect-send couplet:
- "" P_EVEN
Sets the parity to even, which is the default
- "" P_ODD
Sets the parity to odd
- "" P_ONE
Sets the parity to one
This pseudo-send string can also be used in entries in the Systems file.