original in de Sebastian Bauer
Ich bin am Anfang meines Studiums mehr unfreiwillig mit Linux "zusammengesto�en". Seitdem habe ich einiges dazugelernt und sch�tze die Freiheiten und M�glichkeiten, die man mit Linux und Open Source hat. Meine Homepage k�nnt ihr unter www.goblin.kicks-ass.org besuchen.
Um mit Linux �ber einen ISDN-Anschluss zu faxen, braucht man nicht allzu viel
Ich werde mich in diesem Artikel auf passive Karten von AVM beschr�nken, da es meines Wissens nach nur von AVM capi-Treiber f�r Linux gibt. Es sollten zwar auch beliebige aktive Karten zum Faxen geeignet sein, ich kann mich dazu aber nicht �u�ern, weil diese f�r mich leider unerschwinglich sind (f�r Hardwarespenden bin ich immer offen). Es werden alle verwendeten Programme in dieser Anleitung aus den Quelltexten kompiliert. So ist am ehesten sichergestellt, dass der gezeigte Weg auf m�glichst vielen Distributionen zum Ziel f�hrt. Ich habe das beschriebene Vorgehen mit einer FritzCard PCI und einem ISDN Adapter Classic (ISA) auf SuSE 8.1 und Redhat 8.0 getestet (da hat es funktioniert). Leider kann ich nat�rlich nicht garantieren, dass es �berall und immer funktioniert.
Da f�r die n�chsten Schritte unbedingt ein Kernel mit capi-Support n�tig ist, sollte man zuerst einen neuen Kernel kompilieren. Informationen dazu findet man bei The Linux Documentation Project z.B. im Kernel-HowTo. Viele Distributionen enthalten keinen capi-Support im Kernel oder verwenden nicht den Standartkernel. Deshalb sollte man sich den Quelltext des aktuellen Kernels bei www.kernel.org herunterladen. Neben den Einstellungen, die man bei make xconfig f�r sein System braucht, m�ssen noch die folgenden Optionen aktiviert werden.
Danach kann der Kernel ganz normal mit
make dep make bzImage make modules make modules_install
kompiliert werden. Anschlie�end muss der neue Kernel gebootet werden und wenn alles geklappt hat, geht es mit der Installation von capi4linux weiter.
Die capi4linux-Treiber von AVM sind zwar offiziell nur f�r SuSE-Linux erh�ltlich, man kann sie aber f�r beliebige Distributionen (speziell beliebige Kernel) verwenden. Zuerst sollte man die Treiber bei www.avm.de herunterladen. Dabei muss man nur darauf achten, dass man den richtigen Kartentyp ausw�hlt. Die Version von SuSE, f�r die der Treiber gedacht ist, ist im wesentlichen egal (es m�ssen lediglich die Major-Release-Versionen der verwendeten Compiler �bereinstimmen). Die Treiber k�nnen dann z.B. mit
tar xfz fcpci-suseX.X-XX.XX.XX.tar.gz
bzw.
tar xfz fcclassic-suseX.X-XX.XX.XX.tar.gz
entpackt werden. Nun kann man im neuen Verzeichnis fritz mit
make
die Datei src.drv/fcpci.o bzw. src.drv/fcclassic.o erstellen. Diese muss dann nach /lib/modules/2.4.XX/kernel/drivers/isdn/avmb1/ kopiert werden. Anschlie�end m�ssen noch die Modulabh�ngigkeiten mit
depmod
neu definiert werden. Die Fehlermeldung Unresolved symbols in /lib/modules/2.4.XX/kernel/drivers/isdn/avmb1/fcpci.o, die fast mit Sicherheit kommt, kann dabei einfach ignoriert werden. Um die Konfiguration der ISDN-Karte abzuschlie�en, muss noch die Datei /etc/capi.conf erstellt werden. Das Beispiel von AVM sieht in etwa so aus:
# card file proto io irq mem cardnr options #b1isa b1.t4 DSS1 0x150 7 - - P2P #b1pci b1.t4 DSS1 - - - - #c4 c4.bin DSS1 - - - - #c4 - DSS1 - - - - #c4 - DSS1 - - - - P2P #c4 - DSS1 - - - - P2P #t1isa t1.t4 DSS1 0x340 9 - 0 #t1pci t1.t4 DSS1 - - - - #fcpci - - - - - - #fcclassic - - 0x300 5 - -
In dieser Datei kann man einfach den Eintrag f�r die entsprechende Karte entkommentieren (Die Zeile f�r die fcclassic muss man eventuell anpassen).
Die capi4k-utils stellen einige kleine aber wichtige Programme f�r die capi-Schnittstelle zur Verf�gung. Um sie zu installieren, muss man die Datei capi4k-utils-XXXX-XX-XX.tar.gz hier herunterladen und dann wieder einmal mit
tar xfz capi4k-utils-XXXX-XX-XX.tar.gz
entpacken. Anschlie�end kompiliert und installiert man die capi4k-utils mit
cd capi4k-utils make menuconfig make make install
Die Optionen bei make menuconfig kann man im Zweifel so lassen wie sie sind. Es muss nur darauf geachtet werden, dass die eventuellen �nderungen auch nachher konsistent durchgezogen werden. Anschlie�end sollten in der Datei /etc/modules.conf noch die Eintr�ge
alias char-major-43 capidrv alias char-major-44 capidrv alias char-major-45 capidrv
hinzugef�gt bzw. ge�ndert werden. Jetzt kann man dann endlich mit
capiinit start modprobe capidrv
die capi-Module laden. Wieder entfernt werden sie mit
rmmod capidrv capiinit stop
Beim Entfernen der Module k�nnen eventuelle Fehlermeldungen mit gutem Gewissen ignoriert werden. Um das Laden/Entfernen der Module zu automatisieren, habe ich ein einfaches Startscript geschrieben.
#!/bin/bash # # System startup script for the isdn-capi subsystem case "$1" in start) echo -n "Setting up capi-drivers for ISDN subsystem" capiinit start modprobe capidrv ;; stop) echo -n "Remove capi-drivers for ISDN subsystem" rmmod capidrv capiinit stop ;; restart) $0 stop $0 start ;; *) echo "Usage:$0{start|stop|restart}" ;; esac exit 0
Dieses Skript kann nach /etc/init.d/ bzw. /etc/rc.d kopiert und dazu verwendet werden, die capi-Module automatisch beim Systemstart zu laden.
Wenn man auf seinem System kein libtiff installiert hat oder bei den entsprechenden rpms irgendwelche Header-Dateien fehlen, muss man libtiff installieren, bevor man mit der Installation von hylafax fortfahren kann. Dieses Paket kann bei www.libtiff.org heruntergeladen werden. Die Installation von libtiff sollte mit
tar xfz tiff-vX.X.X.tar.gz cd tiff-vX.X.X ./configure make make install
getan sein. Und schon kann es mit der Installation von hylafax weitergehen.
Um hylafax zu installieren, braucht man zuerst den Quelltext, den man bei www.hylafax.org herunterladen kann. Nachdem man den Quelltext, wie �blich mit
tar xfz hylafax-X.X.X.tar.gz
entpackt hat, geht es mit
cd hylafax-X.X.X ./configure
weiter. Bei den nun folgenden Abfragen sollte man das Spool-Verzeichnis (Option 7) auf /var/spool/fax und das Papierformat (Option 13) auf A4 setzen. Alle anderen Einstellungen k�nnen beibehalten werden. Anschlie�enden kann man die Installation mit
make make install faxsetup
fortsetzen. Mit faxsetup werden dann die Einstellungen f�r die Orts- und Landesvorwahl (beide ohne die f�hrenden Nullen - die werden bei Long Distance Prefix und Int. Distance Prefix) etc. eingetragen. Im Zweifel k�nnen die Default-Einstellungen beibehalten werden. WICHTIG: Die letzte Frage nach
faxaddmodem
muss auf jeden Fall mit NO beantwortet werden. Anschlie�end sollte man das Script /etc/init.d/hylafax bzw. /etc/rc.d/hylafax zu Automatisierungszwecken noch ein wenig ver�ndern. Dazu f�gt man unter start m�glichst an letzter Stelle die beiden Zeilen
$ECHO "Starting capifax receive..." /usr/local/bin/c2faxrecv &
und bei stop m�glichst am Anfang
$ECHO "Shutting down capifax receive..." killall -15 c2faxrecv
ein. Diese �nderungen sind n�tig, dass gleichzeitig mit dem hylafax System auch der Faxempfang gestartet wird.
Da hylafax eigentlich nur mit "richtigen" Modems funktioniert, braucht man jetzt noch den capi4hylafax patch. Dieser gaukelt hylafax ein Modem vor, wo eigentlich "nur" eine ISDN-Karte ist. Um diesen Patch zu installieren, muss man das entsprechenden Tarball bei www.avm.de herunterladen und dann mit
tar xfz capi4hylafax-XX.XX.XX.tar.gz
entpacken. Anschlie�end muss nur noch
cd capi4hylafax-XX.XX.XX ./install
ausgef�hrt werden. Hier werden die ben�tigten Parameter angepasst:
Outgoinging MSN | Hier muss die Nummer (ohne Vorwahl) eingegeben werden, die capi4hylafax verwendet, um ein Fax zu versenden. Wenn man Supress MSN nicht auf 0 setzt, kann diese Nummer vom Empf�nger gesehen werden. |
Incoming MSN | Hier wird die Nummer (wieder ohne Vorwahl) angegeben, an der capi4hylafax Faxe entgegennehmen soll. Wenn mehrere Nummern verwendet werden, k�nnen diese einfach durch Kommata getrennt werden. |
DDI Parameter |
Diese Parameter sind notwendig, um capi4hylafax an einem
ISDN-Anlagenanschluss mit Durchwahlm�glichkeit (DDI) zu
betreiben. DDIOffset gibt dabei die Stammnummer an,
DDILength die L�nge der Durchwahlziffern. Bei
IncomingDDIs kann eine Liste von Durchwahlziffern angegeben
werden, auf die reagiert werden soll. Beispiel: Faxnummer 123456-78 DDIOffset = 123456 (Stammnummer), DDILength = 2 |
FaxNumber | Diese Nummer wird beim Empf�nger angezeigt. Da hylafax keine Leerzeichen verarbeiten kann, sollte man die folgende Form 00XX.XX.XXXXXXXX w�hlen. Die Punkte werden dann automatisch in Leerzeichen umgewandelt. |
FaxIdentifier | Hier kann der eigene Name, der Firmenname oder �hnliches eingetragen werden. Dieser Eintrag erscheint ebenfalls auf dem Fax des Empf�ngers. |
NumberPrefix | Wenn zur Amtsholung eine Ziffer, beispielsweise 0 vorgew�hlt werden muss, wird diese hier eingetragen. |
Nachdem alle Parameter angepasst wurden, sollte es m�glich sein, ein Fax zu versenden und zu empfangen. Um dies zu testen, verwendet man zum Senden
c2faxsend -f TIFF -d [TelNum] [TIFF-Datei]
und zum Empfangen
c2faxrecv -f TIFF
Hier wird noch kein hylafax ben�tigt, als Funktionstest sollte es aber ausreichen.
Jetzt da alles installiert ist und hoffentlich auch alles funktioniert, sollte man hylafax neu starten (/etc/init.d/hylafax restart o.�.) und versuchen, jemandem ein Fax zu schicken. Dazu verwendet man
sendfax -n -d [TelNum] [Fax-Datei]
F�r die Fax-Datei sind eine Menge Formate wie PostScript, PDF oder TIFF m�glich. Wenn ein Fax empfangen wird, sollte c2faxrecv den Anruf automatisch annehmen und das Fax in /var/spool/fax/recvq ablegen.
Laut AVM k�nnen die capi-Treiber nur mit einem passiven ISDN-Controller verwendet werden, da z.B. das Versenden eines Faxes sehr viel Rechenzeit beansprucht. Bei mir funktionieren sowohl Empfang als auch Versand auch w�hrend eines Kernel-Compiles wunderbar (Pentium-MMX 166 MHz). Ausserdem gab es in der news-group de.comp.os.unix.linux.isdn einige Meldungen von ehrgeizigen Zeitgenossen, die auch mehrere passive ISDN-Karten gleichzeitig verwenden. All dies und auch die vielen M�glichkeiten, die hylafax �ber die Standartinstallation hinaus bietet, gehen aber weit �ber das Ma� f�r diesen Artikel hinaus.
Ich wei� aus eigener Erfahrung, dass Faxen mit ISDN und Linux nicht unbedingt zu den einfachen Dingen geh�rt - wenn man nicht wei�, wie und wo man anf�ngt, kann es ziemlich l�stig sein. Ich hoffe aber, einigen geholfen zu haben, sich durch den capi-Sumpf zu w�hlen.
Allen, die es versuchen, viel Spa� beim Faxen machen...