ubuntuusers.de

HylaFAX

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

hylafax-logo.gif HylaFAX 🇺🇸 ist ein professionelles System zum Senden und Empfangen von Faxen. Es besteht aus einem Serverteil, der die Modems bedient, zu sendende Faxe abarbeitet, Faxe empfängt und diese abspeichert. Die empfangenen Faxe können vom Client eingesehen werden, als PDF abgespeichert oder gleich ausgedruckt werden. Der Server läuft nur unter UNIX-ähnlichen Betriebssystemen. Der HylaFAX-Client auf der Kommandozeile ist recht rudimentär und bietet kaum Komfort. Es gibt jedoch zahlreiche graphische Clients von anderen Anbietern und für viele Betriebssysteme (Linux, Windows, OS X) mit recht komfortablen Funktionen.

HylaFAX steht im Ruf, dass die Einrichtung kompliziert sei. Das ist so nicht richtig: es ist ein umfangreiches System, das viele Möglichkeiten bietet, die Einrichtung der Basisfunktionen für einen durchschnittlichen Nutzer ist jedoch sehr einfach und soll hier beschrieben werden.

Es gibt Forks von HylaFAX: HylaFAX+ 🇺🇸 und HylaFAX Enterprise 🇺🇸. Diese werden hier nicht behandelt.

Modems

Bevor man HylaFAX installieren bzw. konfigurieren kann, braucht man ein Faxmodem; diese gibt es zwar wie Sand am Meer, nicht alle sind jedoch geeignet. Faxmodems werden immer seltener, weil die Faxtechnologie langsam an Wichtigkeit verliert. Hat man HylaFAX installiert, kann man die Basiskonfigurationsdateien der unterstützten Modems unter /var/spool/hylafax/config/ ansehen. Diese sind jedoch mit Vorsicht zu geniessen, weil sie teilweise fehlerhaft sind.

Generell sind externe Modems mit serieller oder virtueller serieller Schnittstelle zu bevorzugen. HylaFAX bringt auf seiner Homepage eine Liste von kompatiblen Modems 🇺🇸, diese Liste ist leider völlig veraltet (2002) und viele Geräte sind gar nicht mehr verfügbar. Die Benutzung von internen Modems ist meist nicht möglich, da diese spezielle Treiber benötigen, die es meist nur für Windows gibt.

Gut verfügbar und sehr gut für HylaFAX geeignet sind die modernen Modems des Hersteller U.S. Robotics 🇩🇪 (früher 3Com), bewährt haben sich die Modelle 5630G / USR025630G (serielle Schnittstelle, /dev/ttySx) und 5637 / USR805637 (virtuell serielle Schnittstelle über USB, /dev/ttyACMx, Treiber sind in Linux enthalten). Nicht geeignet ist das Modell 5639 / USR5639, bei diesem handelt es sich um ein sogenanntes Softmodem, die dafür benötigten Treiber gibt es nur für Windows. Bei Benutzung der Modems von U.S. Robotics muss die Konfiguration von HylaFAX angepasst werden, dies ist weiter unten beschrieben.

Im Internet findet man Hinweise 🇬🇧 darauf, dass auch das USB-Modem TFM-561U des Herstellers Trendnet für HylaFAX geeignet sei, weil es keine Treiber für Linux benötigt. Es gibt jedoch auch Berichte 🇩🇪, wonach sich dieses Modem nach einiger Zeit aufhängt und der Rechner neu gestartet werden muss.

Andere Modems können funktionieren, müssen aber nicht, da HylaFAX u.U. nicht die richtigen Steuerkommandos kennt. Am Ende des Artikels ist eine Liste mit kompatiblen und nicht kompatiblen Modems.

Installation

