The /usr/lib/uucp/Dialers file lists the modems used by the uucp program and specifies the initial handshaking necessary to establish remote communications links. Handshaking is a series of expect-send sequences that specify the initial communications that occur on a link before it is ready to send or receive data. Using the handshaking, the local and remote systems confirm that they are compatible and configured to transfer data.
The Dialers file contains an entry for each autodialer that is included in the /usr/lib/uucp/LIDevicesLI file. It also contains entries specifying no handshaking for direct hardware links (the direct entry) and TCP/IP links (the TCP entry). The first field of the Dialers file, which specifies the dialer, is matched to the fifth field of the Devices file, the Dialer-Token Pairs field, to determine handshaking when making a connection.
Note that only someone with superuser authority can edit the Dialers file, which is owned by the uucp program login ID.
Every modem is listed on a line by itself in the Dialers file. Each line consists of three groups of information: the Dialer Name field, the Dial Tone and Wait Characters field, and the Handshaking field. The first field in the Dialers file, the Dialer Name field, specifies the type of autodialer (modem) used in the connection. It matches the fifth field in the /usr/lib/uucp/Devices file, the Dialer-Token Pairs field. When a particular device is used to make a connection, uucp uses the Dialer-Token Pairs field in the Devices file to find the handshaking entry in the Dialers file. If your system has direct hardware connections to one or more remote systems, include an entry with a Dialer Name of direct. Similarly, if your system uses TCP/IP to connect to one or more other systems, include an entry with a Dialer Name of TCP. These entries correspond to the word direct or the word TCP in the Dialer-Token Pairs field of entries in the /usr/lib/uucp/Devices file. Omit the Dial Tone and Wait Characters field and the Handshaking field, since no handshaking is needed on these connections. The second field, the Dial Tone and Wait Characters field, consists of two sets of two characters, for a total of four entries. These characters comprise a translation string. In the actual telephone number of the remote modem, the first character in each string is mapped to the second character in that set. BAction Translates the telephone number. Any = (equal sign) represents wait for dial tone and any - (dash) represents pause. Waits for nothing; continues with the rest of the string. This field generally translates the = and - characters into whatever the dialer uses for wait for dial tone and pause. For direct and TCP entries, omit this field. The handshaking, or dialer negotiations, is an expect-send sequence of ASCII strings. It is given in the Handshaking field, which comprises the remainder of the entry. This string is generally used to pass telephone numbers to a modem, or to make a connection to another system on the same data switch as the local system. The string tells the cu or ct programs or the uucico daemon the sequence of characters to use to dial out on a particular type of modem. If the connection succeeds, the line in the Dialers file is interpreted to perform the dialer negotiations.
Several types of Dialers file entries are shown below.
The two sequences =,-, and "" comprise the Dial Tone and Wait Characters field. The remaining strings comprise the Handshaking field. Following is an explanation of how each entry affects the action of the dialer. Translates the telephone number. Any = (equal sign) represents wait for dial tone and any - (dash) represents pause. Waits for nothing; continues with the rest of the string. Delays, then sends AT (the Hayes Attention prefix). Sends a carriage return (r) followed by a newline (c). Waits for OK from the remote modem, signaling that the first part of the string was executed. Pauses (p), then sends ATDT. AT is again the Hayes Attention prefix, D represents a dialing signal, and T represents a dial tone. Sends the telephone number, which is specified in the /usr/lib/uucp/Systems file, with dial-code translation from the /usr/lib/uucp/Dialcodes file. Sends a carriage return and a newline following the number. Waits for CONNECT from the remote modem, signaling that the modems are connected at the baud rate specified in the /usr/lib/uucp/Devices file.
If your uucp configuration includes hardwired connections, the Dialers file must contain the direct entry. Enter: direct
This entry indicates that hardwired connections do not require any handshaking. It corresponds to the word direct in the Dialer-Token Pairs field of the entries for hardwired devices in the /usr/lib/uucp/Devices file.
If your uucp configuration includes TCP/IP connections, the Dialers file must contain the TCP entry. Enter: TCP
This entry indicates that TCP/IP connections do not require any handshaking. It corresponds to the word TCP in the Dialer-Token Pairs field of the entries for TCP/IP connections in the /usr/lib/uucp/Devices file.
The following examples illustrate the entries needed in the Dialers file to correspond to entries in the /usr/lib/uucp/Devices file for both local and remote systems so that the two systems can communicate using the uucp program.
These files are set up to connect systems venus and merlin over a telephone line using modems. System venus is considered the local system, and system merlin is considered the remote system. On both systems, the tty1 device is hooked to a hayes modem at 1200 baud. The /usr/lib/uucp/Devices file on system venus must contain the following entry for the connection to remote system merlin: ACU tty1 - 1200 hayes The Dialers file on system venus must contain the following entry for its modem: hayes =,-, "" \dAT\r\c OK \pATDT\T\r\c CONNECT The /usr/lib/uucp/Devices file on system merlin must contain the following entry for the connection to system venus: ACU tty1 - 1200 hayes The Dialers file on system merlin must contain the following entry for its modem: hayes =,-, "" \dAT\r\c OK \pATDT\T\r\c CONNECT
When establishing a connection between a local and a remote system using a telephone line and modem, the uucp program consults the Dialers file. (The uucp program also checks the /usr/lib/uucp/Systems file to make sure it contains a listing for the specified remote computer.) If users report a faulty connection, use the uucico command to debug the connection problem. For example, if users are experiencing difficulties connecting to remote system venus, enter: /usr/lib/uucp/uucico -r1 -svenus -x9 where -r1 specifies the server mode, -svenus is the name of the remote system to which you are trying to connect, and -x9 is the debug level that produces the most detailed debugging information.
Expect-send debugging output produced by the uucico command can come either from information in the Dialers file or from information in the /usr/lib/uucp/Systems file. If the relevant line in the Dialers file is not set up correctly for the specified modem, the uucp program will probably display the following error message: DIALER SCRIPT FAILED
If the dialer script fails, verify the following: Make sure that both the local and the remote modems are turned on, that they are both set up correctly, and that the telephone number of the remote modem is correct. Check the Dialers file and make sure the information is correctly specified for the local modem. If possible, check the Dialers file on the remote system also. Check the documentation that came with your modem to make sure you have used the correct expect-send sequence characters in the Dialers file.
Commands: ct(1), cu(1), uutry(1) delim off