Hinweise zum Uebersetzen der Treiberquellen
(fuer andere Distributionen/Kernels)


Im Folgenden wird eine der moeglichen Methoden beschrieben, die Quellen direkt
unterstuetzter Distributionen und Versionen zu uebersetzen 
Rufen Sie nach dem Auspacken der Treiberarchivdatei im neu entstandenen 
Verzeichnis "fritz" die Datei "make" auf. Dieser Aufruf wechselt intern in das
Unterverzeichnis "src.drv" und fuehrt das dort vorhandene "makefile" aus. 
Anschließend kann mit "make install" das erzeugte Modul in das System kopiert 
werden.

Im Rahmen der Uebersetzung werden zwei Komponenten zusammengebunden: der 
mitgelieferte Quellcode zur Systemanbindung und ein binaeres, kernel-
unabhaengiges Modul im Verzeichnis "fritz/lib".

Waehrend das Hardware-Treibermodul (fcXYZ.o) selbst komplett aus dem 
Unterverzeichnis "src.drv" uebersetzt werden kann, bedarf es fuer die 
Portierung des gesamten Treiberarchivs (zusaetzlich bestehend aus den 
CAPI-Modulen, CAPI-Tools und CAPI-Bibliotheken in eigenen rpm-Archiven) zweier 
weiterer Teile. Die beiden Teile liegen zwar schon laenger im Quellcode vor, 
sind aber (auch ihrer Groesse wegen) nicht Teil der Treiberarchivdatei:

- Die CAPI-Module sind Teil der Standard-Linux-Kernel und können mit ihm 
generiert werden, sofern die richtigen Einstellungen in der Kernel-
Konfiguration getroffen wurden.

Um den FRITZ!Card Treiber nutzen zu können, werden die Kernel Module capi.o, 
capiutils.o, kernelcapi.o und capifs.o benoetigt. Der Quelltext für diese Module
ist Teil des Linux Kernels (im Verzeichnis /usr/src/linux/drivers/isdn/avmb1) 
und er wird mit dem Kernel uebersetzt, wenn folgende Einstellungen an der 
Kernelkonfiguration vorgenommen wurden:

        CONFIG_EXPERIMENTAL=y

        CONFIG_ISDN_CAPI=m
        CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
        CONFIG_ISDN_CAPI_MIDDLEWARE=y
        CONFIG_ISDN_CAPI_CAPI20=m
        CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
        CONFIG_ISDN_CAPI_CAPIFS=m
        CONFIG_ISDN_CAPI_CAPIDRV=m

Nach "make menuconfig" wechseln Sie zum "ISDN subsystem", "Active cards" und waehlen:

        ...
        <M> CAPI2.0 support
            [*]   Verbose reason code reporting (kernel size +=7K)
            [*]   CAPI2.0 Middleware support (EXPERIMENTAL)
            <M>   CAPI2.0 /dev/capi support 
            [*]     CAPI2.0 filesystem support
            <M>   CAPI2.0 capidrv interface support
        ...

Aktivieren Sie bitte zusaetzlich den Eintrag "Prompt for development 
and/or incomplete code/drivers" im Menü "Code maturity level options".

Nach dem der Kernel kompiliert wurde, finden Sie alle CAPI Module im Verzeichnis 
/lib/modules/`uname -r`/kernel/drivers/isdn/avmb1/

- Die CAPI-Tools und -Bibliotheken stammen aus dem capi4k-utils-Paket (in der 
Datei capi4k-utils-XXXX-YY-ZZ.tar.gz auf ftp://ftp.in-berlin.de/pub/capi4linux/).
Fuer das capi4k-utils-Paket gibt es detaillierte Installationsanweisungen in 
der Datei "readme", die sich ebenfalls im genannten Verzeichnis befindet.

Die fertig uebersetzten Module werden von der Installation in das System-
Verzeichnis /lib/modules/X.Y.Z/misc kopiert und von dem CAPI-Tool "capiinit" 
geladen. Letzteres erwartet in /etc/capi.conf Angaben darueber, welche Karten 
bzw. welche Kartentreiber zu laden sind. Der Aufbau der Datei /etc/capi.conf 
kann beispielhaft aus einem älteren Treiberpaket fuer passive Karten oder direkt 
dem capi4k-utils Paket entnommen werden. In den Treibepaketen gibt es fuer die 
FRITZ!Card PCI eine Datei namens "pci.conf", fuer die FRITZ!Card Classic 
"classic.conf" etc.