1FAXADDMODEM(8C) FAXADDMODEM(8C)
2
3
4
6 faxaddmodem - configure a modem for use with HylaFAX
7
9 /usr/sbin/faxaddmodem [ -s speed ] [ -f ] [ -nointeractive ] [
10 -skel=file ] [ tty ]
11
13 faxaddmodem is an interactive shell script that does the necessary set‐
14 up work to configure a modem for use by the HylaFAX software. To
15 enable use of the configured modem one must either use the faxmodem(8C)
16 program or configure the init(8C) program to startup a faxgetty(8C)
17 process for the newly configured modem. In either case the faxq(8C)
18 program must also be running if outbound services are to be provided.
19
20 If the serial port name is not specified on the command line faxaddmo‐
21 dem will prompt for it.
22
23 The configuration work done by faxaddmodem falls into two main areas:
24 creating the necessary files to run a facsimile server process, and
25 defining the contents of the configuration database file. The hylafax-
26 config [4m(5F) manual page has an in-depth description of the contents of
27 the configuration file and should be consulted when installing a modem.
28
29 Many aspects of configuring a modem are operating system-specific; fax‐
30 addmodem uses a collection of support routines and parameters that are
31 generated by the faxsetup(8C) program. If faxsetup has not been run on
32 a machine prior to running then faxaddmodem will abort.
33
34 faxaddmodem can be used to install a new modem or re-configure an
35 existing modem. In the latter case it will propagate all the server-
36 related configuration parameters from the existing configuration file
37 to the new configuration file. These parameter include items such as
38 the phone number, area code, and tracing control parameters. Modem-
39 related configuration parameters are, however, not propagated. Instead
40 faxaddmodem deduces the type of modem attached to the specified serial
41 port and then sets up the configuration parameters using a set of pro‐
42 totype configuration files that have been tested with like modems. If
43 a modem is to be installed for which there is no existing prototype
44 file, faxaddmodem will work from a comprehensive template of parameters
45 that can be edited either during or after the installation process.
46
47 faxaddmodem deduces the type of modem attached to the serial port by
48 sending commands to the modem at a fixed speed. By default, this speed
49 is deduced by sending commands to the modem at successively decreasing
50 speeds until a valid response is received. Alternatively, a fixed
51 speed can be specified from the command line with the -s option.
52
53 Because faxaddmodem needs to read and write the modem that is to be
54 installed it will not proceed with an installation if the modem is
55 locked for use by another process. If the modem is not locked and the
56 -f option is used, then the system's fuser(1) command will be invoked
57 to ensure that faxaddmodem is the only process using the modem.
58
59 Finally, note that an installation can be safely aborted at any time by
60 hitting the interrupt key. faxaddmodem delays making installation-
61 related changes until after everything has been setup.
62
64 -s speed Communicate with the modem at a fixed speed; this may be any
65 value recognized by the stty(1) command.
66
67 -f Use the fuser(1) command for exclusive access to the device.
68
69 -nointeractive
70 Do not prompt for any input whenever a default option is
71 available.
72
73 -skel=file
74 Use file as the skeleton configuration file (used when there
75 is no existing modem config file).
76
78 faxaddmodem uses prototype configuration files that have been created
79 for known modems. These prototype files are kept in the config subdi‐
80 rectory and, by convention, have names that identify a brand or type of
81 modem and the DTE-DCE flow control scheme the prototype files config‐
82 ures. The faxaddmodem(8C) program that is used to configure a modem
83 for use with HylaFAX selects a prototype configuration file using
84 information retrieved from the modem and comments embedded in the pro‐
85 totype files. For Class 1 and Class 1.0 modems the product ID code
86 returned by the command ``ATI0'' and the response from the command
87 ``ATI3'' are used to select a prototype configuration file, while for
88 Class 2 modems the manufacturer and model as returned by ``AT+FMFR?''
89 and ``AT+FMDL?'', respectively, are used (or ``AT+FMI?'' and
90 ``AT+FMM?'' for Class 2.0 and Class 2.1 modems).
91
92 A Class 1 prototype configuration file is identified for use by faxad‐
93 dmodem by searching for a comment of the form:
94 # CONFIG:CLASS1:144:.*:RTSCTS: Manufacturer='AT&T' Model=Dataport
95 In this example ``144'' is the product ID code for an AT&T DataPort
96 modem, ``.*'' is a regular expression matched against the result string
97 returned by the ``ATI3'' command, and ``RTSCTS'' indicates the modem is
98 configured to use hardware flow control during fax operation. The
99 remainder of the line is evaluated by the sh(1) and used to specify the
100 modem's manufacturer and model (since Class 1 modems do not have stan‐
101 dard commands to query this information).
102
103 Class 2, 2.0, and 2.1 prototype configuration files match the string
104 ``manufacturer-model-flowcontrol'' against a sh(1) glob pattern speci‐
105 fied in the configuration file, where manufacturer and model are the
106 strings returned by querying the modem and flowcontrol is either
107 ``RTSCTS'' for hardware flow control or ``XONXOFF'' for software flow
108 control. For example:
109 # CONFIG: CLASS2: ZyXEL*-RTSCTS
110 # CONFIG: CLASS2.0: USRobotics*-XONXOFF
111 are configuration comments that appear in the prototype file for a
112 ZyXEL 1496E with Class 2 support, and for a US Robotics Courier modem
113 with Class 2.0 firmware.
114
115 The faxaddmodem program merges server-specific configuration parameters
116 into a prototype configuration according to comments placed in the pro‐
117 totype file. All lines between ``BEGIN-SERVER'' and ``END-SERVER''
118 comments are placed with the appropriate server configuration parame‐
119 ters. Note that this means modem-related configuration parameters must
120 be placed outside this area of the file.
121
123 /var/spool/hylafax/etc/setup.cache master configuration parameters
124 /var/spool/hylafax/etc/setup.modem modem-related configuration support
125 /var/spool/hylafax/config prototype configuration files
126 /usr/sbin/ondelay program to open device without waiting for carrier
127 /usr/sbin/lockname SVR4 UUCP lockfile name generator
128
129 Consult hylafax-server(5F) for a complete discussion of the structure
130 and content of the spooling area.
131
133 hylafax-server(5F), hylafax-config(5F), faxsetup(8C), faxq(8C),
134 faxgetty(8C), faxmodem(8C), faxconfig(8C), faxsend(8C)
135
136
137
138 May 12, 1996 FAXADDMODEM(8C)