Inhaltsverzeichnis
Tipp HylaFAX (2)
letzte inhaltliche Überarbeitung: 01.01.2008
2. Installation und Konfiguration
2.1 Voraussetzungen
Für die Funktion von Hylafax werden folgende Voraussetzungen benötigt:
- Modem oder CAPI 2.0-kompatible ISDN-Karte (ich verwende Fritz!Card PCI v.1)
- die <libtiff-Bibliothek zum Umwandeln der Fax-Dateien
- das Paket hylafax - der HylaFAX-Server
- das Paket hylafax-client - die Client-Programme für den HylaFAX-Server
- das Paket hylafax - der HylaFAX-Server
- die AVM CAPI-Treiber (in meinem Fall fcpci-kmp-0.1_2.6.22.17_0.1-0.x86_64.rpm)
- das Paket capi4linux
- das Paket capi4hylafax
2.1.1 Zusatzhinweise zur CAPI-Variante
Wegen der selbst gemachten Erfahrungen hier einige Tipps bei der Umsetzung der CAPI-Variante:
AVM bietet die quellcode-offenen Treiber und die Sourcen dazu nur noch in einer Version für SuSE 9.3 an. In OpenSuSE werden keine closed-Source-Treiber mehr in die Zusammenstellung aufgenommen um die GPL-Kompatibilität beizubehalten.
Hat man also ein aktuelles (Open)SuSE-System muss man entweder selbst kompilieren oder man sucht sich im Internet ein vorkompiliertes Paket. Dabei muss das Kernelmodul mit den AVM Treibern zur Hardware UND zur Kernel-Version passen. Dank der fleißigen Mannen auf http://opensuse.foehr-it.de kann man dort die Kernelmodule für (bestimmt?) alle aktuellen AVM Produkte und für die neuesten OpenSuSE Kernelversionen herunterladen.
Dafür ein Riesen-DANKESCHÖÖÖÖÖN!!!
Ich bekam nun ein Problem, da ich die Fritz!CardDSL v.1.0 und einen 64-Bit Prozessor von AMD sowie den zugehörigen 64-bit Kernel im Rechner vereint hatte. Nach mehreren Versuchen der Installation und immer neuen Misserfolgen stellte ich fest, dass es für diese Hardware keine 64-bit-Treiber gibt. Daraufhin rüstete ich ab, da ich zum Glück inzwischen einen DSL-Router mein eigen nannte, und baute mir eine alte Fritz!Card PCI v.1 ein. Mit dieser und dem (Treiber) Kernelmodul fcpci-kmp-0.1_2.6.22.17_0.1-0.x86_64.rpm gelang es mir dann relativ einfach mein ISDN-System und den HylaFAX-Server zum Laufen zu bringen.
2.2 Installation und Konfiguration
Durch die Verwendung der RPM-Pakete gestaltet sich die Installation der o.g. Pakete relativ einfach. Entweder man erledigt das auf der Kommandozeile (siehe Tipps zu RPM auf dieser HP) oder man verwendet die Softwareverwaltung von YAST.
2.2.1 ISDN und CAPI testen
Hat man alle Pakete installiert und das ISDN-Paket mit rcisdn (re)start (OpenSuSE) bzw. /etc/init.d/isdn (re)start
neu- bzw. gestartet, sollte man als erstes kontrollieren ob die CAPI-Treiber arbeiten.
Dies kann man mit folgendem Befehl prüfen: capiinfo
.
Daraufhin sollte einige Zeilen mit Informationen zu den von der CAPI unterstützten Funktionen angezeigt werden:
linsrv2:/tmp # capiinfo Number of Controllers : 1 Controller 1: Manufacturer: AVM GmbH CAPI Version: 2.0 Manufacturer Version: 3.11-07 (49.23) Serial Number: 1000001 BChannels: 2 Global Options: 0x00000039 internal controller supported DTMF supported Supplementary Services supported channel allocation supported (leased lines) B1 protocols support: 0x4000011f 64 kbit/s with HDLC framing 64 kbit/s bit-transparent operation V.110 asynconous operation with start/stop byte framing V.110 synconous operation with HDLC framing T.30 modem for fax group 3 Modem asyncronous operation with start/stop byte framing B2 protocols support: 0x00000b1b ISO 7776 (X.75 SLP) Transparent LAPD with Q.921 for D channel X.25 (SAPI 16) T.30 for fax group 3 ISO 7776 (X.75 SLP) with V.42bis compression V.120 asyncronous mode V.120 bit-transparent mode B3 protocols support: 0x800000bf Transparent T.90NL, T.70NL, T.90 ISO 8208 (X.25 DTE-DTE) X.25 DCE T.30 for fax group 3 T.30 for fax group 3 with extensions Modem 0100 0200 39000000 1f010040 1b0b0000 bf000080 00000000 00000000 00000000 00000000 00000000 00000000 01000001 00020000 00000000 00000000 00000000 Supplementary services support: 0x000003ff Hold / Retrieve Terminal Portability ECT 3PTY Call Forwarding Call Deflection MCID CCBSSollte es bei Dir auch so aussehen scheint alles geklappt zu haben und Du kannst mit der Konfiguration von HylaFAX weitermachen.
2.2.2 Konfiguration des HylaFAX-Servers
Bei OpenSuSE findet man die HylaFAX-Dateien im Pfad: /var/spool/fax
.
Der Befehl faxsetup
auf der Kommandozeile eingegeben, startet das Setup (die Konfiguration) des HylaFAX-Servers.
Es werden auf der Kommandozeile in einem Frage-Antwort-Dialog (Vorgabe von empfohlenen oder Defaultwerten in eckigen Klammern []
) alle notwendigen Angaben abgefragt. Nachfolgend habe ich die Dialoge dargestellt.
Setup program for HylaFAX (tm) 4.4.0. Created for x86_64-suse-linux-gnu on Sat Sep 22 00:29:04 UTC 2007. Found converter: /usr/bin/tiff2pdf Found uuencode encoder: /usr/bin/uuencode Found base64 encoder: /usr/bin/mimencode Found Quoted-Printable encoder: /usr/bin/mimencode -q Looks like /usr/bin/mimencode supports base64 encoding. Found mimencode for compatibilty: /usr/bin/mimencode Checking system for proper client configuration. Checking system for proper server configuration. Warning: /usr/sbin/mgetty does not exist or is not an executable program! The file: /usr/sbin/mgetty 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 /usr/sbin/mgetty that points to your program then you must reconfigure and rebuild HylaFAX from source code. Warning: /usr/sbin/vgetty does not exist or is not an executable program! The file: /usr/sbin/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 /usr/sbin/vgetty that points to your program then you must reconfigure and rebuild HylaFAX from source code. Warning: /usr/sbin/egetty does not exist or is not an executable program! The file: /usr/sbin/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 /usr/sbin/egetty that points to your program then you must reconfigure and rebuild HylaFAX from source code. Warning: /usr/share/ghostscript/Resource does not exist or is not a directory! The directory /usr/share/ghostscript/Resource does not exist or thisfile is not a directory. This is the directory where the HylaFAX client applications expect to locate font metric information to use in formatting ASCII text for submission as facsimile. Without this information HylaFAX may generate illegible facsimile from ASCII text. Make /var/spool/fax/bin/ps2fax a link to /var/spool/fax/bin/ps2fax.gs. Make /var/spool/fax/bin/pdf2fax a link to /var/spool/fax/bin/pdf2fax.gs. Update /var/spool/fax/status/any.info. HylaFAX configuration parameters are: [1] Init script starts faxq: yes [2] Init script starts hfaxd yes [3] Start old protocol: no [4] Start paging protocol: no Are these ok [yes]? Modem support functions written to /var/spool/fax/etc/setup.modem. Configuration parameters written to /var/spool/fax/etc/setup.cache. No scheduler config file exists, creating one from scratch. Country code [1]? 49 Area code []? 3763 Long distance dialing prefix [1]? 0 International dialing prefix [011]? 00 Dial string rules file (relative to /var/spool/fax) ["etc/dialrules"]? Tracing during normal server operation [1]? 527 Default tracing during send and receive sessions [0xffffffff]? 527 Continuation cover page (relative to /var/spool/fax) []? etc/cover.templ Timeout when converting PostScript documents (secs) [180]? Maximum number of concurrent jobs to a destination [1]? Define a group of modems []?"any:." Time of day restrictions for outbound jobs ["Any"]? Pathname of destination controls file (relative to /var/spool/fax) []? Timeout before purging a stale UUCP lock file (secs) [30]? Max number of pages to permit in an outbound job [0xffffffff]? 30 Syslog facility name for ServerTracing messages [daemon]? The non-default scheduler parameters are: CountryCode: 49 AreaCode: 3763 LongDistancePrefix: 0 InternationalPrefix: 00 ServerTracing: 527 SessionTracing: 527 ContCoverPage: etc/cover.templ ModemGroup: "any:." MaxSendPages: 30 Are these ok [yes]? Creating new configuration file /var/spool/fax/etc/config... Restarting HylaFAX server processes. Should I restart the HylaFAX server processes [yes]? /etc/init.d/hylafax start Starting service HylaFAX done 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. Beware that if you have modems that require non-default capabilities specified to faxmodem then you should read faxmodem(8C) manual page and do this work yourself (since this script is not intelligent enough to automatically figure out the modem capabilities and supply the appropriate arguments). Should I run faxmodem for each configured modem [yes]? /usr/sbin/faxmodem faxCAPI Done verifying system setup.
Ich verweise hierzu auf eine sehr gute und ausführliche Darstellung dieses Dialogs auf einer anderen Website ⇒ http://de.gentoo-wiki.com/FAX_Server sowie eine weitere mit einem sehr guten Überblick über die Konfigurationsparameter ⇒ http://www.linux-user.de/ausgabe/2001/08/035-sedlbauer/sedlbauer.html
2.2.3 "faxaddmodem" bei capi4hylafax
Hat man capi4hylafax installiert wird nach dem Start der Modemkonfiguration gefragt:
linsrv2:/tmp # faxaddmodem Do you want setup a CAPI 2.0 based ISDN modem [no]? </sxk> Antwortet man hier mit <span class="bold">yes</span> startet ein einfaches Konfigurationsprogramm mit einfachen Boxen. Man wird freundlich darauf hingewiesen, dass dieses Programm nur die Einstellungen für "Cotroller 1" vornimmt. Sollte man mehr als einen Controller verwenden wollen wird man auf die Möglichkeit der händischen Bearbeitung der Datei **config.faxCAPI** hingewiesen. Im folgenden Dialog (mit den Pfeil- und der Eingabetaste navigier-/auswählbar) kann man folgende (sehr leicht verständliche) Einstellungen vornehmen: <sxh bash; gutter: false;> Outgoing MSN 50 Incoming MSNs -- is set -- (2. Setup) Accept Speech Yes Accept Global Calls No DDI Param -- no DDI -- Fax Number +49.3763.xxxxxxx Fax Identifier AVM CAPI4HylaFAX Number Prefix [ empty ] (leer/ohne) Save & Exit
Beim Beenden des Setups mit „Save & Exit“ wird man noch folgendermaßen informiert:
Install was successfully! The Fax Receive Daemon c2faxrecv was added to /etc/inittab and will be started automatically on system start. You could start it manually now with telinit q.dass alles erfolgreich war und was gemacht wurde.
Eine Besonderheit hat hier die OpenSuSE 10.3 Distribution - die Setup-Datei config.faxCAPI
wird einmal unter /etc
mit dem vollen Inhalt abgelegt und dann noch eine abgespeckte Version im HylaFAX-Pfad (/var/spool/fax/etc
) mit (bei mir) nur 3 Zeilen Inhalt:
HylafaxDeviceName: faxCAPI FAXNumber: +49.3763.123456 LocalIdentifier: "AVM CAPI4HylaFAX"
Da die vollständige Datei im Verzeichnis /etc
sehr gut kommentiert ist verzichte ich hier auf weitere Ausführungen.
2.2.4 Feineinstellung - es ist doch noch einiges machbar/notwendig
An diesem Punkt ist man noch nicht ganz fertig - es warten noch ein paar Feinheiten auf ihre Einstellung:
a) Zugriff erlauben
In der Datei /var/spool/fax/etc/hfaxd
müssen die erlaubten IP's oder Rechner-Namen eingegeben werden. Dabei kann man Muster mit dem Stern *
als Platzhalter verwenden:
localhost 127.0.0.0 192.168.*
b) Benachrichtigung Faxmaster, Dateiformat und Sprache
In der Datei /var/spool/fax/bin/faxrcvd
sollte man die dauerhafte Benachrichtigung des FaxMaster über jedes empfangene Fax abschalten. Dazu die Variable NOTIFY_FAXMASTER
von always
auf „never“ ändern:
NOTIFY_FAXMASTER=never
Mit der Variablen FILETYPE
wird der Dateityp eingestellt, als der eingehende Faxe an Mailempfänger weitergeleitet werden. Als Standard ist hier mit ps
Postscript eingestellt.
Ich bevorzuge PDF und stelle dies deshalb ein:
FILETYPE=pdf SENDTO=
Durch Einfügen der Variablen LANG=de_MX
wird die Sprache für die per Mail versendeten Meldungen des FaxServers eingestellt. Diese Option ist mir aber erst seit den 4.4.x-Versionen bekannt. (zusätzliches Verzeichnis ./templates
mit den unterschiedlichen Sprachdateien im fax-etc-Pfad
)
TEMPLATE=deDiese Variable habe ich in alle Dateien geschrieben, die die Variable benutzen und laut der Manpage von
faxrcvd
in FaxDispatch
:
/var/spool/fax/bin/FaxDispatch /var/spool/fax/bin/faxrcvd /var/spool/fax/bin/notify
In der Datei /var/spool/fax/bin/notify
kann man einstellen, dass von jedem versendeten Fax in der Rückinfo-Mail an den Sender das versandte Dokument noch einmal als Datei-Anhang mitgesendet wird:
NOTIFY_FAXMASTER=never RETURNFILETYPE=pdfEs sind noch andere Dateiformate möglich: tif, pdf, ps, original (siehe „man notify“).
c) Empfängereinstellung Fax2Email
Wenn man in die gleich anschließende Variable SENDTO
einen Mailempfänger einträgt, erhält dieser alle eingehenden Faxe als Anhang per Mail zugesandt.
Man kann aber auch die Empfänger entsprechend der einkommenden (angewählten) MSN differenzieren und so die Mails entsprechend zustellen. Dazu wird die Datei /var/spool/fax/etc/users
verwendet. Wie im Beispiel dargestellt erst die Mailadresse des Empfängers und dann - mit Leerzeichen getrennt - die zugehörige MSN eintragen.
user1@domain.com 50 user2@domain.com 52
Ich denke, dass ihr nun erst einmal genügend zu tun habt.
Nach dem Setup kann man mit: telinint q
die geänderten Einträge in der /etc/inittab
aktivieren.
Dann sollte man mit: rchylafax restart
(/etc/init.d/hylafax restart
- bei nicht-SuSE-Systemen) den Hylafax Server neu starten um alle Änderungen zu aktivieren.
2.2.5 Test zum Abschluss
Mit: faxstat
kann man den Status des Fax-Servers abrufen, was ungefähr folgendermaßen aussehen sollte:
HylaFAX scheduler on linsrv2.teichmeier-gc.de: Running Modem faxCAPI (+49.3763.123456): Running and idle
Als Test kann man dann eine Tif-Datei als Fax versenden (z.B. Beispieldatei aus dem Verzeichnis /usr/share/doc/capi4hylafax
; in dieses Verzeichnis wechseln und) - folgenden Befehl auf der Kommandozeile/Shell eingeben:
sendfax -n -d 03764123456 fritz_pic.tif
In der Log-Datei in /var/spool/fax/log/c000<Job-Nr>
kann man den Verlauf des Versandes nachvollziehen.
Wenn man in der Datei (/var/spool/fax)/etc/config.faxCAPI
den LogLevel durch Entfernen des Kommentarzeichens (#
) aktiviert hat und den Wert möglichst hoch gesetzt hat (max. 4), kann man auch in der Datei /var/log/capifax.log
alle Meldungen über Versand und Empfang nachlesen.