Fritz!Card DSL SL unter LINUX
Inhaltsverzeichnis
Seit August 2003 stellt AVM Treiber für die SuSE Linux-Distribution in einem bequemen rpm-Packet zur Verfügung.
Die Installation auf anderen Linux-Systemen ist allerdings machbar. - die Anleitung bezieht sich auf RedHat. http://martin.wojtczyk.de/howto/fritzcard_dsl_sl/fcdslsl.html
Januar 2005: Mit Gentoo: "emerge fcdsl" fur FritzKarte DSL, DSL SL, DSL2, DSL USB, DSL SL USB.
weiter Infos auf LinuxHardware/ModemsIsdnDsl
Voraussetzungen
Benötigte Packete
- CAPI Tools und Bibliotheken:
ftp://ftp.in-berlin.de/pub/capi4linux/ (capi4k-utils-YYYY-MM-DD.tar.gz)
- AVM FRITZ!Card DSL SL CAPI Treiber:
System
- Benötigt werden ein Kernel der Version 2.2.16 oder höher (???)
- Einwahl-Software pppd.
die ncurses-bin, ncurses-base, libncurses(x)-dev müssen vorhanden sein.
Ein Teil der Capi-Software bringt das Linux-Kernel mit, er muss jedoch mit den entsprechenden Modulen kompiliert werden:
make menuconfig
Unter Code maturity level options aktiven:
Prompt for development and/or incomplete code/drivers
unter ISDN subsystem -> Active cards folgende Einstellungen setzen:
[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
Im Konfigurations-file des Kernel sieht das dann so aus:
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
mit dem üblichen Befehlssatz make clean | make den Kernel-Code neu bauen. siehe KernelKompilieren, lolo anpassen, das System neu starten.
Installation
Installation der Capi-Treiber
Wenn der neue Kernel gestartet ist, können die CAPI-UTILS übersetzt werden:
gzip -d capi4k-utils-YYYY-MM-DD.tar.gz tar -xvvf capi4k-utils-YYYY-MM-DD.tar cd capi4k-utils make config * Hier muss '''kernel source directory''' angepasst werden * und '''pppdcapiplugin''' aktiviert werden make make install
Installation des AVM-Fritz!Cart-DSL-Treiber
gzip -d fcdslsl-suse8.2-xx.xx.xx.tar.gz tar -xvvf fcdslsl-suse8.2-xx.xx.xx.tar cd fritz
Änderungen:
in /fritz/src.drv/makefile
eventuell den Pfad für die Kernel-header (zeile 9) KRNLINCL=... anpassen
bei DEFINES= (Zeile 12) den Parameter -DMODVERSIONS hinzuzufügen
bei CCFLAGS (zeile 14) -include $(KRNLINCL)/linux/modversions.h hinzufügen
Änderungen der scripts
das SuSE-spezifische start/stop-Skript load-fcdslsl
- die rc*-Aufrufe auskommentieren
Datei install
Vorher: Zeile 103: opt_check_kernel=1 Zeile 104: opt_check_pppd=1 Zeile 301: drdsl Nachher: Zeile 103: opt_check_kernel=0 Zeile 104: opt_check_pppd=0 Zeile 301: ./drdsl
Patch einspielen
Die Treiber haben die unangenehme Eigenschaft sich nach mehreren (4-5) Zwangstrennungen durch den Provider nicht mehr mittels rmmod entladen zu lassen. Dies hat zur Folge, dass ein kompletter reboot des Systems erforderlich ist, um wieder Online gehen zu können. Beobachtet wurde dies von mir auf einem SuSE 9.0, auf einem debian woody und einem debian sarge System. Abhilfe schaffte das einspielen des Patches http://freiburg.linux.de/~zeisberg/howtos/fcdsl-sl.diff (siehe auch http://freiburg.linux.de/~zeisberg/howtos/fritzcarddsl.html) mittels
cd src.drv patch -p0 < greeny.diff
dann weiter mit:
make make install
Sollte das Kompilieren mit Fehlermeldungen wie
- defs.h:85: error: redefinition of `irqreturn_t' /lib/modules/2.4.25-gentoo/build/include/linux/interrupt.h:16: error: `irqreturn_t' previously declared here
abbrechen, so kann es helfen die Datei fritz/src.drv/defs.h zu editieren. In Zeile 84/85 findet sich der Eintrag
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
welchen man durch
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 23)
ersetzen sollte, damit neuere 2.4.x-Kernelversionen mitspielen. Alternativ hilft auch das downgraden auf eine ältere Kernel-Version. Mit dem 2.4.18 und 2.4.20 lief das Kompilieren bei mir unter debian woody problemlos durch.
Jetzt sollte in /lib/modules/'uname -r'/misc/ die Datei fcdslsl.o vorhanden sein.
depmod -a
wenn keine Fehlermeldung, dürfte soweit alles klar sein.
Konfigurieren und Starten
capiinit benötigt zum Starten das noch im Verzeichnis .../fritz der AVM-Treiber befindliche Firmware-File fdssbase.bin. Dieses kopiert man an einen geeigneteren Ort z.B. nach /usr/lib und trägt den pfad in capi.conf ein:
cp fritz/fdssbase.bin /usr/lib echo fcdslsl fdssbase.bin > /etc/capi.conf
Das Tool drdsl legt notwendige Konfigurationsdaten in /etc/drdsl ab:
mkdir /etc/drdsl fritz/drdsl depmod -a
Die Treiber können geladen werden:
capiinit start
lsmod solle folgende modules anzeigen:
fcdslsl capi capifs kernelcapi capiutil
Das install-Skript kopiert u.a. die Firmware der Karte in das Verzeichnis /usr/lib/isdn. Man sollte sicherstellen, dass das Verzeichnis auch tatsächlich existiert oder andernfalls an dieser Stelle selbst erzeugen und anschließend das install-Skript im fritz-Verzeichnis starten:
./install
und fügt start/stop-links in /etc/rc.d/rcX.d hinzu z.B:
ln -s /etc/rc.d/init.d/load-fcdslsl /etc/rc.d/rc3.d/S60load-fcdslsl ln -s /etc/rc.d/init.d/load-fcdslsl /etc/rc.d/rc4.d/S60load-fcdslsl ln -s /etc/rc.d/init.d/load-fcdslsl /etc/rc.d/rc5.d/S60load-fcdslsl ln -s /etc/rc.d/init.d/load-fcdslsl /etc/rc.d/rc3.d/K20load-fcdslsl ln -s /etc/rc.d/init.d/load-fcdslsl /etc/rc.d/rc4.d/K20load-fcdslsl ln -s /etc/rc.d/init.d/load-fcdslsl /etc/rc.d/rc5.d/K20load-fcdslsl
Somit werden die Treiber für die Karte bei jedem Systemstart geladen und beim herunterfahren automatisch entfernt.
Internetverbindung mittels pppd aufbauen
Damit die Namensauflösung funktioniert musste ich die Datei resolve.conf vom /etc/ppp-Verzeichnis ins /etc-Verzeichnis linken (eigentlich sollte der Eintrag usepeerdns in der unten beschriebenen Einwahldatei reichen, es ging bei mir aber immer noch nicht):
ln -s /etc/ppp/resolve.conf /etc/resolve.conf
Außerdem benötigt man nun noch eine Einwahldatei, die man unter /etc/ppp/peers ablegt. Man kann auch mehrere Dateien für verschiedene Provider im Verzeichnis anlegen.
z.B.
/etc/ppp/peers/gmx # debug sync noauth defaultroute lcp-echo-interval 5 lcp-echo-failure 3 lcp-max-configure 50 lcp-max-terminate 2 noccp noipx persist user GMX/YourAccount@online.de hide-password plugin capiplugin.so avmadsl ipcp-accept-remote ipcp-accept-local usepeerdns noipdefault # Kompression abschalten noaccomp nopcomp novj novjccomp nobsdcomp nodeflate noccp # kein handshake nocrtscts local noauth lock : #
Das Feld user sollte natürlich abgeändert werden. Zuletzt trägt man noch in /etc/ppp/pap-secrets und /etc/ppp/chap-secrets die Login/Passwort-Kobinationen für die Accounts in der folgenden Form ein.
login * password
Ein Beispiel für T-DSL befindet sich in capi4k-utils/pppdcapiplugin/peers. Einfach kopieren
cp capi4k-utils/pppdcapiplugin/peers/t-dsl /etc/ppp/peers
Internetverbindung herstellen
Nun kann man jederzeit mittels
/usr/sbin/pppd call gmx
Idealerweise trägt man diesen Aufruf auch in ein Startskript ein. Zu diesem Zweck ist die Datei /etc/rc.local gut geeignet, nur muss man dann dem Aufruf auch noch ein tty übergeben, damit der pppd problemlos im Hintergrund läuft s. man pppd. Sollen auch normale User die Verbindung herstellen können, muss evtl. das suid-Bit beim pppd gesetzt werden.
Sollte die Verbindung nicht zustande kommen hilft ein Blick in die /var/log/messages oder der Aufruf von drdsl im fritz-Verzeichnis.
Die Verbindung lässt sich sehr gut mit dem Tool kadslwatch überwachen, das avm unter ftp://ftp.avm.de/tools/k_adsl_watch.linux/ anbietet. Die Installation ist sehr einfach und in dem Paket dokumentiert.
dieses How-To diente als Grundlage: http://martin.wojtczyk.de/howto/fritzcard_dsl_sl/fcdslsl.html
Fedora und Fritz@Card
siehe hier http://hvdkooij.xs4all.nl/linux-FC1-fcdsl.nl.cms
Das hier stand auf der Seite FritzCard, vielleicht hat ja jemand Lust & Muße, das hier einzuarbeiten ...
Mit der 9.1 werden Fritz DSL SL und USB SL Karten nicht erkannt
Bezieht sich auf: SUSE LINUX 9.1 - 9.1
Symptom
- Mit der 9.1 werden die Fritz DSL SL und Fritz DSL USB SL Geräte nicht erkannt.
Beachten Sie bitte, dass dieser Artikel die 32 Bit Version behandelt. Für die 64 Bit
- Version gibt es noch keine passende Treiber und können daher nicht unter der 64 Bit Version betrieben werden.
Ursache
- Zur Fertigstellung der 9.1 ist die Implementierung in die Hardware-Erkennung nicht fertig geworden.
Lösung
- Hinweis: Da die DSL Geräte von AVM auf den Capi-Treiber aufsetzen werden diese Geräte mit der ISDN Konfiguration von YaST eingerichtet. Wählen Sie die Geräte manuell aus der Hardwareliste aus. Dazu starten Sie
YaST - Netzwerkgeräte - ISDN, makieren dort Andere (nicht erkannte) und klicken auf Konfigurieren, woraufhin sie eine Auswahlliste bekommen. Wählen sie Ihr Gerät aus der Liste aus und folgen dann den Anweisungen.
siehe auch FritzBox