ubuntuusers.de

Fritz Card DSL Treiber kompilieren

Status: Gelöst | Ubuntu-Version: Ubuntu 8.10 (Intrepid Ibex)
Antworten |

Rattel

Anmeldungsdatum:
3. Januar 2009

Beiträge: 25

Hi,

hab nun 8.10 am laufen. Möchte nun mit meiner alten Fritz Card DSL nur faxen. Ins Internet geh ich über die OnBoard Netzwerkkarte. Hab mir nun folgendes über Synaptic installiert:

build-essential isdnutils isdnutils-base capiutils isdnactivecards libcapi20-3 libcapi20-dev linux-headers-$(uname -r)

In der Datei “/etc/modrpobe.d/blacklist” folgendes hinzugefügt: blacklist hisax blacklist hisax_isac blacklist hisax_fcpcipnp

“fcdsl” auskommentiert in der /etc/isdn/capi.conf

In der Datei /etc/modules folgendes eingetragen: capidrv capi fcdsl

Wenn ich jetzt den Treiber nach usr/src/fritz entpacke und make clean && make all mache bekomme ich folgendes (>m fehlt am Anfang falsch kopiert 😳 ):

make Ergebnis

Nun steh ich am Schlauch. Wie krieg ich den fcdsl für meinen Computer?

Linux mäßig bin ich Anfänger, die Sachen oben hab ich mir ausm Internet gesucht.

Die Karte wird in jockey-gtk erkannt aber nicht genutzt.

kmod:fcdsl - CAPI4Linux: Driver for AVM FRITZ!Card DSL (Proprietär, Aktiviert, Nicht benutzt) xorg:fglrx - ATI/AMD proprietary FGLRX graphics driver (Proprietär, Aktiviert, In Benutzung)

Capiinit bringt mir folgendes:

FATAL: Error inserting fcdsl (/lib/modules/2.6.27-9-generic/kernel/extras/fcdsl.ko): Invalid module format ERROR: failed to load driver fcdsl

Wahrscheinlich weil ich den fcdsl aus dem Susepaket genommen hab und ihn nach /lib/modules/2.6.27-9-generic/kernel/extras kopiert hab.

Hab mir schon den Grafikartentreiber rausgeworfen und in Grub die zusätzliche Möglichkeit Ubuntu-Server zu starten geschaffen, das wird aber noch ein anderer Thread.

Wie krieg ich jetzt die Karte zum Laufen?

Thx im Voraus.

Rattel

Rain_Maker

Anmeldungsdatum:
29. Juni 2006

Beiträge: 999

Rattel schrieb:

Wahrscheinlich weil ich den fcdsl aus dem Susepaket genommen hab und ihn nach /lib/modules/2.6.27-9-generic/kernel/extras kopiert hab.

Nicht nur wahrscheinlich sondern sogar 100%ig.

Kernelmodule kann man nicht einfach so in eine andere Distribution/Kernelversion kopieren, die muss man schon gegen die Kernelheader des laufenden Kernels bauen.

Wenn du schon eines der openSUSE-RPMs als "Vorlage" verwenden willst, dann nimm das entsprechende src.rpm, welches auch die Patches fuer Kernel 2.6.27 enthaelt (src.rpm fuer openSUSE 11.1), sofern es denn fuer Deine Ubuntuversion wirklich nichts Fertiges geben sollte.

Rattel

(Themenstarter)

Anmeldungsdatum:
3. Januar 2009

Beiträge: 25

Hi,

thx erstmal.

Ich bekomme beim Selberbauen diese Ausgabe:

make Ergebnis

von AVM lade ich mir den Treiber für Suse 9.3 runter andere Distributionen unterstützen sie nicht, aktueller auch nicht. Aus dem starte ich das Makefile. Steht auch so in der Anleitung von AVM.

Gruß

Rattel

Rain_Maker

Anmeldungsdatum:
29. Juni 2006

Beiträge: 999

Rattel schrieb:

Hi,

Ich bekomme beim Selberbauen diese Ausgabe:

make Ergebnis

Ja, das hatten wir bereits.

Ich sage es noch mal, hol Dir die Patches aus dem src.rpm fuer openSUSE 11.1, der Treiber ist so uralt, dass das ohne Patches nichts wird.

http://opensuse.foehr-it.de/

Wie man Patches anwendet, verraet Dir

man patch

patch --help

oder die Suchmaschine Deines geringsten Misstrauens.

Welche "Strip"-Option benoetigt wird, steht in der ".spec"-Datei (-p <Zahl> im Abschnitt "%setup")

Rattel

(Themenstarter)

Anmeldungsdatum:
3. Januar 2009

Beiträge: 25

Hi,

also auf der Homepage bekomme ich nur die src.rpm der 11.0 nach den Patchen und make kommt:

make Ergebnis II

Zumindest hat sich die Fehlermeldung verändert.

Was kann ich denn nun noch machen um den Großmeister make zu befriedigen?

Gruß

Rattel

Rattel

(Themenstarter)

Anmeldungsdatum:
3. Januar 2009

Beiträge: 25

Hi,

so habs gelöst/gefunden. Ein Teil der driver.c in der src muß so aussehen:

/*–––––––––––––––––––––––––––––––––––––-*\ \*–––––––––––––––––––––––––––––––––––––-*/ static void kill_thread (void) {

atomic_set (&thread_flag, 0); /* if (NULL == find_task_by_pid (thread_pid)) { LOG("Thread[%d] has died before!\n", thread_pid); } else {*/ if (!atomic_read (&thread_capi_flag)) { SCHED_WAKEUP_CAPI; } else { SCHED_WAKEUP; } LOG("Thread signalled, waiting for termination...\n"); wait_for_completion(&thread_sync); /* Wait for complete Thread Sync <arnd.feldmueller@web.de> */ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) down (&hotplug); #endif LOG("Thread[%d] terminated.\n", thread_pid); // } thread_pid = -1; } /* kill_thread */

Damit man keine Fehlermeldung wegen "find_task_by_pid" bekommt.

Die Version der fcdsl hab ich hier gefunden: http://packages.ubuntu.com/hardy-updates/avm-fritz-kernel-source in dieser Datei: http://archive.ubuntu.com/ubuntu/pool/restricted/l/linux-restricted-modules-2.6.24/linux-restricted-modules-2.6.24_2.6.24.14.orig.tar.gz runterladen öffnen und dann die fcdsl entpacken.

Gruß

Rattel

Antworten |