# Building a Fax machine

Following steps illustrating the setup of fax machine on a Linux box and send faxes direct on application with "Print" command. Its features are similar to running Symantic WinFax on MS Windows box. The complete steps are divided into 3 parts, namely;

Part-1

  Installation of efax-gtk package
    http://efax-gtk.sourceforge.net

  efax-gtk is the front-end of efax
    http://www.cce.com/efax/

Part-2

  Setup of fax machine on a Linux box,

Arch Linux

  Version 86-64 2007-08-2
  Gnome Desktop

Part-3

  Setup of a Virtual fax printer, allowing to send fax direct on application with the "Print" command.

# Part-1

Installing efax-gtk

package:- efax-gtk-3.0.12-1 in the AUR

  https://aur.archlinux.org/packages.php?ID=6884

It needs following dependencies

  glibc
  gtk2
  libsigc++2.0

Other packages required

  cups 1.3.6-1
  libcups 1.3.6-1
  libgnomecups 0.2.3-1

To check whether the aforementioned dependencies are already running on the Arch Linux box;

$ pacman -Qs glibc

    local/glibc 2.7-7 (base)
    GNU C Library
    local/nss-mdns 0.10-1
    glibc plugin providing host name resolution via mDNS

$ pacman -Qs gtk2

    local/gtk-sharp-2 2.10.2-1
    gtk2 bindings for C#
    local/gtk2 2.12.8-1
    The GTK+ Toolkit (v2)

$ pacman -Qs libsigc++

    local/libsigc++2.0 2.1.1-1
    Libsigc++ implements a full callback system for use in widget libraries - V2

They are already running on the Arch Linux box.

$ sudo nano /etc/makepkg.conf

  set PKGDEST as;

    PKGDEST=/home/user/efax-gtk

Creating the prebuild package

  $ cd /home/user
  $ wget https://aur.archlinux.org/packages/efax-gtk/efax-gtk.tar.gz

  $ tar zxpf efax-gtk.tar.gz
  $ cd efax-gtk
  $ ls

    PKGBUILD

$ makepkg

    ==> ERROR: efax-gtk is not available for the 'x86_64' architecture.
    Note that many packages may need a line added to their PKGBUILD
    such as arch=('x86_64').

$ cat PKGBUILD

    pkgname=efax-gtk
    pkgver=3.0.12
    pkgrel=1
    pkgdesc="Efax-gtk is a GUI front end for the efax fax program"
    url="http://efax-gtk.sourceforge.net"
    license="GPL"
    depends=('gtk2' 'glibc' 'libsigc++2.0')
    makedepends=(pkgconfig)
    source=(http://mesh.dl.sourceforge.net/sourceforge/efax-gtk/$pkgname-$pkgver.src.tgz)
    build() {
    #   mkdir -p $startdir/pkg/var/spool/fax
      cd $startdir/src/$pkgname-$pkgver
     ./configure --prefix=/usr --sysconfdir=/etc --with-spooldir=/var/spool/fax
     make || return 1
     make DESTDIR=$startdir/pkg install
    }
    md5sums=('837a212ea4e5e86cba32ea558c2e8c8a'

add;

    arch=('x86_64')

between the lines;

    pkgver=3.0.12
    and
    pkgrel=1

$ cat PREBUILD

    pkgname=efax-gtk
    pkgver=3.0.12
    arch=('x86_64')
    pkgrel=1
    pkgdesc="Efax-gtk is a GUI front end for the efax fax program"
    url="http://efax-gtk.sourceforge.net"
    license="GPL"
    depends=('gtk2' 'glibc' 'libsigc++2.0')
    makedepends=(pkgconfig)
    source=(http://mesh.dl.sourceforge.net/sourceforge/efax-gtk/$pkgname-$pkgver.src.tgz)
    build() {
    #   mkdir -p $startdir/pkg/var/spool/fax
      cd $startdir/src/$pkgname-$pkgver
     ./configure --prefix=/usr --sysconfdir=/etc --with-spooldir=/var/spool/fax
     make || return 1
     make DESTDIR=$startdir/pkg install
    }
    md5sums=('837a212ea4e5e86cba32ea558c2e8c8a'

$ makepkg

    .....
    .....
    ==> Tidying install...
     -> Removing info/doc files...
     -> Compressing man pages...
     -> Stripping debugging symbols from binaries and libraries...
    ==> Creating package...
     -> Generating .PKGINFO file...
     -> Compressing package...
    ==> Leaving fakeroot environment.
    ==> Finished making: efax-gtk (Sat Mar 22 21:32:49 HKT 2008)

$ sudo pacman -U efax-gtk-3.0.12-1-x86_64.pkg.tar.gz

    Password:
    loading package data...
    checking dependencies...
    (1/1) checking for file conflicts  [#################################################] 100%
    (1/1) installing efax-gtk          [#################################################] 100%

$ which efax-gtk

    /usr/bin/efax-gtk

On GNOME desktop

  Applications --> Office --> Efax-gtk

starts "efax-gtk: Conditions, Notices and Disclaimers" window

--> Accept

  start "efax-gtk" window

    Socket running on port 9900

# Part-2

Applications --> Office --> efax-gtk

  starts "efax-gtk"

Make following change;

File --> Settings

  --> Identity

    Name:   Your name
    Number: Your fax/tel line number

--> Modem Change;

    Serial Device:ttyS1

as;

    ttyS0

--> Receive

    [check] Popup dialog when fax received by modem

leaving others as DEFAULT --> OK

Clicking "Standby"

    [Inactive] changed to [Standing by to receive calls]

On the windown box displaying;

    Socket running on port 9900
    efax-0.9a:14:07:41 opened /dev/ttySO
    efax-0.9a:14:07:43
    efax-0.9a: 13:29:34 using V2.210-
    V90_2M DLSROCKWELLAC/K56 in class 2
    efax-0.9a: 13:29:34 waiting for activity

Efax-gtk can now send and receive faxes.

# Part-3

Setup "Print Fax" command allowing to send fax on application with "Print" command.

Perform following steps;

1. On a browser, type localhost:631 on URL-box
2. Click "Administration" tag and select "Add Printer".
3. On "Add new printer" page, fill in the first line ("Name") with Fax, leaving other two lines blank. --> Continue
4. On "Device for Fax" page, highlight "Internet Printing Protocol (ipp)" (actually, it doesn't matter what you select). --> Continue
5. On "Device URI for Fax" page, replace "ipp:" with "socket://localhost:9900". --> Continue
6. On "Maker/Manufacturer for Fax" highlight "Raw" --> Continue
7. On "Model/Driver for Fax" page highlight "Raw Quene (en)" --> Add Printer
8. On "Enter username and password for "CUPS" at http://localhost:631" window

    Username: root
    Password: root password --> OK

  9. "Set Printer Options"

    Fax: Banners
    Starting Banner: none
    Ending Banner: none
    --> Set printer Options
    Fax: Policies
    Error Policy: stop-printer
    Operation Policy: default
    --> Set printer Options (clicking either one can work)

Then following notice displayed

    The fax printer has been configured successfully.

# Testing

Start OpenOffice Writer

Typing few lines on it.

File --> Print --> Select "Fax" --> OK

Starts "efax-gtk: print job received on socket" window automatically.

    Enter "Tel number:" --> Send fax

Fax sent.

Enjoy !!!

Category:

- Other hardware