HOW TO INSTALL HYLAFAX v4.0beta018 ON SINIX 5.42 (mips)
  1. Overview
  2. System Dependencies
  3. Getting the distribution package
  4. Installing the distribution
  5. Configuration of HylaFAX
  6. How to startup the fax daemons
  7. Getty and ttymon related changes
  8. Online HTML documentation
  9. My first car was a matchbox


OVERVIEW

[This document augments the normal materials provided with the HylaFAX v4.0beta018 source distribution. All HylaFAX v4.0beta018 documentation is available on-line on the World Wide Web (WWW) at the HylaFAX Home Page http://www.vix.com/hylafax/]

HylaFAX is a facsimile system for UNIX systems. It supports:

- sending facsimile (sendfax(1));
- receiving facsimile;
- polled retrieval of facsimile (sendfax(1));
- sending messages to pager through SNPP (sendpage(1));
- transparent shared data use of the modem (faxgetty(1M));

Facsimile can be any size (e.g. A4, B4), either 98 or 196 lpi, and transmitted/received as either 1D-encoded or 2D-encoded facsimile data (2D-encoded data is frequently more compact and hence takes a shorter time to communicate).

Outgoing documents can be any format; the sendfax program uses a rule-based definition file similar to the System V /etc/magic file to deduce document types and to decide how to convert each document to a form suitable for transmission (either PostScript or TIFF/F). Automatic cover page generation (faxcover(1)) is supported and users can easily tailor cover pages to their environment. A simple text-based phonebook database is supported by sendfax. Information is also provided on how to easy setup an email to fax gateway service.

Incoming facsimile are stored in a receiving area as TIFF/F files and may be automatically delivered by mail and/or printed; see faxrcvd(1M). A fax server status program, faxstat(1), can be used to monitor the send and receive queues, as well as the state of facsimile servers.

Fax modems may be shared with outgoing data communication applications that honor the "uucp locking protocol". These applications typically include: cu, tip, kermit, uucp, slip, and ppp. The system can also be configured to enable incoming data calls to cause the system to invoke the standard system ttymon/getty program.

The software is structured around a client-server architecture. One facsimile server process (faxgetty(1M)) exists for each fax modem on a network and one server process (faxq(1M)) for each fax-queue on a computer on a network. Clients may send facsimile from any machine that can communicate with the machine(s) on which the server(s) reside. The server side of the protocol is handled by the daemon (hfaxd(1M)) the protocol itself is implemted in form of the standard FTP protocol. Client software is designed to be lightweight and easy to port; imaging can be offloaded to the server or done on the client. (Imaging is, however, typically done on the server because it simplifies administration.) Multiple modems may be located on a single machine. An access control mechanism is included to control which users on which machines may submit documents for transmission.

The system supports a wide variety of fax modems. Any Class 1, Class 2, Class 2.0 modem should work with the system.

There is also support for pager devices.

Please report all problems & bugs regarding this binary distribution to me, Matthias Apitz.


SYSTEM DEPENDENCIES

The binary distribution package of HylaFAX v4.0 is available in pkgadd(1M) format and was compiled under SINIX-N myhost 5.42 A0007 RM400 1/128 R4000 with GNU gcc version 2.7.7 and libg++ 2.7.1. Actually the package contains a complete set of server and clients together with some goodies to ensure a complete and ready to use system.

To install and run HylaFAX v4.0 you need the following ressources on your system:

- a minimum free diskspace of 12 MB on the /usr filesystem; use df(1) to check this out;
- a minimum free diskspace of 12 MB on the /var filesystem while running pkgadd
- a minimum free diskspace of 15 MB on the /tmp filesystem while running ftp and unpacking the distribution;
- the ability to become root to install the package with pkgadd(1M);

In addition there is some public available software necessary to run HylaFAX on your computer. You need the font-distribution tree of ghostscript-2.6.1 (a special 2.6.1 based gs.fax binary with a tiffg3- driver comes with HylaFAX v4.0. This part of the package is under the GNU Public License and the source for it could be retrieved by ftp from ftp.aladin.com).

A font-distribution in pkgadd format is also available from ftp://sgi.com/sgi/fax/binary/gs261-mips-sinix5.42-pkg.tar.gz


GETTING THE DISTRIBUTION PACKAGE

The package is available for free from ftp://sgi.com/sgi/fax/binary/. It is also available together with support from SOFTCON GmbH.

If you retrieve the package from any ftp-server you should check the sum(1) or the MD5 value of the package: (note you're going to install setuid software) The correct values are:


INSTALLING THE DISTRIBUTION

If you have already installed an older binary distribution of HylaFAX on your system you may want to save files like hosts(4) or xferlog(4). Backup your old spooling area (e.g. with tar(1)) and remove the old distribution before with pkgrm(1M) and the old spooling area with:


  thias# pkgrm HylaFAX 
  thias# rm -r /usr/local/lib/HylaFAX/spool 
if this is not already done by the package removal (depends on the version of the old distribution you have had installed).

To remove an old HylaFAX v4.0betaXXX from your system type:

To install the image hylafax-mips-sinix5.42-v4.0beta018-pkg do the following steps as root:


  thias# cp hylafax-mips-sinix5.42-v4.0beta018-pkg.tar.gz /tmp 
  thias# cd /tmp 
  thias# gzcat hylafax-mips-sinix5.42-v4.0beta018-pkg.tar.gz | tar xvf - 
  thias# pkgadd -d /tmp 
         The following packages are available:
           1  HylaFAXv4   HylaFAX v4.0beta018 for SINIX 5.42 (mips)
                          (R4000) v4.0beta018

         Select package(s) you wish to process (or 'all' to process
         all packages). (default: all) [?,??,q]: 1
             .......
  thias# rm hylafax-mips-sinix5.42-v4.0beta018-pkg.tar.gz
  thias# rm -rf HylaFAXv4  

This will install the SINIX 5.42 (mips) binary distribution of HylaFAX and parts of ghostscript software under:


  /usr/local/lib/HylaFAX-v4.0/...
  /usr/local/lib/ghostscript/fonts/...
No other parts of your system will be touched during this step of installation (except the package related database files of your Unix OS).

This HylaFAX distribution was compiled with the following configuration parameters:


HylaFAX configuration parameters are:

[ 1] Directory for applications:
                   /usr/local/lib/HylaFAX-v4.0/bin
[ 2] Directory for lib data files:      
                   /usr/local/lib/HylaFAX-v4.0/lib
[ 3] Directory for lib executables:     
                   /usr/local/lib/HylaFAX-v4.0/sbin
[ 4] Directory for system apps:         
                   /usr/local/lib/HylaFAX-v4.0/sbin
[ 5] Directory for manual pages:        
                   /usr/local/lib/HylaFAX-v4.0/man
[ 6] Directory for HTML documentation:  
                   /usr/local/lib/HylaFAX-v4.0/html
[ 7] Directory for spooling:            
                   /usr/local/lib/HylaFAX-v4.0/spool
[ 8] Directory for font metrics:        
                   /usr/local/lib/ghostscript/fonts
[ 9] Directory for uucp lock files:     
                   /var/spool/locks
[10] Uucp lock file scheme:             
                   +ascii
[11] PostScript imager package:         
                   gs
[12] PostScript imager program:         
                   /usr/local/lib/HylaFAX-v4.0/spool/bin/gs.fax
[13] Manual page installation scheme:   
                   sysv-source-cat-strip
[14] Default page size:                 
                   A4
[15] Default vertical res (lpi):        
                   196
[16] Location of getty program:         
                   /usr/lib/saf/ttymon
[17] Location of voice getty program:   
                   /bin/vgetty
[18] Location of sendmail program:      
                   /usr/ucblib/sendmail
[19] Location of TIFF tools:            
                   /usr/local/lib/HylaFAX-v4.0/tiffbin

Several of the above pathnames are compiled into applications included in this binary distribution. If any of these pathnames are unacceptable, your only options are to create a symbolic link to the installed directory hierarchies or retrieve the HylaFAX source distribution and recompile from scratch.

Some of the above parameters can however be changed by editing various configuration files, see also config(4F).


CONFIGURATION OF HylaFAX

If you have access to the World Wide Web, go to the HylaFAX Home Page at http://www.vix.com/hylafax/ and read the documentation. In particular, read the information that describes how to setup a fax server.

Online documentation is also available through the manual pages; consult hylafax(1) and hylafax(4F) for introductory information on the client applications and the server setup, respectively.

In order to run HylaFAX you need a modem with fax support (Class 1, Class 2, or Class 2.0). This modem must be connected to your system on an RS232 serial port or must be an internal modem card and you have to know, to which port (e.g. /dev/term/ser1) it is connected. For the modem-configuration part of the installtion you must know a little bit about your modem and the AT commands to control various settings in the modem. If you are in doubt ask a guru or consult the documentation that comes with your modem (don't buy a modem without documentation.)

If you don't have any of these (documentation or guru) handy you are on your own; try configuring the modem and if you have a problem consult the WWW documentation or ask for help on the HylaFAX mailing list (see below).

You should consult the FAQ of HylaFAX before asking questions already answered.

The system must be configured to NOT run a TTYMON or something other on the tty port where the fax software is configured; use sysadm(1M) to make this sure.

It is a good idea to first checkout your port with a terminal emulation program (e.g. kermit or cu) to test the modem and the name of the tty.

If the modem is properly connected to your computer login as root and run faxsetup(1M):


  thias# sh /usr/local/lib/HylaFAX-v4.0/sbin/faxsetup 

Here is the log of the messages, questions and answers during faxaddmodem. At any time you might safely interrupt the faxaddmodem without causing any problems.



Setup program for HylaFAX (tm) v4.0beta018.

Created for mips-sni-sysv4 on Sat Jun  1 09:00:35 MST 1996.

Checking system for proper client configuration.
Checking system for proper server configuration.

Warning: /bin/vgetty does not exist or is not an executable
program!

The file:

    /bin/vgetty

does not exist or this file is not an executable program.
The HylaFAX software optionally uses this program and the
fact that it does not exist on the system is not a fatal
error. If the program resides in a different location and
you do not want to install a symbolic link for /bin/vgetty
that points to your program then you must reconfigure and
rebuild HylaFAX from source code.

Warning: /bin/egetty does not exist or is not an executable
program!

The file:

    /bin/egetty

does not exist or this file is not an executable program. 
The HylaFAX software optionally uses this program and the
fact that it does not exist on the system is not a fatal
error.  If the program resides in a different location and
you do not want to install a symbolic link for /bin/egetty
that points to your program then you must reconfigure and
rebuild HylaFAX from source code.


Warning: No hylafax service entry found!

No entry was found for the hylafax service in the YP/NIS
database or in the /etc/services file.  The software
should work properly without one (except if you want
to start hfaxd from inetd), but you will see warning
messages whenever you run a HylaFAX client application. 
If you want to manually add an entry the following
information should be used:

hylafax	4559/tcp	# HylaFAX client-server protocol

Should a hylafax entry be added to /etc/services [yes]? yes


Warning: No snpp service entry found!

No entry was found for the Simple Network Paging Protocol
(SNPP) service in the YP/NIS database or in the
/etc/services file.  The software should work properly
without one (except if you want to start hfaxd from inetd),
but you will see warning messages whenever you run the
HylaFAX sendpage program.  If you want to manually add an
entry the following information should be used:

snpp	444/tcp		# Simple Network Paging Protocol

Should an snpp entry be added to /etc/services [yes]? yes


There is no entry for the hylafax service in /etc/inetd.conf.
The HylaFAX client-server protocol process can be setup to run
standalone or started by the inetd program.  A standalone setup
is preferred for performance reasons, especially if hfaxd is to
support multiple protocols (e.g. SNPP); however it may require
manual setup if your operating system does not have a System-V
style init program.

Should an entry be added to /etc/inetd.conf [no]? yes


There does not appear to be an entry for the FaxMaster either
in the YP/NIS database or in the /usr/lib/aliases file. 
The FaxMaster is the primary point of contact for HylaFAX
problems. The HylaFAX client-server protocol server identifies
this alias as the place to register complaints and HylaFAX
directs automatic mail messages to this user when problems
are identified on a server machine or when the routine server
maintainence scripts are run (e.g. faxcron).

Should an entry be added for the FaxMaster
to /usr/lib/aliases [yes]? no

Modem support functions written to
/usr/local/lib/HylaFAX-v4.0/spool/etc/setup.modem.
Configuration parameters written to
/usr/local/lib/HylaFAX-v4.0/spool/etc/setup.cache.

No scheduler config file exists, creating one from scratch.
Country code [1]? 49
Area code []? 89
Long distance dialing prefix [1]? 0
International dialing prefix [011]? 00
Dial string rules file (relative to
/usr/local/lib/HylaFAX-v4.0/spool) ["etc/dialrules"]? 
Tracing during normal server operation [1]? 11
Default tracing during send and receive
sessions [0xffffffff]? 11
Continuation cover page (relative to
/usr/local/lib/HylaFAX-v4.0/spool) []? 
Timeout when converting PostScript documents (secs) [180]? 
Maximum number of concurrent jobs to a destination [1]? 
Define a class of modems []? 
Time of day restrictions for outbound jobs ["Any"]? 
Pathname of destination controls file (relative to
/usr/local/lib/HylaFAX-v4.0/spool) []? 
Timeout before purging a stale UUCP lock file (secs) [30]? 
Max number of pages to permit in an outbound
job [0xffffffff]? 25
Syslog facility name for ServerTracing
messages [daemon]? local0

The non-default scheduler parameters are:

LogFacility:		local0
CountryCode:		49
AreaCode:		89
LongDistancePrefix:	0
InternationalPrefix:	00
ServerTracing:		11
MaxSendPages:		25
SessionTracing:		11

Are these ok [yes]? 

Creating new configuration file
/usr/local/lib/HylaFAX-v4.0/spool/etc/config...

Restarting HylaFAX server processes.
Should I restart the HylaFAX server processes [yes]? no

You do not appear to have any modems configured for use. 
Modems are configured for use with HylaFAX with the
faxaddmodem(1M) command.  Do you want to run faxaddmodem
to configure a modem [yes]? no

Use faxaddmodem(1M) to configure your modem. Don't forgett the parameter -s 19200 because the driver on SINIX will hang during a normal open(2)-call if no carrier is detected.


thias# sh /usr/local/lib/HylaFAX-v4.0/sbin/faxaddmodem -s 19200 

Serial port that modem is connected to []? term/ser1

Ok, time to setup a configuration file for the modem. 
The manual page config(4F) may be useful during this
process.  Also be aware that at any time you can safely
interrupt this procedure.  Reading scheduler config file
/usr/local/lib/HylaFAX-v4.0/spool/etc/config.

No existing configuration, let's do this from scratch.

	<... modem specific part deleted ...>

Creating new configuration file
/usr/local/lib/HylaFAX-v4.0/spool/etc/config.term_ser1...
Creating fifo /usr/local/lib/HylaFAX-v4.0/spool/FIFO.term_ser1
for faxgetty... done.
Done setting up the modem configuration.

Checking /usr/local/lib/HylaFAX-v4.0/spool/etc/config
for consistency...  ...everything looks ok; leaving
existing file unchanged.

Don't forget to run faxmodem(1M) (if you have a send-only
environment) or configure init to run faxgetty on ttyFN01. 
Do you want to run faxaddmodem to configure another modem [yes]? no

You do not appear to be using faxgetty to notify the HylaFAX scheduler
about new modems and/or their status.  This means that you must use the
faxmodem program to inform the new faxq process about the modems you
want to have scheduled by HylaFAX.

Should I run faxmodem for each configured modem [yes]? no

Done verifying system setup.

Additionnally you may reconfigure any other type of modem later with faxaddmodem(1M).

Note: If the faxaddmodem(1M) script seems to hang, interrupt it and restart it with -s option.


HOW TO STARTUP THE FAX DAEMONS

There are other system related files to check. An example script (/usr/local/lib/HylaFAX-v4.0/spool/etc/S69HylaFAX) is provided to startup the faxservice. Please copy this to /etc/rc2.d/S69HylaFAX, make a link to /etc/rc0.d/K69HylaFAX and change it to reflect your system. Especially change the LINE= definition in this script:


  #!/bin/sh
  #       Start HylaFAX daemon
  #       copy this file to /etc/rc2.d/
          .....
  LINE=/dev/term/ser1           # line from faxaddmodem
  #                             # must be changed
  #
  FAXQUEUE=/usr/local/lib/HylaFAX-v4.0/sbin/faxq
     HFAXD=/usr/local/lib/HylaFAX-v4.0/sbin/hfaxd
  FAXGETTY=/usr/local/lib/HylaFAX-v4.0/sbin/faxgetty
   FAXQUIT=/usr/local/lib/HylaFAX-v4.0/sbin/faxquit
      PORT=hylafax
          .....

Caution: Don't remove the "&" operators in this script - your system will never boot if you remove this !

To start the daemons without rebooting the system simply do as root:


  thias# sh /etc/rc2.d/S69HylaFAX start 


GETTY AND TTYMON RELATED CHANGES

The fax daemon process is capable of distinguishing between fax- and data-calls. If you want to provide "Login:" on data-calls you need to do the following steps:

Change the GettyArgs: value in your modem config file. This file was created by faxaddmodem and the name is something like /usr/local/lib/HylaFAX-v4.0/spool/etc/config.<ttyname>


  GettyArgs:              "-g -h -t 60 -l ff_%s" 
Create entries for different baudrates in /etc/ttydefs. An example for such entry is provided in /usr/local/lib/HylaFAX-v4.0/spool/etc/ttydefs.entry.


ONLINE HTML DOKUMENTATION

You can allways contact the HylaFAX Home Page at http://www.vix.com/hylafax/ if you want access to the online documents. All HTML material is also provided with the binary distribution. If you're running a http-daemon on your system you may configure your daemon to use the installed html documents. Add the following alias-definitions to your httpd-config files:


  Alias /hylafax/ /usr/local/lib/HylaFAX-v4.0/html/
  ScriptAlias /hylafax-cgi-bin/ /usr/local/lib/HylaFAX-v4.0/cgi-bin/


MY FIRST CAR WAS A MATCHBOX

To test your installation once you've configured your fax server and modem, startup the fax server as shown above and then log out as root and log in again as a "normal" user.

First check with faxstat(1) to make sure the server is running:


  thias% PATH=$PATH:/usr/local/lib/HylaFAX-v4.0/bin export PATH 
  thias% faxstat -s 

the hfaxd(1M) daemon should respond with something like:


  thias% faxstat -s
  HylaFAX scheduler on thias: Running
  Modem term/ser1 (+49.89.xxxxx373): Running and idle 
  thias%

then send a short fax (change +123456789 below to the number of a nearby fax machine):


  thias%  sendfax -n -d +123456789  <<EOF
  Hello world.
  I like the binary distribution of
  HylaFAX v4.0beta018
  EOF
  thias%

If you run the faxstat with the flag "-s" again you should see the job listed in the queue as being processed.

If you have problems that are not answered by the documentation included with the distribution check the WWW information. A mailing list for users of this software exists; see http://www.vix.com/hylafax/FAQ/ how to subscribe.


Matthias Apitz / matthias.apitz@softcon.de.
Last updated $Date: 1996/07/24 22:44:31 $.