HylaFAX kann direkt aus den Paketquellen installiert werden [1]

  • hylafax-server (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install hylafax-server 

Oder mit apturl installieren, Link: apt://hylafax-server

Konfiguration von HylaFAX und Modem

Das Programm muss vor Benutzung konfiguriert werden. Das geschieht im Terminal[3] mit Root-Rechten[4].

sudo faxsetup  

Zuerst erscheinen dort viele Meldungen, die man ignorieren kann, danach kommen die Abfrage zur Konfiguration, zuerst allgemeine Parameter, diese müssen an die deutschen bzw. europäischen Normen angepasst werden:

...
...
...
Update /var/spool/hylafax/status/any.info.

	HylaFAX configuration parameters are:

	[1] Init script starts faxq:		yes
	[2] Init script starts hfaxd		yes
	[3] Start paging protocol:		no
Are these ok [yes]? 

Modem support functions written to /var/spool/hylafax/etc/setup.modem.
Configuration parameters written to /var/spool/hylafax/etc/setup.cache.

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

/etc/init.d/hylafax start
-ne [ ok arting hylafax (via systemctl): hylafax.service
                                                        .
You do not appear to have any modems configured for use.  Modems are
configured for use with HylaFAX with the faxaddmodem(8) command.
Do you want to run faxaddmodem to configure a modem [yes]? 
Serial port that modem is connected to [ttyS0]? 

Ok, time to setup a configuration file for the modem.  The manual
page config(5) may be useful during this process.  Also be aware
that at any time you can safely interrupt this procedure.

Reading scheduler config file /var/spool/hylafax/etc/config.

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

Country code [1]? 49
Area code [415]? 30
Phone number of fax modem [+1.999.555.1212]? +49.30.12345678                                        
Local identification string (for TSI/CIG) ["NothingSetup"]? 
Long distance dialing prefix [1]? 0
International dialing prefix [011]? 00
Dial string rules file (relative to /var/spool/hylafax) [etc/dialrules]? etc/dialrules.europe
Tracing during normal server operation [1]? 
Tracing during send and receive sessions [11]? 
Protection mode for received facsimile [0600]? 0660
Protection mode for session logs [0600]? 0660
Protection mode for ttyS0 [0600]? 0666
Rings to wait before answering [1]? 
Modem speaker volume [off]? low
Command line arguments to getty program ["-h %l dx_%s"]? 
Pathname of TSI access control list file (relative to /var/spool/hylafax) [""]? 
Pathname of Caller-ID access control list file (relative to /var/spool/hylafax) [""]? 
Tag line font file (relative to /var/spool/hylafax) [etc/lutRS18.pcf]? 
Tag line format string ["From %%l|%c|Page %%P of %%T"]? 
Time before purging a stale UUCP lock file (secs) [30]? 
Hold UUCP lockfile during inbound data calls [Yes]? 
Hold UUCP lockfile during inbound voice calls [Yes]? 
Percent good lines to accept during copy quality checking [95]? 
Max consecutive bad lines to accept during copy quality checking [5]? 
Max number of pages to accept in a received facsimile [25]? 
Syslog facility name for ServerTracing messages [daemon]? 
Set UID to 0 to manipulate CLOCAL [""]? 
Use available priority job scheduling mechanism [""]? 

The non-default server configuration parameters are:

CountryCode:		49
AreaCode:		30
FAXNumber:		+49.30.12345678
LongDistancePrefix:	0
InternationalPrefix:	00
DialStringRules:	etc/dialrules.europe
SessionTracing:		11
RecvFileMode:		0660
LogFileMode:		0660
DeviceMode:		0666
RingsBeforeAnswer:	1
SpeakerVolume:		low
GettyArgs:		"-h %l dx_%s"
LocalIdentifier:	"NothingSetup"
TagLineFont:		etc/lutRS18.pcf
TagLineFormat:		"From %%l|%c|Page %%P of %%T"
MaxRecvPages:		25

Are these ok [yes]? 

Nach der Abfrage "Are these ok [yes]?" drückt man , danach versucht HylaFAX den Modemtyp herauszufinden und zu konfigurieren.

Es ist unbedingt zu empfehlen, dass das Modem für Fax Class 1 konfiguriert wird (das schlägt HylaFAX auch vor). Bei anderen Einstellungen gibt es oft Probleme mit inkompatiblen Gegenstellen.

Zumindest die Einstellungen für Modems des Hersteller U.S. Robotics müssen nachgearbeitet werden. Diese Einstellungen sind

ModemAnswerCmd:		AT+FCLASS=1A   -> AT+FCLASS=1;A
ModemHardFlowCmd:	AT&H1&I0&R2    -> AT&H1
ModemNoFlowCmd:		AT&H0&I0&R1    -> AT&H0
ModemSetupDTRCmd:	ATS13=1&D2     -> ATS13=1&D3
ModemSoftFlowCmd:	AT&H2&I2&R1    -> AT&H2
Class1NFLOCmd:		AT&H0&I0&R1    -> AT+FLO=0
Class1HFLOCmd:		AT&H1&I0&R2    -> AT+FLO=2
Class1SFLOCmd:		""             -> AT+FLO=1

Der gesamte Dialog sieht dann wie folgt aus, beim Hersteller U.S.Robotics muss man bei der Frage "Are these ok [yes]?""no" und eingeben, bei anderen Herstellern kann man einfach drücken.

Now we are going to probe the tty port to figure out the type
of modem that is attached.  This takes a few seconds, so be patient.
Note that if you do not have the modem cabled to the port, or the
modem is turned off, this may hang (just go and cable up the modem
or turn it on, or whatever).

Probing for best speed to talk to modem: 38400 OK.

About fax classes:

The difference between fax classes has to do with how HylaFAX interacts
with the modem and the fax protocol features that are used when sending
or receiving faxes.  One class isn't inherently better than another;
however, one probably will suit a user's needs better than others.
    
Class 1 relies on HylaFAX to perform the bulk of the fax protocol.
Class 2 relies on the modem to perform the bulk of the fax protocol.
Class 2.0 is similar to Class 2 but may include more features.
Class 1.0 is similar to Class 1 but may add V.34-fax capability.
Class 2.1 is similar to Class 2.0 but adds V.34-fax capability.
      
HylaFAX generally will have more features when using Class 1/1.0 than
when using most modems' Class 2 or Class 2.0 implementations.  Generally
any problems encountered in Class 1/1.0 can be resolved by modifications
to HylaFAX, but usually any problems encountered in Class 2/2.0/2.1 will
require the modem manufacturer to resolve it.

Use Class 1 unless you have a good reason not to.

This modem looks to have support for Class 1 and 2.0.
How should it be configured [1]? 

Hmm, this looks like a Class 1 modem.
Product code (ATI0) is "5601".
Other information (ATI3) is "U.S. Robotics 56K Voice EXT Rev. 11.1.17".
DTE-DCE flow control scheme [default]? 
Modem manufacturer is "3Com U. S. Robotics".
Modem model is "3CP5610".

Using prototype configuration file usr-xon...

The modem configuration parameters are:

ModemAnswerCmd:		AT+FCLASS=1A
ModemFlowControl:	xonxoff
ModemHardFlowCmd:	AT&H1&I0&R2
ModemMfrQueryCmd:	!USR
ModemModelQueryCmd:	ATI3
ModemNoFlowCmd:		AT&H0&I0&R1
ModemRate:		19200
ModemResultCodesCmd:	ATQ0X4
ModemRevQueryCmd:	ATI7
ModemSetupAACmd:	AT+FCLASS=0
ModemSetupDCDCmd:	AT&C1
ModemSetupDTRCmd:	ATS13=1&D2
ModemSoftFlowCmd:	AT&H2&I2&R1
Class1NFLOCmd:		AT&H0&I0&R1
Class1HFLOCmd:		AT&H1&I0&R2
Class1SFLOCmd:		""
Class1ResponseWaitCmd:	AT+FRS=1
Class1SwitchingCmd:	"<delay\0727>"

Are these ok [yes]? no
Command for answering the phone [AT+FCLASS=1A]? AT+FCLASS=1;A
DTE-DCE flow control scheme [xonxoff]? 
Command for setting DCE-DTE hardware flow control [AT&H1&I0&R2]? AT&H1
Command for querying modem manufacture [!USR]? 
Command for querying modem model [ATI3]? 
Command for disabling DCE-DTE flow control [AT&H0&I0&R1]? AT&H0
DTE-DCE communication baud rate [19200]? 
Command for enabling result codes [ATQ0X4]? 
Command for querying modem firmware revision [ATI7]? 
Command for setting up adaptive-answer [AT+FCLASS=0]? 
Command for setting up DCD handling [AT&C1]? 
Command for setting up DTR handling [ATS13=1&D2]? ATS13=1&D3
Command for setting DCE-DTE software flow control [AT&H2&I2&R1]? AT&H2
Command to setup no flow control after switch to Class 1 [AT&H0&I0&R1]? AT+FLO=0
Command to setup hardware flow control after switch to Class 1 [AT&H1&I0&R2]? AT+FLO=2
Command to setup software flow control after switch to Class 1 [""]? AT+FLO=1
Command to stop and wait prior to looking for the TCF response [AT+FRS=1]? 
Command to ensure silence after receiving HDLC and before sending ["<delay\0727>"]? 

The modem configuration parameters are:

ModemAnswerCmd:		AT+FCLASS=1;A
ModemFlowControl:	xonxoff
ModemHardFlowCmd:	AT&H1
ModemMfrQueryCmd:	!USR
ModemModelQueryCmd:	ATI3
ModemNoFlowCmd:		AT&H0
ModemRate:		19200
ModemResultCodesCmd:	ATQ0X4
ModemRevQueryCmd:	ATI7
ModemSetupAACmd:	AT+FCLASS=0
ModemSetupDCDCmd:	AT&C1
ModemSetupDTRCmd:	ATS13=1&D3
ModemSoftFlowCmd:	AT&H2
Class1NFLOCmd:		AT+FLO=0
Class1HFLOCmd:		AT+FLO=2
Class1SFLOCmd:		AT+FLO=1
Class1ResponseWaitCmd:	AT+FRS=1
Class1SwitchingCmd:	"<delay\0727>"

Are these ok [yes]? 

Creating new configuration file /var/spool/hylafax/etc/config.ttyS0...
Creating fifo /var/spool/hylafax/FIFO.ttyS0 for faxgetty... done.
Done setting up the modem configuration.

Checking /var/spool/hylafax/etc/config for consistency...
...everything looks ok; leaving existing file unchanged.

Don't forget to restart hylafax in order to run faxgetty on this new modem
line.
/var/spool/hylafax/config
Do you want to run faxaddmodem to configure another modem [yes]? no

Will man für großen Faxanfall weitere Modems konfugieren, dann geht es mit weiter, ansonsten mit "no" und , die nachfolgende Frage "Should I run faxmodem for each configured modem [yes]?" beantwortet man ebenfalls mit und dann ist die erste Konfiguration von HylaFAX und des Modems schon fertig.

Möchte man später weitere Modems installieren, dann geschieht das ebenfalls mit

sudo faxaddmodem 

und man kommt in den obigen Dialog.

Konfiguration der Benutzer

Benutzer, die Faxe verschicken wollen, müssen HylaFAX bekannt sein. Sie können am Server-Rechner angemeldet sein, aber auch an anderen Rechnern, solange sich diese im gleichen Netz oder über ein VPN am Server anmelden können. Die einmalige Anmeldung bei HylaFAX geschieht am Server mit dem Befehl

sudo faxadduser -p PASSWORT BENUTZERNAME  

oder

sudo faxadduser -a ADMINPASSWORT-p PASSWORT BENUTZERNAME  

wobei der Benutzername der gleiche ist, mit dem man an dem jeweiligen Faxclient arbeitet. Passwort und/oder Adminpasswort sind nicht die gleichen wie bei Linux! Der Benutzername muss nicht am Server-Rechner als Benutzer angemeldet sein, es sei denn, man verschickt auch von dort aus Faxe. Lässt man das Adminpasswort weg, dann kann dieser Benutzer nur Faxe senden und lesen, die Faxliste aber nicht bearbeiten (kein Adminmodus), also z.B. Einträge löschen.

Nutzer an Clients müssen ihre HylaFAX-Benutzerdaten am Client angeben. Der Client kann als Programm auch am Server-Rechner laufen.

Möchte man Benutzer wieder abmelden geschieht dies mit dem Befehl

sudo faxdeluser BENUTZERNAME 

Abschluss und Neustart

Damit ist die Einrichtung von HylaFAX und Benutzern fertig und man muss Hylafax neu starten

sudo service hylafax restart 

Clients für HylaFAX

YajHFC

YajHFC - Yet Another Java HylaFAX Client - ist in Java geschrieben und daher für viele Betriebssysteme (Linux, Windows, OS X, ...) geeignet.

Winprint HylaFAX (reloaded)

Winprint HylaFAX 🇬🇧 wird nicht mehr weiterentwickelt, die Benutzung ist nicht mehr zu empfehlen (Windows).

Winprint HylaFAX reloaded 🇬🇧 basiert auf Winprint HylaFAX, es ist ein empfehlenswerter und gut benutzbarer Client für Windows, der hier nur erwähnt, aber nicht weiter besprochen wird.

Modemliste

Modemliste
Hersteller Modell Bemerkungen
U.S. Robotics 5630G seriell, getestet o.k.
U.S. Robotics 025663-00 seriell, getestet o.k.
U.S. Robotics 5637 USB virtuell seriell /dev/ttyACMx, getestet o.k.
U.S. Robotics 5636 USB Softmodem, geht nicht
Trendnet TFM-561U getestet, geht, hängt sich aber nach längerem Gebrauch auf 🇩🇪
Longshine LCS-8156C1 getestet, geht, hängt sich aber nach längerem Gebrauch auf

Weitere Modems können inklusive Erfahrungsberichte ergänzt werden.

Diese Revision wurde am 12. September 2022 19:34 von DJKUhpisse erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Büro, Fax, Kommunikation