AVM Fritz!Cards unter Fedora Core 5

Aufgrund der vielen Reaktionen zu meinem HowTo für Fedora Core 4 hier eine Version für Core 5. Es hat sich doch einiges getan, insbesondere bei udev. Die aktuelle Version der isdn4k-utils kommt jetzt von Hause aus mit einer capi.conf und einem Initskript. Deshalb hier nur das Wichtigste, für Details bitte in den alten Artikel schauen.

Kernelmodul bauen:

Für dieses HowTo nutze ich eine AVM Fritz!Card PCI.

su -
yum install kernel-devel gcc wget
wget ftp://ftp.avm.de/cardware/fritzcrd.pci/linux/suse.93/fcpci-suse93-3.11-07.tar.gz
tar -xzf fcpci-suse93-3.11-07.tar.gz
cd fritz
OBJ=`find . -name '*lib.o'`
for i in $OBJ; do
mv $i $i.old
objcopy -L memcmp \
-L memcpy \
-L memmove \
-L memset \
-L strcat \
-L strcmp \
-L strcpy \
-L strlen \
-L strncmp \
-L strncpy \
$i.old $i
done

(mehr dazu auf der ISDN4Linux Mailingliste)

$EDITOR src/tools.h

Zeilen 73-81:

\*—————————————————————————*/
static inline unsigned long atomic_xchg (
volatile atomic_t * v,
unsigned value
) {
return __xchg (value, &v->counter, sizeof (unsigned));
} /* atomic_xchg */

