CAPI 2.0 für die AVM Fritz!Card USB v2.0 unter Linux


Version 0.1
November 2001
Das Dokument darf gemäß der GNU General Public License verbreitet werden.
Copyright by netnode.de
Die neueste Fassung dieser HOWTO kann unter http://www.netnode.de/howto/ abgerufen werden.
 

Von AVM werden für die aktuellen SuSE-Distributionen RPM-Pakete zur Verfügung gestellt, die eine automatische Installation ermöglichen. Diese HOWTO richtet sich daher an Benutzer anderer Linux-Distributionen wie Debian, RedHat oder Mandrake.

Die hier aufgezeigten Schritte sollten es ermöglichen, die Fritz!Card USB v2.0 unter jeder Distribution mit einem 2.4-er Kernel zur Mitarbeit zu bewegen.

Es werden folgende Pakete benötigt:

Zuerst muß geprüft werden, ob nicht für andere ISDN-Karten bereits das Modul 'hisax' geladen wird. Dieses Modul sollte nicht zusammen mit den CAPI-Treibern geladen werden.

Im Kernel sind folgende Optionen zu aktivieren:
 

Unter 'Code maturity level options':

[*] Prompt for development and/or incomplete code/drivers
 

Unter 'USB support':

<M> Support for USB
[ ]   USB verbose debug messages
--- Miscellaneous USB options
[*]   Preliminary USB device filesystem
[ ]   Enforce USB bandwidth allocation (EXPERIMENTAL)
[ ]   Long timeout for slow-responding devices (some MGE Ellipse UPSes)
--- USB Controllers
<M>   UHCI (Intel PIIX4, VIA, ...) support
<M>   UHCI Alternate Driver (JE) support
<M>   OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support
 

Und unter 'Active ISDN cards':

<M> CAPI2.0 support
[*]   Verbose reason code reporting
[*]   CAPI2.0 Middleware support
<M>   CAPI2.0 /dev/capi support
[*]     CAPI2.0 filesystem support
<M>   CAPI2.0 capidrv interface support


Nach dem Anschließen des USB-Adapters, dem Übersetzen und Installieren des Kernels und eines Reboots werden nun die beiden Pakete entpackt.

Nach dem Auspacken von capi4k-utils muß nur der Code im Unterverzeichnis 'avmb1' mit './configure' und 'make' übersetzt werden. Hier erhält man das Programm 'avmcapictrl', das zum Laden der Firmware dient. Im Verzeichnis 'scripts' muß als root das Skript 'makedev.sh' ausgeführt werden, das die CAPI-Devices in '/dev' anlegt.

Nach dem Auspacken von fcusb2 wird hier alles mit 'make' übersetzt. Danach liegt im Unterverzeichnis 'src.drv' die Datei 'fcusb2.o'. Diese wird nun in den entsprechenden Pfad in '/lib/modules' kopiert (z. B. nach '/lib/modules/`uname -r`/kernel/drivers/isdn/avmb1/').

Jetzt noch eben 'depmod' aufrufen und dann können die Module geladen werden:

modprobe uhci
modprobe usb-ohci
modprobe usb-uhci

Von diesen drei Modulen wird natürlich nur eines funktionieren. Die 'USB'-LED an der Fritz!Card sollte jetzt leuchten. Weiter gehts:

modprobe fcusb2
modprobe capi
modprobe capidrv

Mit 'lsmod' sollte jetzt überprüft werden, ob die Module 'usbcore', 'kernelcapi', 'capiutil' und 'capifs' automatisch über Abhängigkeiten geladen wurden.

Nun wird noch als root die Firmware mit 'avmcapictrl load fus2base.frm' geladen (die Datei 'fus2base.frm' ist im Paket fcusb2 enthalten). Wenn das ISDN-Kabel angeschlossen ist, sollte jetzt die 'D'-LED leuchten.

Das war's! Wenn bereits vorher der ipppd zur Internetverbindung benutzt wurde, kann er ohne Modifikation direkt weiterverwendet werden: statt des 'hisax'-Modules wird jetzt automatisch CAPI verwendet.

Zur Verwendung des pppd müssen die Providerdateien noch angepaßt werden. Dies ist in der Datei 'install_passive.de' im Paket 'fcusb2' beschrieben. Die dafür nötigen Dateien 'userpass.so' und 'capiplugin.so' können im Verzeichnis 'pppdcapiplugin' im Paket 'capi4k-utils' übersetzt werden. Einige Distributionen (z. B. Debian) liefern aber bereits ein pppdcapiplugin-Paket mit. Sollte vorher noch kein Internetzugang bestanden haben, müssen ggf. weitere Kernel-Optionen aktiviert werden (siehe auch: Linux PPP HOWTO).

Gutes Gelingen!


Je nach verwendeter Hardware sollte die Ausgabe von 'dmesg' ähnlich aussehen:

usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
uhci.c: USB Universal Host Controller Interface driver v1.1
usb.c: deregistering driver usbdevfs
usb.c: deregistering driver hub
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.268 $ time 23:22:28 Nov 20 2001
usb-uhci.c: High bandwidth mode enabled
usb-uhci.c: v1.268:USB Universal Host Controller Interface driver
usb.c: deregistering driver usbdevfs
usb.c: deregistering driver hub
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
PCI: Found IRQ 5 for device 00:02.0
PCI: Setting latency timer of device 00:02.0 to 64
usb-ohci.c: USB OHCI at membase 0xd42b2000, IRQ 5
usb-ohci.c: usb-00:02.0, Acer Laboratories Inc. [ALi] M5237 USB
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
hub.c: USB new device connect on bus1/1, assigned device number 2
usb.c: USB device 2 (vend/prod 0x57c/0x1000) is not claimed by any active driver.
CAPI-driver Rev 1.21.6.8: loaded
kcapi: driver fcusb2 attached
usb.c: registered new driver fcusb2
fcusb2: Driver 'fcusb2' attached to stack
kcapi: Controller 1: fritz-usb attached
capifs: Rev 1.14.6.8
capi20: started up with major 68
kcapi: capi20 attached
capi20: Rev 1.44.6.15: started up with major 68 (middleware+capifs)
CSLIP: code copyright 1989 Regents of the University of California
ISDN subsystem Rev: 1.114.6.15/1.94.6.8/1.140.6.10/1.85.6.7/1.21.6.2/1.5.6.4 loaded
kcapi: capidrv attached
kcapi: appl 1 up
capidrv: Rev 1.39.6.7: loaded
fcusb2: Stack version 3.09-10
kcapi: card 1 "fritz-usb" ready.
kcapi: notify up contr 1
capidrv: controller 1 up
capidrv-1: now up (2 B channels)
capidrv-1: D2 trace enabled
capi: controller 1 up