FAXADDMODEM(8C)FAXADDMODEM(8C)NAMEfaxaddmodem - configure a modem for use with HylaFAX
SYNOPSIS
/usr/contrib/bin/faxaddmodem [ -s speed ] [ tty ]
DESCRIPTIONfaxaddmodem is an interactive shell script that does the
necessary setup work to configure a modem for use by the
HylaFAX software. To enable use of the configured modem
one must either use the faxmodem(8C) program or configure
the init(8C) program to startup a faxgetty(8C) process for
the newly configured modem. In either case the faxq(8C)
program must also be running if outbound services are to
be provided.
If the serial port name is not specified on the command
line faxaddmodem will prompt for it.
The configuration work done by faxaddmodem falls into two
main areas: creating the necessary files to run a facsim-
ile server process, and defining the contents of the con-
figuration database file. The config (5F) manual page has
an in-depth description of the contents of the configura-
tion file and should be consulted when installing a modem.
Many aspects of configuring a modem are operating system-
specific; faxaddmodem uses a collection of support rou-
tines and parameters that are generated by the
faxsetup(8C) program. If faxsetup has not been run on a
machine prior to running then faxaddmodem will abort.
faxaddmodem can be used to install a new modem or re-con-
figure an existing modem. In the latter case it will
propagate all the server-related configuration parameters
from the existing configuration file to the new configura-
tion file. These parameter include items such as the
phone number, area code, and tracing control parameters.
Modem-related configuration parameters are, however, not
propagated. Instead faxaddmodem deduces the type of modem
attached to the specified serial port and then sets up the
configuration parameters using a set of prototype configu-
ration files that have been tested with like modems. If a
modem is to be installed for which there is no existing
prototype file, faxaddmodem will work from a comprehensive
template of parameters that can be edited either during or
after the installation process.
faxaddmodem deduces the type of modem attached to the
serial port by sending commands to the modem at a fixed
speed. By default, this speed is deduced by sending com-
mands to the modem at successively decreasing speeds until
a valid response is received. Alternatively, a fixed
speed can be specified from the command line with the -s
May 12, 1996 1
FAXADDMODEM(8C)FAXADDMODEM(8C)
option.
Because faxaddmodem needs to read and write the modem that
is to be installed it will not proceed with an installa-
tion if the modem is locked for use by another process.
Finally, note that an installation can be safely aborted
at any time by hitting the interrupt key. faxaddmodem
delays making installation-related changes until after
everything has been setup.
OPTIONS-s speed Communicate with the modem at a fixed speed;
this may be any value recognized by the stty(1)
command.
PROTOTYPE CONFIGURATION FILESfaxaddmodem uses prototype configuration files that have
been created for known modems. These prototype files are
kept in the config subdirectory and, by convention, have
names that identify a brand or type of modem and the DTE-
DCE flow control scheme the prototype files configures.
The faxaddmodem(8C) program that is used to configure a
modem for use with HylaFAX selects a prototype configura-
tion file using information retrieved from the modem and
comments embedded in the prototype files. For Class 1
modems the product ID code returned by the command
``ATI0'' and the response from the comannd ``ATI3'' are
used to select a prototype configuration file, while for
Class 2 modems the manufacturer and model as returned by
``AT+FMFR?'' and ``AT+FMDL?'', respectively, are used (or
``AT+FMI?'' and ``AT+FMM?'' for Class 2.0 modems).
A Class 1 prototype configuration file is identified for
use by faxaddmodem by searching for a comment of the form:
# CONFIG:CLASS1:144:.*:RTSCTS: Manufacturer='AT&T' Model=Dataport
In this example ``144'' is the product ID code for an AT&T
DataPort modem, ``.*'' is a regular expression matched
against the result string returned by the ``ATI3'' com-
mand, and ``RTSCTS'' indicates the modem is configured to
use hardware flow control during fax operation. The
remainder of the line is evaluated by the sh(1) and used
to specify the modem's manufacturer and model (since Class
1 modems do not have standard commands to query this
information).
Class 2 and 2.0 prototype configuration files match the
string ``manufacturer-model-flowcontrol'' against a sh(1)
glob pattern specified in the configuration file, where
manufacturer and model are the strings returned by query-
ing the modem and flowcontrol is either ``RTSCTS'' for
hardware flow control or ``XONXOFF'' for software flow
control. For example:
# CONFIG: CLASS2: ZyXEL*-RTSCTS
May 12, 1996 2
FAXADDMODEM(8C)FAXADDMODEM(8C)
# CONFIG: CLASS2.0: USRobotics*-XONXOFF
are configuration comments that appear in the prototype
file for a ZyXEL 1496E with Class 2 support, and for a US
Robotics Courier modem with Class 2.0 firmware.
The faxaddmodem program merges server-specific configura-
tion parameters into a prototype configuration according
to comments placed in the prototype file. All lines
between ``BEGIN-SERVER'' and ``END-SERVER'' comments are
placed with the appropriate server configuration parame-
ters. Note that this means modem-related configuration
parameters must be placed outside this area of the file.
FILES
/var/spool/fax/etc/setup.cache master configuration parameters
/var/spool/fax/etc/setup.modem modem-related configuration support
/var/spool/fax/config prototype configuration files
/usr/contrib/lib/hylafax/ondelay program to open device without waiting for carrier
/usr/contrib/lib/hylafax/lockname SVR4 UUCP lockfile name generator
Consult hylafax-server(5F) for a complete discussion of
the structure and content of the spooling area.
SEE ALSOhylafax-server(5F), config(5F), faxsetup(8C), faxq(8C),
faxgetty(8C), faxmodem(8C), faxconfig(8C), faxsend(8C)
May 12, 1996 3