/*—————————————————————————*\

löschen.

make clean
make install
depmod

udev konfigurieren:

$EDITOR /etc/udev/rules.d/49-capi.rules

KERNEL==”capi”, NAME=”capi20″, GROUP=”uucp”, MODE=”0660″, SYMLINK=”faxCAPI”
KERNEL==”capi*”, NAME=”capi/%n”, GROUP=”uucp”, MODE=”0660″

Der SYMLINK faxCAPI wird nur für CAPI4Hylafax benötigt.

udevstart

CAPI konfigurieren und ISDN deaktivieren:

Die verwendete Karte in /etc/capi.conf eintragen. Für die Fritzcard PCI reicht ein

echo fcpci - - - - - - >> /etc/capi.conf

Für andere Karten könnt ihr in der capi.conf aus dem Gentoo CVS nachschauen.

service isdn stop
chkconfig isdn off
service capi start
chkconfig capi on

Fertig!

Beteilige dich an der Unterhaltung

21 Kommentare

  1. Hi,
    also ich hab es genauso gemacht wie es oben beschrieben ist.Bis zu dem punkt: “make all” klappt das auch.Doch bei “make all” erhalte ich folgenden fehler.

    [root@localhost fritz]# make all
    make -C src
    make[1]: Entering directory `/home/Hawk/fritz/src’
    make -C /lib/modules/2.6.17-1.2157_FC5/build SUBDIRS=/home/Hawk/fritz/src module s
    /usr/src/kernels/2.6.17-1.2157_FC5-i686/scripts/gcc-version.sh: line 11: gcc: command not found
    /usr/src/kernels/2.6.17-1.2157_FC5-i686/scripts/gcc-version.sh: line 12: gcc: command not found
    make[2]: gcc: Kommando nicht gefunden
    make[2]: Entering directory `/usr/src/kernels/2.6.17-1.2157_FC5-i686′
    CC [M] /home/Hawk/fritz/src/main.o
    /bin/sh: gcc: command not found
    make[3]: *** [/home/Hawk/fritz/src/main.o] Fehler 127
    make[2]: *** [_module_/home/Hawk/fritz/src] Fehler 2
    make[2]: Leaving directory `/usr/src/kernels/2.6.17-1.2157_FC5-i686′
    make[1]: *** [fcpci.ko] Fehler 2
    make[1]: Leaving directory `/home/Hawk/fritz/src’
    make: *** [src/fcpci.ko] Fehler 2
    [root@localhost fritz]#

    was läuft da schief?

  2. Die Fehlermeldung ist doch eindeutig: “gcc: Kommando nicht gefunden”. Also den gcc installieren:
    yum install gcc
    Das hatte ich als Selbstverständlichkeit angesehen, jetzt steht es auch im HowTo.

  3. Ich sollte vielleicht dazu sagen das ich ein Linux nOOb bin 🙂 Also das ging danach schonmal soweit.Nun nächstes problem. nach “make all” sollte der befehl depmod ausgeführt werden richtig? Aber da sagt er “befehl nicht gefunden” versuch ich das auch nachzu installen sagt er “nothing to do”. genauso ergeht es mir mit udevstart service isdn stop
    chkconfig isdn off
    service capi start
    chkconfig capi on
    . Wie gesagt ich bin ein absoluter Anfänger mit Lunix hab zwar die anderen sachen,auch mit hilfe, zum laufen bekommen die ich so brauche,aber das mit dem ISDN ist für mich ein Buch mit 7 Siegeln :(Diverse Foren hab ich auch schon durchstöbert doch etwas leicht verständliches habe ich nicht wirklich gefunden.Ich würde mich freuen wenn ich hier etwas in der art bekommen könnte womit ich als nOOb arbeiten kann.Genauso benötige ich dann informationen wie ich das ganze “einfach” mit einkanal und mit kanalbüdelung starten kann. Das tool “Modem Lights” was Fedora bei hat hab ich auch schon installiert aber auch keinen schimmer wie ich dem ding sage wie es womit connecten soll.Ich währe sehr dankbar wenn mir jemand wenn er zeit hat entweder per mail oder halt hier was zusammenstellen könnte damit ich es endlich zum laufen kriege.
    Vielen Dank schonmal für die Hilfe

  4. Auch wenn es dort nicht steht: Alle Befehle müssen als root ausgeführt werden. Wenn Du mittels su root geworden bist, musst Du su - nehmen. Ohne das “Minus”-Zeichen wird die Umgebungsvariable $PATH nicht erweitert und die Befehle werden nicht gefunden.

    Wenn es Dir nur um ISDN geht, warum betreibst Du die Karte dann nicht mit Hisax? Mit den Hisax-Treibern läuft die Karte sofort und läßt sich komplett mit system-config-network konfigurieren. CAPI brauchst Du nur (Hyla)Fax etc.

    Was die Modemlights anbelangt: Rechtsklick -> “Eigenschaften”: Unter “Advanced” das Gerät einstellen. Bei CAPI wäre es wahrscheinlich ppp0, bei ISDN ippp0. Das ist dann auch unter “Allgemein” bei den Kommandos einzugeben: /sbin/ifup ppp0 bzw. /sbin/ifdown ppp0.

    Weitere Fragen bitte nicht hier, sondern per Mail (Kontaktformular) oder im Fedoraforum, dort hatte ich auch schon was zu den Modemlights geschrieben. Auch in diesem Fall bitte eine kurze Nachricht, und zwar mit der URL des Threads

  5. Hi Christoph,

    super HowTo! Hat alles 1a funktioniert. Nu’ fange ich mal an meinen Fax-Server zu basteln.

    Was ich nicht ganz verstehe ist, dass Fedora-Nutzer den SuSE-Support misbrauchen (können/dürfen) 😉 … und der auch freundlicherweise hilft… nunja, schön, dass man in der Linux-Gemeinde zueinander hält und hilft.

    Best wishes,
    Flo

  6. Das ganze funktioniert soweit gut, alle Schritte konnte ich nachvollziehen, ausser dass ich
    yum install kernel-smp-devel noch machen musste, da er sonst beim kompilieren gescheitert ist.
    Dann passiert allerdings folgendes :

    ~/fritz >capiinit start
    ERROR: failed to load driver fcpci
    ~/fritz >
    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: Oops: 0000 [#1]Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: SMP

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: CPU: 1

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: EIP is at memcpy+0x13/0x30 [fcpci]

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: eax: 00000014 ebx: d8c50d84 ecx: 00000005 edx: f9374b18

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: esi: 00000246 edi: f936dcf0 ebp: c054ffbf esp: d8c50d70

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: ds: 007b es: 007b ss: 0068

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: Process modprobe (pid: 5750, threadinfo=d8c50000 task=e8d0d490)

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: Stack: c89fd764 e7ccc68c f936d00d f936dcf0 00000246 00000014 f93915c0 f7ef8400

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: f936cf09 ca61a23c f93915c0 f7ef8400 f936d8d8 d8c50df0 f936c70b 0000df80

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: ca61a20c f93751f9 f93751f3 0000df80 000000c9 ca61a204 ca61a258 f7ef8400

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: Call Trace:

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: lock_init+0x45/0x62 [fcpci] os_msec+0x5/0xe [fcpci]

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: halloc+0x1e/0x5f [fcpci] table_init+0x2c/0x38 [fcpci]

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: add_card+0x42f/0x4af [fcpci] __driver_attach+0x0/0x8f

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: fritz_probe+0xb8/0x10b [fcpci] pci_device_probe+0x36/0x57

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: driver_probe_device+0x45/0x9a __driver_attach+0x65/0x8f

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: bus_for_each_dev+0x37/0x59 driver_attach+0x16/0x18

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: __driver_attach+0x0/0x8f bus_add_driver+0x6f/0x10d

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: __pci_register_driver+0x5b/0x7d fritz_init+0x101/0x118 [fcpci]

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: sys_init_module+0x169b/0x1840 __request_region+0x0/0x7f

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: vfs_read+0xa6/0x14e syscall_call+0x7/0xb

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: Code: c3 8d b4 26 00 00 00 00 c3 eb 0d 90 90 90 90 90 90 90 90 90 90 90 90 90 57 56 8b 44 24 14 8b 74 24 10 89 c1 8b 7c 24 0c c1 e9 02 a5 a8 02 74 02 66 a5 a8 01 74 01 a4 8b 44 24 0c 5e 5f c3 89

    Message from syslogd@intern at Mon Sep 18 21:14:52 2006 …
    intern kernel: EIP: [] memcpy+0x13/0x30 [fcpci] SS:ESP 0068:d8c50d70

    jemand eine Idee ?

    Gruß

    Jens

  7. Danke erst mal für die schnelle Antwort!
    Ich habs dann auch mit dem Nicht-SMP-Kernel (2.6.17-1.2187_FC5) probiert, da kriege ich ebenfalls ein Oops.

    ich bin dann unter
    http://dl.atrpms.net/all/fcpci-03.11.07-10.fc5.at.i386.rpm
    und
    http://dl.atrpms.net/all/fcpci-kmdl-2.6.17-1.2174_FC5smp-03.11.07-10.fc5.at.i686.rpm

    fündig geworden und damit läuft es, wenn auch nicht mit dem derzeit aktuellen 2.6.17-1.2187_FC5smp Kernel.

    Es sei denn, irgendjemand weiss, wie man den Treiber auf den neueren Kernel anpasst.

    Gruß

    Jens

  8. Also bei mir läuft das ganze auch mit Kernel 2.6.17-1.2187_FC5 problemlos. Kernelmodul ist selbstgebaut, aber es sollte eigentlich kein großer Unterschied zu dem von Axel Thimm sein, schließlich baut er sein Modul genauso wie ich hier. SMP kann ich hier leider nicht testen.

    Bist Du Dir sicher, daß Du den Schritt mit dem

    OBJ=`find . -name ‘*lib.o’`
    for i in $OBJ; do

    richtig gemacht hast?

  9. Hallo,
    ich versuche eine Fritz-USB 2.1 auf einer FC5 Maschine zum laufen zu kriegen. ich ging nach den Anweisungen von hier,abgeändert für den USB-Source, vor.

    Nach kleinen Schwierigkeiten komme ich inzwischen bis zum capi start und erhalte dort die Meldung:

    [root@sys1 ~]# service capi start
    [root@sys1 ~]# capiinit
    FATAL: Error inserting fcusb2
    (/lib/modules/2.6.15-1.2054_FC5smp/extra/fcusb2.ko): Unknown symbol in
    module, or unknown parameter (see dmesg)
    ERROR: failed to load driver fcusb2

    Der Fehler bezieht sich wohl auf folgenden Fehler der in der messages so dokumentiert wird:

    Nov 23 16:13:27 sys1 kernel: capifs: Rev 1.1.2.3
    Nov 23 16:13:27 sys1 kernel: capi20: Rev 1.1.2.7: started up with major 68
    (middleware+capifs)
    Nov 23 16:13:32 sys1 kernel: fcusb2: Unknown symbol print_tainted

    was kann ich tun ???

    Ich benötige die capi für hylafax.

    Vielen Dank
    Dieter

  10. Du verwendest den falschen Kernel! Der 2054 ist der “Original”-Kernel, also der auf den CDs drauf ist, richtig? Das Geschrei damals war groß, weil er keine Non-GPL-Module erlaubte. Mit dem ersten Update wurde das dann behoben.

    Zudem hat dieser Kernel mehrere Sicherheitslücken. Also erstmal auf einen aktuellen Kernel updaten (z. Zt. 2.6.18-1.2239), dann die Prozedur wiederholen. Nicht vergessen, “make clean” in fritz-Ordner durchzuführen.

  11. hallo habe deine anleitung gelesen und wollte mich bedanken ohne dich hätte ich gar nicht anfangen können aber nun ganz hinbekommen hab ich es leider nicht wenn ich die capi treiber starten will bekomme ich eine fehlermeldung speicherzugrifsfehler aber wenn ich die lsmod |grep capi aufrufe stehen da die capi treiber drin.achso benutze fc6 hast du eine idee woran das liegen könnte??

  12. Hallo Karsten,
    momentan habe ich auch keine Lösung für Core 6, ich bekomme ebenfalls einen Kernelbug.

    Nov 27 21:54:24 hal9000 kernel: fcpci: AVM FRITZ!Card PCI driver, revision 0.7.2
    Nov 27 21:54:24 hal9000 kernel: fcpci: (fcpci built on Nov 27 2006 at 21:45:42)
    Nov 27 21:54:24 hal9000 kernel: fcpci: — 32 bit CAPI driver —
    Nov 27 21:54:24 hal9000 kernel: ACPI: PCI Interrupt 0000:00:0f.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
    Nov 27 21:54:24 hal9000 kernel: fcpci: AVM FRITZ!Card PCI found: port 0xbc00, irq 11
    Nov 27 21:54:24 hal9000 kernel: fcpci: Loading…
    Nov 27 21:54:24 hal9000 kernel: fcpci: Driver ‘fcpci’ attached to fcpci-stack. (152)
    Nov 27 21:54:24 hal9000 kernel: BUG: unable to handle kernel NULL pointer dereference at virtual address 00000246
    Nov 27 21:54:24 hal9000 kernel: printing eip:
    Nov 27 21:54:24 hal9000 kernel: e281c353
    Nov 27 21:54:24 hal9000 kernel: *pde = 00000000
    Nov 27 21:54:24 hal9000 kernel: Oops: 0000 [#1]
    Nov 27 21:54:24 hal9000 kernel: SMP
    Nov 27 21:54:24 hal9000 kernel: last sysfs file: /class/net/sit0/statistics/collisions

    So auf die Schnelle kann ich da nichts zu sagen, muß mal auf der ISDN4Linux Mailingliste anfragen. Wenn ich Genaueres weiß, kommt auf jeden Fall ein Update.

  13. das wäre super aber ich weis das das auf die schnelle nicht geht finde es super das du das überhaupt machst.

    thx karten

  14. Z. B. mit uname -r und rpm -q kernel-devel. Gucken, daß für den laufenden Kernel auch ein Paket kernel-devel mit der gleichen Versionsnummer existiert.

    Aber ich sehe es schon von hier: Dein Kernel ist hoffnungslos veraltet, 2.6.15.irgendwas hat zudem mehrere Sicherheitslücken. Also erstmal ein
    yum update
    Kann lange dauern, da Du wahrscheinlich eine ganze Menge upzudaten hast. Wenn Du erstmal nur den Kernel aktualisieren willst, nimmst Du yum update kernel.
    Dann in den neuen Kernel booten. Jetzt das passende kernel-devel Paket installieren (falls Du es vorher noch nicht hattest und es ebenfalls mit aktualisiert wurde)
    yum install kernel-devel

  15. Geht es ein wenig genauer? 😉 Was haut nicht hin?

    Selbstverständlich muß man das als root machen. Wenn Du mittels su zum root geworden bist, achte darauf, “su -” zu nehmen, denn nur so werden Pfade erweitert und die Befehle gefunden. Sonst musst Du den vollen Pfad, also /sbin/service bzw. /sbin/chkconfig eingeben.

  16. FC6: in den Mails aus dem November 2006 steht, dass es Probleme mit fcpci gibt.
    Ich habe jetzt ein Testsystem auf FC6 hochgezogen, dort scheint er zu laufen (hylafax und vbox
    funktionieren). fcpci habe ich einfach von atrpms.net gezogen.
    Konfiguration:
    kernel-2.6.19-1.2895.fc6
    fcpci-03.11.07-11.fc6.at
    fcpci-kmdl-2.6.19-1.2895.fc6-03.11.07-11.fc6.at
    FritzCard PCI
    Bevor ich mit FC6 weitermache, interessiert mich, ob fcpci dort bei Euch stabil läuft.

  17. Hallo, ich habe jetzt wieder das gleiche Problem mit dem make install:

    [root@localhost fritz]# make install
    make -C src
    make[1]: Entering directory `/root/fritz/src’
    make -C /lib/modules/2.6.19-1.2895.fc6/build SUBDIRS=/root/fritz/src modules
    make[2]: Entering directory `/lib/modules/2.6.19-1.2895.fc6/build’
    make[2]: *** No rule to make target `modules’. Stop.
    make[2]: Leaving directory `/lib/modules/2.6.19-1.2895.fc6/build’
    make[1]: *** [fcpci.ko] Error 2
    make[1]: Leaving directory `/root/fritz/src’
    make: *** [src/fcpci.ko] Error 2

    aber ich habe FC6 mit dem upgedateten kernel und kernel-devel!

    [root@localhost fritz]# uname -r
    2.6.19-1.2895.fc6
    [root@localhost fritz]# rpm -q kernel-devel
    kernel-devel-2.6.19-1.2895.fc6
    [root@localhost fritz]# ./install

    was tun?

  18. Kann ich Dir so auf Anhieb auch nicht sagen, ich müßte mir das Problem erst genauer anschauen. So lange würde ich Dich bitten, doch einfach die RPMs von Axel zu nehmen, von denen Jochen ein Kommentar über Deinem berichtet.

    @Jochen:
    Vielen Dank für die Nachricht. Leider hatte ich bisher keine Zeit, es ausgiebiger zu testen, aber Dein Kommentar stimmt mich natürlich positiv, es zu tun. So lange würde ich an Deiner Stelle bei FC5 bleiben, nur zur Sicherheit.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert