Die Installation von Hylafax mit ISDN gilt immer als etwas schwierig. Das ist so nicht ganz korrekt. Es ist durchaus machbar sofern man die ISDN-Karte richtig ins System einbindet und weiß, was in den Konfigurations-Files des Hylafax mindestens stehen muß.
Voraussetzungen
- Ein funktionierendes Debian GNU/Linux "Lenny"
- Eine funktionierende AVM Fritz!Card PCI v2.0 ISDN
- CAPI Version 2.0
- ISDN-Karte am NTBA über den S0-Bus angeschlossen
Nachdem Hylafax keine direkte Anbindung an CAPI 2.0 Interfaces bietet, benötigen wir für die AVM Fritz!Card zusätzlich das Paket capi4hylafax.
Einbinden der AVM-Treiber
Für seine AVM Fritz!Card v2.0 ISDN stellt die AVM Computersysteme Vertriebs GmbH nach wie vor keine aktuelle Firmware für die derzeit aktuellen Kernel zur Verfügung. Aus diesem Grund steht hier eine gepachte Version für den Kernel 2.6.26 zum Download bereit.
|
1.3 M |
Als Erstes entpacken wir das Tar-File und verlinken die Objektdatei "fcpci-lib.o" richtig. Denn das Modul fcpci funktioniert nicht ohne weiteres mit einem 64-bit Kernel. Das läßt sich an Fehlermeldungen wie
ld: Relocatable linking with relocations from format elf32-i386 (/var/lib/fritz/fcpci-lib.o) to format elf64-x86-64 (/usr/src/fritz_2.6.26.1/fcpci-3.11.07/fcpci.o) is not supported
erkennen.
cd /usr/src
bunzip2 fritz-fcpci-src-2.6.26.1.tar.bz2 | tar xv -
cd fritz_2.6.26.1/lib
In diesem Verzeichnis muß die Objektdatei fcpci-lib.o entsprechend der Prozessorarchitektur verlinkt werden:
ln -s 64_fcpci-lib.o fcpci-lib.o
ls -l /usr/src/fritz_2.6.26.1/lib/
-rwx------ 1 root root 581653 4. Nov 2008 32_fcpci-lib.o
-rw-r--r-- 1 root root 823752 04. Nov 16:01 64_fcpci-lib.o
lrwxrwxrwx 1 root root 14 4. Nov 16:36 fcpci-lib.o -> 64_fcpci-lib.o
oder für 32-bit
ln -s 32_fcpci-lib.o fcpci-lib.o
Anschließend wird das fcpci.ko-Modul gebaut. Dazu müssen wir uns in dem Verzeichnis fcpci-3.11.07 befinden.
cd /usr/src/fritz_2.6.26.1/fcpci-3.11.07
make clean
make all
mkdir /lib/modules/`uname -r`/kernel/extras
cp fcpci.ko /lib/modules/`uname -r`/kernel/extras
depmod -a
Jetzt kann das Modul geladen und getestet werden.
modprobe -r fcpci
modprobe fcpci
Somit ist die FRITZ!Card auch mit neueren Kernelversionen einsetzbar.
CAPI einrichten
Zuerst benötigen wir das Paket Isdnactivecards.
apt-get install isdnactivecards
Vor allem muß in der Datei /etc/isdn/capi.conf die gewünschte Karte aktiviert werden. Wir benötigen für die AVM FRITZ!Card den Zeileneintrag mit fcpci, vor dem wir das #-Zeichen entfernen:
# card file proto io irq mem cardnr options
#b1isa b1.t4 DSS1 0x150 7 - - P2P
#b1pci b1.t4 DSS1 - - - -
[...]
#t1pci t1.t4 DSS1 - - - -
fcpci - - - - - -
#fcpcmcia - - - - - -
#fcusb - - - - - -
#fxusb - - - - - -
[...]
Im nächsten Schritt muß der Gruppe dialout auch der Zugriff auf /dev/capi20 gewährt und der User „uucp“ auch in diese Gruppe hinzugefügt werden. Des Weiteren sollten wir zur besseren Übersicht einen Link „faxCAPI“ auf /dev/capi20 erstellen.
usermod -G dialout uucp
ls -l /dev/capi20
crw-rw---- 1 root dialout 68, 0 12. Nov 07:40 /dev/capi20
chown -R uucp:dialout /dev/capi*
grep dialout /etc/group
dialout:x:20:chipcard,uucp
ln -s /dev/capi20 /dev/faxCAPI
Da nach jedem Neustart der Link und der Besitzer uucp für /dev/capi20 fehlen, empfiehlt es sich, diese Befehle in die /etc/rc.local einzutragen, damit diese Einstellungen beim Starten des Rechners automatisch gesetzt sind:
/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
/bin/chown -R uucp:dialout /dev/capi*
/bin/ln -s /dev/capi20 /dev/faxCAPI
/etc/init.d/capi4hylafax restart
/etc/init.d/hylafax restart
exit 0
Installation von Hylafax und Capi4hylafax
Über
apt-get -y install hylafax-server hylafax-client capi4hylafax psrip
wird Hylafax, die CAPI Schnittstelle capi4hylafax installiert. Anschließend müssen beide Dienste noch konfiguriert werden.
/etc/default/capi4hylafax:
run_capi4hylafax=1
/etc/default/hylafax:
USE_FAXGETTY=no
RUN_HYLAFAX=1
/etc/inittab:
T5:23:respawn:/usr/bin/c2faxrecv
Diese Zeile wird am Ende der inittab eingefügt.
/etc/hylafax/config:
Damit Hylafax nicht „sendfax“ für ausgehende Faxe verwendet, das mit der ISDN Karte nicht viel anfangen kann, machen wir in dieser Konfigurationsdatei den Eintrag, daß Hylafax den Ersatz „c2faxsend“ unter capi4hylafax für den Versand verwendet.
SendFaxCmd: "/usr/bin/c2faxsend"
Weitere Einträge machen wir hier mit
DialStringRules: "etc/dialrules"
InternationalPrefix: 011
SendFaxCmd: "/usr/bin/c2faxsend"
Use2D: "no"
MaxTries: 1
MaxDials: 3
/etc/hylafax/setup.cache:
Hier tragen wir
IMPRIP='/usr/bin/psrip'
ein, sofern es noch nicht oder nicht korrekt drin steht.
/etc/hylafax/config.faxCAPI:
Die Einträge hier sind nicht unwesentlich, weil sie das Modem - in unserem Fall die ISDN-Karte - konfigurieren.
SpoolDir: /var/spool/hylafax
FaxRcvdCmd: /usr/bin/c2faxrecv
PollRcvdCmd: /var/spool/hylafax/bin/pollrcvd
FaxReceiveUser: uucp
FaxReceiveGroup: dialout
LogFile: /var/spool/hylafax/log/capi4hylafax
LogTraceLevel: 4
LogFileMode: 0600
{
HylafaxDeviceName: faxCAPI
RecvFileMode: 0666
FAXNumber: +49.711.6929510
LocalIdentifier: "IT-LINUXMAKER"
MaxConcurrentRecvs: 2
OutgoingController: 1
Dabei sind die beiden Werte für "OutgoingMSN" und "IncomingMSN" sehr wichtig. Diese sollten auf jedem Fall belegt sein.
OutgoingMSN: 6929510
SuppressMSN: 0
NumberPrefix:
UseISDNFaxService: 0
RingingDuration: 0
{
Controller: 1
AcceptSpeech: 1
UseDDI: 0
DDIOffset: "12345"
DDILength: 3
IncomingDDIs:
IncomingMSNs: "6929510"
AcceptGlobalCall: 0
}
}
So habe ich jetzt bereits öfters in Foren lesen können, daß die ISDN-Karte direkt am NTBA auf dem S0-Bus steckt und sich bei eingehenden Anrufen auf den anderen MSN die ISDN-Karte mit Faxtönen meldet.
Das ist dann der Fall, wenn die Software hinter der ISDN-Karte nicht weiß, auf was sie reagieren/horchen soll. Kommt also ein Anruf rein, wird die Software, in diesem Fall der Hylafax, immer antworten.
Wichtig ist es also hier diese zwei Parameter zu belegen, damit Hylafax weiß, wofür er sich verantwortlich fühlen soll. Das können auch durchaus mehrere Telefonummern sein.
Server-Neustart
Prinzipiell liegen unter Debian alle Konfigurations-Files auf “/etc“. Aus Sicherheitsgründen ist Hylafax gechrootet und deshalb befinden sich seine Konfigurations-Files unter “/var/spool/hylafax/etc“.
Bei Debian ist deshalb im Init-Script von Hylafax ein Kopierjob integriert, der die Files unter /etc/hylafax bei jeden Start von Hylafax überprüft und bei Bedarf nach /var/spool/hylafax/etc kopiert. Aus diesem Grund sind Änderungen direkt unter “/var/spool/hylafax/etc“ zwecklos, weil diese ohnehin vom Init-Script wieder überschrieben werden. Ergo werden Änderungen an Hylafax erst mit einem Reboot des Servers wirksam:
/etc/init.d/hylafax restart
/etc/init.d/capi4hylafax restart
70376 Stuttgart
James-F.-Byrnes-Strasse 9
fon: +49(0)7 11 - 806 31 12
fax: +49(0)7 11 - 806 31 69
Aktualisiert am 12.11.2008