APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Hylafax for OSR5

You'll probably save yourself a lot of trouble if you just decide now that a better place to run Hylafax is on a Linux machine. The OSR5 installation is difficult from the start and although there is a custom installable version at Skunkware, it doesn't even begin to run "out of the box". However, if Hylafax on OSR5 is what you have to have, this will at least get you started. Get the VOL files from the above link or your Skunkware CD and install it.

In addition to the Hylafax VOL files, you'll also need to install "mawk" (an enhanced "awk" program), the GNU File Management Utilities and Ghostscript. You may want to install "bash" also; I don't think there is anything that Hylafax really needs bash for (see below), but if you are the worrying type go ahead and install it. There may be other packages too, but I identified these as (I think) the bare minimum.

The server side programs like "faxsetup" below are located in /usr/sbin, so add that to your root PATH now. You'll want to make an entry for "faxgetty" in /etc/inittab (and in the appropriate sub-file in /etc/conf/cf.d/init.d ) for the line:

Se2A:234:respawn:/usr/local/sbin/faxgetty tty2A 

(use the appropriate device for your modem). Faxgetty is perfectly cooperative with other programs that want to use your modem; you'll still be able to use it for cu, uucp and even logins if you want.

You should do this even if you do NOT want incoming fax service. If that's the case, edit (for example) /var/spool/fax/etc/config.tty2A and set

RingsBeforeAnswer:      0

(That file won't exist until after you run "faxaddmodem" as described below).

If you don't use faxgetty, Hylafax has to rely on you to tell it that the modem is available for use. You can't do that automatically any where near as well as faxgetty can, so just use it.

After installing, you are ready to run "faxsetup", except that you probably will want to make some adjustments to its config file before doing so. You can read all about this with "man faxsetup" and "man 4 hylafax" ("man hylafax" is for the client side), but you'll probably want to change at least a few things in /var/spool/fax/etc/setup.cache, and you definitely want to take a look at it before getting started. For example, it expects to find a lot of things in /usr/local/bin that probably aren't there- like "echo", "grep", and "cat". There will be a lot more than that if you have not installed the GNU file management utilities- you'll notice that this config file expects most of what it needs in /usr/local/bin. For bash, I just pointed it at ksh- these two are extremely similar so I don't think there will be any problem. Watch for errors when running faxsetup- you may have missed something in "setup.cache" that makes it unable to find a program it needs.

You may also want to have read through some of the introductory material at http://www.hylafax.org just to get a bird's eye view of this.

After "faxsetup", you run "faxaddmodem". This script is going to want to probe your modem to find out its capabilities. For this install, I used a USRobotics Courier V.Everything; Hylafax recognized it immediately and had no problems configuring it.

Now you are almost ready to go. You need to start two daemons, but strangely the custom binaries don't include a start/stop script (or at least didn't when I did this). So you'll need something like this:

case $1 in 
'start') /usr/local/sbin/hfaxd -i hylafax ;
         /usr/local/sbin/faxq   ;;
'stop') kill `ps -e | grep " faxq$" | cut -f2 -d" "`;
        kill `ps -e | grep " hfaxd$" | cut -f2 -d" "`;;
*) /bin/echo "$0 start or $0 stop";;

After running "hylafax start", a "ps -e | grep fax" should show at least this:

 3085       ?    00:00:00 faxgetty
 3714       ?    00:00:00 hfaxd
 3716       ?    00:00:00 faxq

(Your PID numbers will, of course, be different).

You are now ready to send a fax:

sendfax -n -d 17815551212 /etc/passwd

If that doesn't immediately complain, Hylafax is working. In a minute or two, you should see your modem send it out. If there is a problem sending, you'll find files in /var/spool/fax/log that contain details on the conversation with your modem; my first attempts were frustrated because I neglected to include a "1" before the fax number (I assumed that Hylafax would know to do that; apparently it does not).

If you don't have the current version of Ghostscript, you'll have problems with the defaults specified in /usr/local/lib/fax/typerules. The simplest thing to do is take out the "-f Courier-Bold" stuff; you'll only get fixed-width font faxes, but that's better than nothing- and that may be what you want anyway; for some applications those fonts look much better..

This is just the most basic Hylafax usage. There's much more that you can do, and many more programs included for querying status, removing faxes, etc. that I haven't covered here. Complete man pages are included, and http://www.hylafax.org provides a lot of other documentation and help.

Got something to add? Send me email.

More Articles by

Find me on Google+

© Tony Lawrence

Kerio Samepage

Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Technology is both a tool for helping humans and for destroying them. This is the paradox of our times which we're compelled to face (Frank Herbert).

C++ is a badly designed and ugly language. It would be a shame to use it in Emacs. (Richard Stallman)

This post tagged: