original in de Sebastian Bauer
de to en Sebastian Bauer
en to nl Guus Snijders
In het begin van mijn tijd aan de universiteit liep ik tegen Linux aan. Sindsdien heb ik wat geleerd en waardeer de vrijheid en de mogelijkheden die men heeft met Linux en open source. Mijn homepage is te vinden op www.goblin.kicks-ass.org
Je hebt niet veel software nodig om Linux te gebruiken voor het versturen van faxen over ISDN.
In dit artikel zal ik me beperken tot passieve kaarten van AVM, omdat ik alleen voor deze drivers voor Linux heb gezien. Behalve die kaarten zouden actieve kaarten ook moeten werken, maar die kon ik niet testen, omdat ik me die niet kon veroorloven (voor hardware vrijgevigheid kun je contact met me opnemen). Ik zal ieder programma in dit artikel van source compileren om me er van te verzekeren dat het op zoveel mogelijk Linux distributies werkt. Ik heb het getest met een FritzCard PCI en een ISDN Adaptor Classic (ISA) met SuSE 8.1 en Redhat 8.0 (het werkte hiermee). Helaas kan ik niet garanderen dat het werkt met andere configuraties.
Voor de volgende stappen MOET je een kernel hebben met ondersteuning voor capi, dus moet je eerst een nieuwe kernel compileren. Informatie over het compileren van een kernel is te vinden op The Linux Documentation Project, bijvoorbeeld in de kernel HowTo. Veel distributies hebben geen capi ondersteuning in hun kernel of gebruiken geen standaard sources, het is dus het handigste om de standaard kernel source van www.kernel.org te gebruiken. Behalve de kernel instellingen die nodig zijn voor je hardware, moet je de volgende ISDN specifieke opties inschakelen.
De kernel kun je zoals gewoonlijk compileren met
make dep make bzImage make modules make modules_install
Daarna dien je te herstarten met de nieuwe kernel, en vervolgens kun je verdergaan met de installatie van capi4linux.
Officiëel zijn de capi4linux drivers van AVM alleen beschikbaar voor SuSE Linux, maar je kunt ze met iedere andere distributie (kernel) gebruiken. Eerst download je de drivers voor jouw kaart van www.avm.de. Controleer of het de juiste drivers voor jouw kaart zijn. De versie van SuSE is bijna irrelevant, maar het zou op z'n minst dezelfde major release versie van gcc moeten zijn als jij gebruikt. Nu kun je het archief uitpakken met
tar xfz fcpci-suseX.X-XX.XX.XX.tar.gz
of
tar xfz fcclassic-suseX.X-XX.XX.XX.tar.gz
respectievelijk. Vervolgens kun je het bestand src.drv/fcpci.o of src.drv/fcclassic.o compileren met
make
in de directory fritz. Het bestand dient dan gekopieerd te worden naar /lib/modules/2.4.XX/kernel/drivers/isdn/avmb1/. Daarna moet je een
depmoddoen, om de systeem afhankelijkheden goed te krijgen. De foutmelding Unresolved symbols in /lib/modules/2.4.XX/kernel/drivers/isdn/avmb1/fcpci.o die zeker zal opduiken kan genegeerd worden. om de configuratie van je ISDN kaart af te ronden, maak je het bestand /etc/capi.conf. Het voorbeeld bestand van AVM ziet er als volgt uit:
# 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 - -
Hier dien je het commentaarteken (#) voor de regel met jouw kaart te verwijderen. Als je de fcclassic regel gebruikt, moet je deze waarschijnlijk bewerken, zodat deze overeenkomt met je hardware instellingen.
De capi4k-utils bieden een paar bruikbare tools voor de capi interface. Om deze te installeren heb je het broncode bestand nodig, welke je capi4k-utils-XXXX-XX-XX.tar.gz hier kunt downloaden. Deze kun je uitpakken met
tar xfz capi4k-utils-XXXX-XX-XX.tar.gz
Nu kun je de capi4k-utils compileren en installeren met
cd capi4k-utils make menuconfig make make install
Je kunt de opties bij make menuconfig laten zoals zijn als je twijfeld, maar je moet zeker weten dat ze overeenkomen met de andere instellingen die je later opgeeft. Nu zou je de volgende ingangen in /etc/modules.conf moeten toevoegen of wijzigen:
alias char-major-43 capidrv alias char-major-44 capidrv alias char-major-45 capidrv
Na deze voorbereiding, kun je de capi modules laden met
capiinit start modprobe capidrv
en ze weer ontladen met
rmmod capidrv capiinit stop
Als er foutmeldingen optreden tijdens het ontladen van de modules - negeer ze! ik heb een klein opstart script geschreven dat deze laad/ontlaad procedure geautomatiseerd:
#!/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
Dit script kun je kopiëren naar /etc/init.d of /etc/rc.d respectievelijk en kun je gebruiken om de capi moduls automatisch te laden tijdens het booten.
Als je libtiff niet hebt geïnstalleerd op je systeem of je de libtiff rpm niet de benodigde header bestanden oplevert, zul je deze moeten compileren van source en installeren, voordat je verder kunt gaan met hylafax. Het libtiff pakket kan worden gedownload van www.libtiff.org en alles zou moeten werken met
tar xfz tiff-vX.X.X.tar.gz cd tiff-vX.X.X ./configure make make install
Nu kun je verder gaan met de installatie van hylafax.
Om hylafax te installeren, heb je de broncode nodig van www.hylafax.org. Na
tar xfz hylafax-X.X.X.tar.gz
gebruik je
cd hylafax-X.X.X ./configure
Bij de volgende vragen stel je de spool directory (optie 7) in op /var/spool/fax en de papier grootte (optie 13) op A4. De overige instellingen kun je laten zoals ze zijn. Daarna kun je hylafax installeren met
make make install faxsetup
Nu kun je faxsetup gebruiken om de instellingen goed te zetten voor je regio nummer, internationale code (beide zonder de eerste nullen - deze komen bij de Long Distance Prefix en Int. Distance Prefix) enzovoort. Belangrijk: De laatste vraag, degene voor
faxaddmodem
moet beantwoord worden met NO. Tenslotte dien je het script /etc/init.d/hylafax of /etc/rc.d/hylafax resp. een beetje aanpassen. Voeg
$ECHO "Starting capifax receive..." /usr/local/bin/c2faxrecv &
toe aan het einde van de start sectie en
$ECHO "Shutting down capifax receive..." killall -15 c2faxrecv
aan het begin van de stop sectie. Deze aanpassingen zijn om de faxreceive daemon te starten als hylafax wordt gestart.
hylafax was gemaakt voor "echte" modems en daardoor dien je de capi4hylafax patch te installeren. Deze patch laat je ISDN kaart aan hylafax als een modem zien. Om de patch te installeren, kun je de tarball ophalen van www.avm.de en uitpakken met
tar xfz capi4hylafax-XX.XX.XX.tar.gz
Vervolgens gebruik je
cd capi4hylafax-XX.XX.XX ./install
om de patch te configureren en te installeren. De parameters die gezet moeten worden, worden uitgelegd in de volgende tabel:
Outgoing MSN (uitgaande MSN) | Dit is het nummer (zonder regiocode) dat capi4hylafax gebruikt om een fax te versturen. Als Supress MSN niet op 0 wordt gezet, kan de ontvangen dit nummer ook bovenaan de fax zien. |
Incoming MSN (binnenkomende MSN) | Dit is het nummer (weer zonder regiocode) dat wordt gebruikt om faxen te ontvangen. Als je meerdere nummers wil gebruiken, kun je ze scheiden met kommas. |
DDI Parameter |
Deze opties zijn nodig voor operatie met een PBX ISDN
point-to-point lijn met direct dial-in (DDI).
DDIOffset is het nummer dat voorgaat, de extensie en
DDILength is de lengte van de extensie. Bij IncomingDDIs
kun je een lijst van gebruikte extensies opgeven. Voorbeeld: fax number 123456-78 DDIOffset = 123456, DDILength = 2 |
FaxNumber | Dit nummer zal de ontvanger zien. Hylafax kan niet overweg met spaties, dus zou de vorm 00XX.XX.XXXXXXXX gebruikt moeten worden. De punten worden vervangen door spaties. |
FaxIdentifier | Hier kun je je naam of bedrijfsnaam opgeven. Deze entry duikt ook op in de faxen die je verstuurd. |
NumberPrefix | Deze optie definieert de digit die nodig is om een buitenlijn te benaderen als je gebruik maakt van een PBX (meestal "0"). |
Na het instellen van alle opties zoals beschreven zou je in staat moeten zijn om een fax te versturen met
c2faxsend -f TIFF -d [TelNum] [TIFF-File]
en om er een te ontvangen met
c2faxrecv -f TIFF
Tot dit punt heb je hylafax niet nodig. Bovenstaande commando's zijn gewoon een basis controle om te zien of de installatie werkt.
Nu alles is geïnstalleerd en zou moeten werken, is het tijd om hylafax te herstarten (/etc/init.d/hylafax restart of iets dergelijks) en probeer eens om een fax naar iemand te sturen.
sendfax -n -d [TelNum] [Fax-File]
Je kunt vele bestandsformaten gebruiken voor Fax-File, zoals PostScript, PDF of TIFF. Wanneer een fax wordt ontvangen, zou c2faxrecv de oproep moeten accepteren en de fax in /var/spool/fax/recvq plaatsen als een TIFF bestand.
Volgens AVM kun je de capi drivers gebruiken alleen met een passieve ISDN kaart gebruiken omdat bijvoorbeeld het versturen van een fax nogal een belasting op de cpu legt. Voor mij werkte het vesturen en ontvangen van faxen goed, zelfs wanneer ik (tegelijkertijd) een kernel compileerde (Pentium-MMX 166 MHz). Er zijn ook berichten geweest van ambitieuze ISDN gebruikers in de.comp.os.unix.linux.isdn van mensen die met succes twee of meer passieve ISDN kaarten tegelijkertijd hebben gebruikt. Maar dit alles en ook de vele mogelijkheden behalve de standaard ie hylafax levert zijn teveel voor dit artikel.
Ik weet uit mijn eigen ervaring dat het versturen van faxen over ISDN niet de eenvoudigste taak is - als je niet weet waar en hoe ermee te beginnen kan echt irritant zijn. Maar ik hoop dat ik iemand kan helpen wijs te worden uit de capi chaos.
Iedereen die het probeert - succes met faxen...