[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fritz!-Card-Treiber compilieren (fehlendes build-Verzeichnis)



Hallo zusammen!


So, da der Rechner schon stabil laufen soll und ich (leider) nicht der einzige bin der das Ding administrieren soll, hab ich jetzt auf die 'richtigen' Installationsmedien zurück gegriffen und die offizielle Distri aufgesetzt.

Konfig ist nun Sarge, mit Kernel 2.6.8-3-686 (via dist-upgrade)

uname -r sagt '2.6.8-3-686'

Gut, ich habe mir also die Kernel-Headers & die Kernel-Quellen per apt auf den Rechner geladen. Sowohl die Quellen als die Headers liegen entpackt unter /usr/src/

Habe manuell einen Softlink /usr/src/linux angelegt der auf die kernel-headers zeigt.

Leider klappt das Compilieren des Fritz-Treiber immer noch nicht, da das Makefile der Treiber unbedingt ein build-Verzeichnis haben will. Am ganzen Rechner hab ich _kein_ build-Directroy. Schon gar nicht unter /lib/modules/2.6.8-3-686/

Gut, dann im Makefile der Fritztreiber den Pfad zum statt

     KDIR    := /lib/modules/$(shell uname -r)/build

auf

     KDIR    :=/usr/src/kernel-headers-2.6.8-3/


geändert. Compiliation klappt, Modul wird unter /lib/modules/2.6.8-3-686/extra abgelegt.

Nur leider modprobe fcpci bringt nur

FATAL: Error inserting fcpci (/lib/modules/2.6.8-3-686/extra/fcpci.ko): Invalid module format

dmesg bringt folgende weitere Hinweise:

fcpci: no version for "struct_module" found: kernel tainted.
fcpci: version magic '2.6.8-3 SMP preempt PENTIUM4 gcc-3.3' should be '2.6.8-3-686 preempt 686 gcc-3.3' fcpci: version magic '2.6.8-3 SMP preempt PENTIUM4 gcc-3.3' should be '2.6.8-3-686 preempt 686 gcc-3.3'

Hab ich die falsche Compilier-Version?


Leute, dass kann doch nicht so schwer sein, dass ich diese blö*n Fritz!-Treiber unter Standard-Bedingungen zum Laufen bringe, oder?

Danke für eure Hilfe!


martin



Rico schrieb:
Hallo

Ich hab das AVM Modul auch kompiliert. allerdings für 2.6.15-1-486.
Iss allerdings schon ein weilchen her.
Der AVM script iss glaube so aufgebaut das er nur für den momentan
laufenden Kern kompiliert. Für den brauch man die headers. da klappt das
dann auch mit dem ../build/ - da der ja immer auf die aktuell gültigen
headers zeigt.
Man muß glaube noch irgendwo hinschreiben, für welche karte man kompiliert.

ich hoffe das hilft - irgendwie.


PS: Ich wollte das AVM modul auch mal für nen aktuelleren Kern kompilieren.
Da gibts ein Problem - AVM schrieb da folgendes dazu: (Zitat)

~ schnipp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Vielen Dank für Ihre Anfrage.

Bitte beachten Sie, dass aufgrund der Komplexität und der grossen Vielfalt
möglicher Umgebungen es uns leider nicht möglich ist, für Installation,
Benutzung und Konfiguration technische Unterstützung für Treiber für AVM
ISDN oder DSL Controller zu leisten, die nicht auf SuSE Linux Systemen mit
dem jeweiligen Standard-Kernel eingesetzt werden (ebenfalls nicht für die
OSS Version).

Bei Kernel 2.6.16 gab es eine Änderung, die ursächlich für die Probleme
beim Kompilieren der Treiber für den von Ihnen verwendeten Controller ist.
Mit folgendem Patch sollte das Kompilieren des Treibers allerdings möglich
sein:


diff -ur fritz/src/tools.h fritz.new/src/tools.h
--- fritz/src/tools.h   2005-07-07 00:00:00.000000000 +0200
+++ fritz.new/src/tools.h     2006-01-26 17:29:53.000000000 +0100
@@ -71,13 +71,14 @@


/*---------------------------------------------------------------------------*\

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

/*---------------------------------------------------------------------------*\

\*---------------------------------------------------------------------------*/
 #ifndef NDEBUG


Es handelt sich um die Funktion atomic_xchg, die in tools.h kodiert, nun
aber auch im
Kernel 2.6.16 präsent ist.



Mit freundlichen Grüßen aus Berlin


~ schnapp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





Martin Müller - Rudolf Hausstein OHG schrieb:
Hallo!

Will gerade versuchen die AVM-Treiber zu compilieren, fahre hier Sarge
mit dem Standardkernel 2.6.12.

Nun ists so, dass das ./install-Script der Treiber unter
/lib/modules/2.6.12-1-686 das Verzeichnis 'build' sucht und nicht
findet. Gut, dachte ich mir, leg ichs halt an.

Ganz so einfach wars aber dann doch nicht, jetzt fehlt plötzlich die
Regel zum Compilieren:

make -C /lib/modules/2.6.12-1-686/build SUBDIRS=/usr/src/fritz/src modules
make[1]: Entering directory `/lib/modules/2.6.12-1-686/build'
make[1]: *** Keine Regel, um ?modules? zu erstellen.  Schluss.
make[1]: Leaving directory `/lib/modules/2.6.12-1-686/build'
make: *** [fcpci.ko] Fehler 2


Wie kann ich trotzdem zu meinen Treibern kommen?


Vielen Dank für Eure Hilfe!


Martin







Reply to: