Notes for the compilation of the driver sources
(for other distributions/kernels)


In the case of directly supported distributions and versions, one method of 
compiling the sources is to run the "make" file in the "fritz" directory 
which is created when the driver archive file is extracted.  Starting 
"make" internally switches to the subdirectory "src.drv" and executes the 
"makefile" program located in this directory. The resulting module can be 
copied into the system by invoking "make install".

The compilation combines two components: the source code delivered to implement
the system and a binary, kernel-independent module in the "fritz/lib" 
directory.

The hardware driver module (fcXYZ.o) 
itself can be compiled completely from the "src.drv" subdirectory, 
two additional components are required to port the complete driver archive 
(consisting of the CAPI drivers, the CAPI tools and CAPI libraries each in 
their own rpm archives).  These components have existed in the source code 
for quite some time now, but they are not part of the driver archive file 
(also because of their size).

- The CAPI modules are part of the standard linux kernel. They can be generated
with the standard kernel as long as the correct settings are made in the kernel
configuration.

In order to use this FRITZ!Card driver, a couple of kernel modules are required: 
capi.o, capiutils.o, kernelcapi.o and capifs.o. The source code for these modules 
is part of the linux kernel in directory /usr/src/linux/drivers/isdn/avmb1 and 
will be compiled with the kernel if the following settings are found in the 
kernel configuration:

        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

For "make menuconfig" go to "ISDN subsystem", "Active cards" and select:

        ...
        <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
        ...

In addtion to these entries, please enable entry "Prompt for development 
and/or incomplete code/drivers" in the very first menu named "Code maturity 
level options".

After the kernel's compilation, all CAPI modules can be found in directory 
/lib/modules/`uname -r`/kernel/drivers/isdn/avmb1/


- The CAPI tools and libraries originate from the capi4k-utils package 
(in the capi4k-utils-XXXX-YY-ZZ.tar.gz file at 
ftp://ftp.in-berlin.de/pub/capi4linux/). Detailed instructions about how to 
install the packet are also provided in the "readme" file locatedhere.

The installation copies the compiled modules into the system directory 
/lib/modules/X.Y.Z/misc.  Then they are loaded by the CAPI tool "capiinit".
This tool requires the information about which cards or card drivers are to 
be loaded.  An example for the structure of the file /etc/capi.conf can be 
found in the driver package for the passive cards or directly in the 
capi4k-utils package.