AVM Fritz Card ISDN USB unter Debian installieren (CAPI Treiber)



Teledat USB 2 a/b

Dieses Gerät wurde von der Telekom einige Zeit bei ISDN Anschlüssen mitgegeben, um analoge Telefone weiterhin betreiben zu können. Es hat 3 analoge Anschlüsse und einen USB Anschluss um es als ISDN Karte am Computer zu benutzen. Es eigent sich um einen asterisk Server mit ISDN betreiben zu können.
Allerdings ist es nicht ganz trivial die Treiber unter Debian zu installieren.
Falls man den orginal USB Stecker nicht mehr hat, muss man evtl. den Gummi um den geräteseitigen Anschluss des USB Kabel etwas abschneiden, damit das Kabel hineinpasst.

Zur Installation der Treiber benötigen wir zunächst folgende Pakete.

apt-get install alien kernel-package libncurses-dev shellutils linux-headers-2.6.18-5-686 capiutils
Falls Ihr einen anderen Kernel nutzt müsst Ihr die passenden Header Dateien dazu installieren.

Dann ladet euch die Treiber Datei und entpackt diese.
cd /usr/src/
wget ftp://ftp.avm.de/cardware/fritzx.usb/linux/suse.91/fxusb-suse9.1-3.11-04.tar.gz
tar xzf fxusb-suse9.1-3.11-04.tar.gz

Bevor wir die Treiber installieren können müssen wir noch ein bisschen daran herumpfuschen. Editiert die Datei /usr/src/fritz/src/tools.h um kommentiert die Zeilen 74 bis 79 aus. Das sollte dann so aussehen:
/*static inline unsigned long atomic_xchg (
volatile atomic_t * v,
unsigned value
) {
return __xchg (value, &v->counter, sizeof (unsigned));
} atomic_xchg */

Anschliessend ist die Datei /usr/src/fritz/src/main.c zu bearbeiten. Dort wird in Zeile 47 die Product ID von 2000 in 2800 geändert.
#define PRODUCT_ID 0x2800

Den gerade beschrieben Schritt könnt Ihr auslassen wenn Ihr eine "normale" AVM Fritz USB Karte verwendet.
Auf jeden Fall muss die Zeile 75 auskommentiert werden:
struct usb_driver usb_driver = {

/* .owner = THIS_MODULE,*/
.name = TARGET,
.id_table = usb_id_table,
.probe = usb_probe,
.disconnect = usb_disconnect,
} ;

So jetzt können wir die Treiber installieren.
cd /usr/src/fritz
./install

Jetzt wird noch die Datei /etc/isdn/capi.conf verändert. Dort löschen wir die Raute vor dem fxusb.
# card file proto io irq mem cardnr options
fxusb - - - - - -

Nachdem alles installiert und richtig eingestellt ist, laden wir jetzt die Treiber.
modprobe fxusb
capiinit start
capiinit status

Mit folgendem Befehlen können wir testen, ob das ganze erfolgreich war.
capiinit status
AUSGABE: 1 fxusb running fxusb-0003 A1 3.11-04 3
capiinfo
...

Einstellungen des asterisk Servers

Für diejenigen, die bereits einen asterisk Server am laufen haben noch eine kurze Anmerkung:
Editiert die Datei /etc/asterisk/modules.conf so dass folgendes drin steht:

load => res_features.so
; load => chan_capi.so


Und in der "Global Section" sollte folgendes stehen:
chan_capi.so=yes


Ausserdem muss das astersik capi Paket installiert sein:
apt-get install asterisk-chan-capi


Falls Ihr von Hand installiert habt, dann den entsprechenden code laden und installieren.