ISDN FritzPCI und der 2.6.20 Kernel ***gelöst***

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
hronny
Beiträge: 265
Registriert: 29.08.2004 13:07:42
Wohnort: Sonneberg

ISDN FritzPCI und der 2.6.20 Kernel ***gelöst***

Beitrag von hronny » 20.02.2007 14:43:21

Mahlzeit!

Langsam ist es ärgerlich das meine guten Fritzkarten bald nicht mehr installierbar sind. Mit dem neuen Kernel schaffe ich es nicht alle Fehlermeldungen beim Übersetzen wegzubekommen. Alle Meldungen nach dem Entpacken:

Code: Alles auswählen

make -C src
make[1]: Entering directory `/usr/src/fritz/src'
make -C /lib/modules/2.6.20/build SUBDIRS=/usr/src/fritz/src modules
make[2]: Entering directory `/usr/src/linux-2.6.20'
  CC [M]  /usr/src/fritz/src/main.o
/usr/src/fritz/src/main.c:25:26: error: linux/config.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/src/fritz/src/queue.h:27,
                 from /usr/src/fritz/src/tables.h:31,
                 from /usr/src/fritz/src/driver.h:31,
                 from /usr/src/fritz/src/main.c:45:
/usr/src/fritz/src/tools.h:74: error: expected identifier or '(' before 'typeof'
/usr/src/fritz/src/tools.h:74: error: expected ')' before '__xchg'
In file included from /usr/src/fritz/src/main.c:45:
/usr/src/fritz/src/driver.h:101: error: conflicting types for 'driver_init'
include/linux/device.h:436: error: previous declaration of 'driver_init' was here
make[3]: *** [/usr/src/fritz/src/main.o] Fehler 1
make[2]: *** [_module_/usr/src/fritz/src] Fehler 2
make[2]: Leaving directory `/usr/src/linux-2.6.20'
make[1]: *** [fcpci.ko] Fehler 2
make[1]: Leaving directory `/usr/src/fritz/src'
make: *** [src/fcpci.ko] Fehler 2
Einen Fehler bekommt man weg, in dem man das macht:

Code: Alles auswählen

Datei: /usr/src/fritz/src/main.c
-- Zeile 25 löschen -> Text: #include <linux/config.h>
dann noch

Code: Alles auswählen

Datei: /usr/src/fritz/src/driver.h
-- Zeile 25 löschen -> Text: #include <linux/config.h>
so jetzt kommt ne tolle fehlermeldung:

Code: Alles auswählen

/usr/src/fritz/src/tools.h:74: error: expected identifier or '(' before 'typeof'
/usr/src/fritz/src/tools.h:74: error: expected ')' before '__xchg'
dafür den Code suchen und löschen:

Code: Alles auswählen

static inline unsigned long atomic_xchg (
        volatile atomic_t *     v,
        unsigned                value
) {
        return __xchg (value, &v->counter, sizeof (unsigned));
} /* atomic_xchg */
so nun kommt ein Fehler wo ich am Ende mit dem Latein bin:

Code: Alles auswählen

make -C src
make[1]: Entering directory `/usr/src/fritz/src'
make -C /lib/modules/2.6.20/build SUBDIRS=/usr/src/fritz/src modules
make[2]: Entering directory `/usr/src/linux-2.6.20'
  CC [M]  /usr/src/fritz/src/main.o
In file included from /usr/src/fritz/src/main.c:44:
/usr/src/fritz/src/driver.h:100: error: conflicting types for 'driver_init'
include/linux/device.h:436: error: previous declaration of 'driver_init' was here
make[3]: *** [/usr/src/fritz/src/main.o] Fehler 1
Wenn ich in den Kernelquellen nachschaue, steht in include/linux/device.h als Typ void drin. In den Fritzquellen aber >int<. Ändert man also

Code: Alles auswählen

Datei: /usr/src/fritz/src/driver.h
extern int driver_init (void);
in
extern void driver_init (void);
kommt wieder was neues raus

Code: Alles auswählen

/usr/src/fritz/src/main.c: In function 'fritz_probe':
/usr/src/fritz/src/main.c:272: error: wrong type argument to unary exclamation mark
make[3]: *** [/usr/src/fritz/src/main.o] Fehler 1
*wein*

Hat da schon jemand eine Lösung?
Zuletzt geändert von hronny am 20.02.2007 16:08:19, insgesamt 1-mal geändert.

hronny
Beiträge: 265
Registriert: 29.08.2004 13:07:42
Wohnort: Sonneberg

Beitrag von hronny » 20.02.2007 16:05:55

Wer es wissen will, wie es geht bzw bei mir ging dem schreib ich hier. Ich habe dazu eine Patchdatei mit diff erstellt.

Code: Alles auswählen

diff -ur fritz/src/driver.c fritz.new/src/driver.c
--- fritz/src/driver.c  2005-07-07 00:00:00.000000000 +0200
+++ fritz.new/src/driver.c      2007-02-20 16:39:18.079793930 +0100
@@ -901,10 +901,10 @@

 /*---------------------------------------------------------------------------*\
 \*---------------------------------------------------------------------------*/
-int driver_init (void) {
+int driver_initnew (void) {

        return (NULL != (capi_lib = link_library (NULL)));
-} /* driver_init */
+} /* driver_initnew */

 /*---------------------------------------------------------------------------*\
 \*---------------------------------------------------------------------------*/
diff -ur fritz/src/driver.h fritz.new/src/driver.h
--- fritz/src/driver.h  2005-07-07 00:00:00.000000000 +0200
+++ fritz.new/src/driver.h      2007-02-20 16:02:59.476995331 +0100
@@ -23,7 +23,6 @@
 #ifndef __have_driver_h__
 #define __have_driver_h__

-#include <linux/config.h>
 #include <linux/skbuff.h>
 #include <linux/capi.h>
 #include <linux/list.h>
@@ -98,7 +97,7 @@

 /*---------------------------------------------------------------------------*\
 \*---------------------------------------------------------------------------*/
-extern int driver_init (void);
+extern int driver_initnew (void);
 extern void driver_exit (void);

 /*---------------------------------------------------------------------------*\
diff -ur fritz/src/main.c fritz.new/src/main.c
--- fritz/src/main.c    2005-07-07 00:00:00.000000000 +0200
+++ fritz.new/src/main.c        2007-02-20 16:40:54.809306231 +0100
@@ -22,7 +22,6 @@

 #include <stdarg.h>
 #include <asm/uaccess.h>
-#include <linux/config.h>
 #include <linux/version.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
@@ -205,7 +204,7 @@
        NOTE(PRODUCT_LOGO " found: port 0x%04x, irq %u\n", pars.port, pars.irq);

        NOTE("Loading...\n");
-       if (!driver_init ()) {
+       if (!driver_initnew ()) {
                ERROR("Error: Driver library not available.\n");
                ERROR("Not loaded.\n");
                return res;
@@ -270,7 +269,7 @@
        NOTE (PRODUCT_LOGO " found: port 0x%04x, irq %u\n", pars.port, pars.irq);

        NOTE("Loading...\n");
-       if (!driver_init ()) {
+       if (!driver_initnew ()) {
                ERROR("Error: Driver library not available.\n");
                ERROR("Not loaded.\n");
                return -EBUSY;
@@ -378,7 +377,7 @@
        }
        return err;
 #elif defined (__fcpcmcia__) || defined (__fcclassic__)
-       if (!driver_init ()) {
+       if (!driver_initnew ()) {
                ERROR("Error: Driver library not available.\n");
                ERROR("Not loaded.\n");
                return -EBUSY;
Nur in fritz.new/src: Module.symvers.
Nur in fritz.new/src: .tmp_versions.
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       2007-02-20 16:58:57.800437659 +0100
@@ -71,12 +71,12 @@

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

 /*---------------------------------------------------------------------------*\
 \*---------------------------------------------------------------------------*/
diese dann unter /usr/src abgelegt und dann in die originaldaten gepatched

Code: Alles auswählen

patch -p1 < ../fritzpatch_2.6.20.diff
...
Zwar gibt es noch 2 Warnungen

Code: Alles auswählen

/usr/src/fritz/src/main.c: In function 'fritz_probe':
/usr/src/fritz/src/main.c:272: warning: implicit declaration of function 'driver_initnew'
  CC [M]  /usr/src/fritz/src/driver.o
/usr/src/fritz/src/driver.c: In function 'install_card':
/usr/src/fritz/src/driver.c:383: warning: passing argument 2 of 'request_irq' from incompatible pointer type
...
aber meine CAPI geht wieder 1a *freu*

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 29.03.2007 16:52:27

Danke erstmal für deine Arbeit.

Gerade sitze ich am selben Problem mit Kernel 2.6.20.4

Ich bekomme die Fritz-Sourcen einfach nicht hin.

Ich habe deinen diff hergenommen ihn unter /usr/src abgespeichert, wechsel in das Verzeichnis /usr/src/fritz und führe

patch -p1 < ../fritzpatch_2.6.20.diff

aus. Darauf hin bekomme ich die Meldungen:

Code: Alles auswählen

(/usr/src/fritz) # patch -p1 < ../fritzpatch_2.6.20.diff
patching file src/driver.c
Hunk #1 FAILED at 901.
1 out of 1 hunk FAILED -- saving rejects to file src/driver.c.rej
patching file src/driver.h
Hunk #2 succeeded at 95 (offset -2 lines).
patching file src/main.c
Hunk #2 FAILED at 204.
Hunk #3 FAILED at 269.
Hunk #4 FAILED at 377.
3 out of 4 hunks FAILED -- saving rejects to file src/main.c.rej
patching file src/tools.h
Hunk #1 FAILED at 71.
1 out of 1 hunk FAILED -- saving rejects to file src/tools.h.rej
Verwendet habe ich fcpci-suse9.1-3.11-02.tar.gz. Scheint aber die selbe Source zu sein, die du verwendest.

Vielleicht kann man das ja mal lösen.

MfG
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

Elendil
Beiträge: 50
Registriert: 29.01.2007 19:21:53

Beitrag von Elendil » 29.03.2007 20:17:05

Servus,
ich hab den gleichen Kernel (2.6.20.4) und hab den Patch auch probiert und es kamen die gleichen Fehlermeldungen. Aus Zeit- und patch-Kenntnis-Mangel hab ich mir das nicht näher angeschaut, sondern die Sourcen manuell gepatcht.
Beim Kompilieren:

Code: Alles auswählen

make -C src
make[1]: Entering directory `/usr/src/fritz/src'
make -C /lib/modules/2.6.20.4/build SUBDIRS=/usr/src/fritz/src modules
make[2]: Entering directory `/usr/src/linux-2.6.20.4'
  CC [M]  /usr/src/fritz/src/main.o
  CC [M]  /usr/src/fritz/src/driver.o
/usr/src/fritz/src/driver.c: In function 'install_card':
/usr/src/fritz/src/driver.c:383: warning: passing argument 2 of 'request_irq' from incompatible pointer type
  CC [M]  /usr/src/fritz/src/tools.o
  CC [M]  /usr/src/fritz/src/tables.o
  CC [M]  /usr/src/fritz/src/queue.o
  CC [M]  /usr/src/fritz/src/lib.o
  LD [M]  /usr/src/fritz/src/fcpci.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/src/fritz/src/fcpci.mod.o
  LD [M]  /usr/src/fritz/src/fcpci.ko
make[2]: Leaving directory `/usr/src/linux-2.6.20.4'
make[1]: Leaving directory `/usr/src/fritz/src'
Ich bin noch eine Stufe geplagter, weil ich ein fcusb statt einem fcpci brauche (die einzige Möglichkeit mit meinem Laptop per isdn ins Internet zu kommen, weshalb ich seit Ewigkeiten noch einen 2.6.15er Kernel mit mir herumschleppe - damals war die AVM-Welt für mich noch in Ordnung). Nach obigem Kompilieren wird bei mir ein fcpci erzeugt, obwohl ich im entsprechenden Ordner /etc... angegeben, dass ich fcusb will.
Das ist aber auch gar nicht das Hauptproblem, weil er leider nicht mal das fcpci insertieren mag.
Ich will ja hier keinen Jammer-und-Schimpfpost schreiben, aber langsam wird das mit der divergenten Entwicklung des Kernels und der zwei Jahre alten AVM-sourcen schwierig. =(

So weit ich das jetzt mitgekriegt hab, besteht das Problem aus den Teilproblemen, dass zum einen seit 2.6.19 die config.h nicht mehr im Kernel ist und dass gewisse Teile des Codes auskommentiert werden müssen.

Ich weiß jetzt nicht, wie stark der Debiankernel modifiziert wird: Auf alle Fälle hab ich es mit diesen Modifikationen noch beim 2.6.18 von Debian noch hingekriegt, das richtige Modul zu bauen, welches dann in /lib/modules/`uname -r`/extra lag. Doch leider lässt sich das nur noch unglaublich viel Gezerre proben - ich konnte mir auf alle Fälle nicht erklären, warum es auf einmal ging.
So viel zu meinen Erfahrungen.... =)

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 29.03.2007 20:25:10

Ich habe Debian Sourcen gefunden, die modifiziert worden sind. Mit denen ging das kompilieren problemlos. Ich werde die Sourcen von Arbeit mal online stellen. Dort habe ich das Bookmark.
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 30.03.2007 11:48:47

Also zusammen fassend:

Ich habe einen Kernel 2.4.20.4 kompiliert. Sourcen liegen in /usr/src

Es gibt spezielle Debian avm fcpci Sourcen, die ich nun hochgeladen habe, da ich den Bookmark nicht mehr gefunden habe:

[gelöscht]

Die Datei habe ich in /usr/src mit 'dpkg -X datei.deb .' entpackt. In den Unterverzeichnissen findet man dann die fcpci Sourcen. Diese liessen sich problemlos mit make && make install kompilieren und installieren. Ohne Modifikationen und ohne Fehlermeldungen.

MfG
Zuletzt geändert von Cloonix am 03.04.2007 16:49:13, insgesamt 1-mal geändert.
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

incredibletimbo
Beiträge: 184
Registriert: 07.10.2006 11:54:19
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Münsterland

Beitrag von incredibletimbo » 03.04.2007 15:01:18

Cloonix hat geschrieben: Die Datei habe ich in /usr/src mit 'dpkg -X datei.deb .' entpackt. In den Unterverzeichnissen findet man dann die fcpci Sourcen. Diese liessen sich problemlos mit make && make install kompilieren und installieren. Ohne Modifikationen und ohne Fehlermeldungen.

MfG
Jo, Tatsache! Funzt!
Sei bedankt!
Möchte aber zu bedenken geben, dass AVM dir deswegen theoretisch ans Bein pinkeln könnte. Andererseits scheint die ihr alter Treiber einen feuchten Dreck zu scheren...

Frohes Faxen wünscht

timbo

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 03.04.2007 16:48:34

Hmm, da hast du Recht.

Also es gibt diese Sourcen im Internet (die Debian Pakete). Ich werde hiermit mal den Link wieder aus dem Beitrag nehmen.
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 05.06.2007 18:00:54

Kannst du evt. den Link zu den Debian Sourcen posten?

Ich habe selbes Problem und such mir n Wolf ;)
cu
Picknicker

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 05.06.2007 18:09:05

Wie gesagt... ich finde den Link dazu nicht mehr :(

Und da man mich ja darauf hingewiesen hat, dass ich das nicht selbst zum Download bereit stellen sollte, habe ich den Link aus dem Beitrag entfernt.

Sollte noch wer diese Debian Sourcen suchen, schreibt mich per PM an. Ich werde den Link mal raussuchen.
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 07.06.2007 10:01:51

So vielen Dank.
ich hab jetzt den 2.6.21 Kernel drauf, Treiber lies sich auch compilieren und installieren aber leider nicht mit modprobe einbinden.
modprobe fand fcpci.ko nicht, das Modul liegt aber im extra/ Verz.
Mit modconf kann ich ihn auswählen bringt mir aber ne Fehlermeldung

kernel.log:

Code: Alles auswählen

Jun  7 09:42:19 localhost kernel: capifs: Rev 1.1.2.3
Jun  7 09:42:19 localhost kernel: capi20: Rev 1.1.2.7: started up with major 68 (middleware+capifs)
Jun  7 09:42:19 localhost kernel: fcpci: Unknown symbol paravirt_ops
läuft der treiber "Nur" mit dem .20er Kernel ?
cu
Picknicker

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 07.06.2007 10:16:04

Hmm kann ich nicht sagen. Ich sitze noch auf 20.4.

Du hast den fcpci Source schön im /usr/src kompiliert? Gab keine Probleme?
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 07.06.2007 10:36:40

lief sauber durch und lies sich installieren

Code: Alles auswählen

:/usr/src/fritz/fcpci# make
make -C src
make[1]: Entering directory `/usr/src/fritz/fcpci/src'
make -C /lib/modules/2.6.21-1-k7/build SUBDIRS=$PWD modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.21-1-k7'
  CC [M]  /usr/src/fritz/fcpci/src/main.o
  CC [M]  /usr/src/fritz/fcpci/src/driver.o
  CC [M]  /usr/src/fritz/fcpci/src/tools.o
  CC [M]  /usr/src/fritz/fcpci/src/tables.o
  CC [M]  /usr/src/fritz/fcpci/src/queue.o
  CC [M]  /usr/src/fritz/fcpci/src/lib.o
  LD [M]  /usr/src/fritz/fcpci/src/fcpci.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/src/fritz/fcpci/src/fcpci.mod.o
  LD [M]  /usr/src/fritz/fcpci/src/fcpci.ko
make[2]: Leaving directory `/usr/src/linux-headers-2.6.21-1-k7'
make[1]: Leaving directory `/usr/src/fritz/fcpci/src'

Code: Alles auswählen

:/usr/src/fritz/fcpci# make install
make -C src
make[1]: Entering directory `/usr/src/fritz/fcpci/src'
make[1]: »all« ist bereits aktualisiert.
make[1]: Leaving directory `/usr/src/fritz/fcpci/src'
for f in src/fcpci.ko; do cp -vf $f /lib/modules/2.6.21-1-k7/extra/; done
»src/fcpci.ko« -> »/lib/modules/2.6.21-1-k7/extra/fcpci.ko«

Aber was mir gerade einfällt ist das nicht der selbe bullshit mit dem auch der NVidia Treiber Probleme hat?
cu
Picknicker

Elendil
Beiträge: 50
Registriert: 29.01.2007 19:21:53

Beitrag von Elendil » 07.06.2007 11:54:44

Hey Cloonix,
würd mich freuen, wenn du mir auch den Link mal schicken könntest - bin zwar inzwischen meinen 2.6.15er Kernel losgeworden, aber häng halt jetzt mit einem 2.618er rum ;-), weils höher noch nicht geht.

@picknicker: Hast noch ein depmod -a hinterhergeworfen? Ich durfte neulich recht verwundert feststellen, dass wenn ich einen neuen Kernel kompiliere, ich die sourcen mit den Objektdateien nicht mehr anfassen darf, damit das Fritzmodul kompiliert und beim Insertieren wird es erst nach einem depmod -a gefunden....

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 08.06.2007 09:26:26

Das er "Noch" nicht gefunden wurde lag wirklich an dem depmod. Jetzt findet er das Moul - aber auch mit ner Fehlermeldung

Code: Alles auswählen

# modprobe fcpci
FATAL: Error inserting fcpci (/lib/modules/2.6.21-1-k7/extra/fcpci.ko): Unknown symbol in module, or unknown parameter (see dmesg)
in dmsg steht dann wieder:

Code: Alles auswählen

fcpci: Unknown symbol paravirt_ops
cu
Picknicker

Elendil
Beiträge: 50
Registriert: 29.01.2007 19:21:53

Beitrag von Elendil » 09.06.2007 14:05:29

Servus nochmal,
also mir hat das Ganze jetzt auch keine Ruhe gelassen, weil das ein Problem ist, das mich schon (ungelogen) Monate quält und ich mich dann vor meinem geistigen Auge im Altersheim darüber schimpfen hab sehen, dass ich immer noch mit dem 2.6.18er fahre, während inzwischen doch schon der 4.8.17 draußen ist, der viel mehr kann.

Ich hab in meinem Archiv gekramt und hab da noch alte modifizierte Fritzsourcen gefunden. Wahrscheinlich handelt es sich sogar um jene, die Cloonix hochgeladen hat, allerdings hab ich gleich zwei seltsam modifizierte Fritzsourcen, also keine Ahnung, was das ist.

Ich hab mir jetzt auch einen 2.6.21.1er gebacken. Kurze Zwischenfrage: Nach meinen "Optimierungen" (löschen von Modulen, die ich nicht brauch und einkompilieren von Modulen, von denen ich weiß, dass sie sonst nachgeladen werden) krieg ich beim Booten immer eine Latte "Could not load /lib/modules/`uname -r`/modules.dep: No such file or directory". Das hat zwar keine Auswirkung auf Funktionalität, aber es ist unästhetisch, weil dann Freunde gleich wieder rumpöbeln, ob der neue Kernel nicht geht ;-)

Also die modifizierten Sourcen kompilieren bei mir höchst unschön:

Code: Alles auswählen

make -C src
make[1]: Entering directory `/usr/src/fcusb/src'
make -C /lib/modules/2.6.21.1-070708/build SUBDIRS=$PWD modules
make[2]: Entering directory `/usr/src/linux-2.6.21.1'
  CC [M]  /usr/src/fcusb/src/main.o
  CC [M]  /usr/src/fcusb/src/driver.o
/usr/src/fcusb/src/driver.c: In function ‘select_config’:
/usr/src/fcusb/src/driver.c:249: warning: pointer type mismatch in conditional expression
/usr/src/fcusb/src/driver.c: In function ‘reset’:
/usr/src/fcusb/src/driver.c:276: warning: passing argument 3 of ‘select_config’ from incompatible pointer type
/usr/src/fcusb/src/driver.c: In function ‘usb_write’:
/usr/src/fcusb/src/driver.c:1019: warning: passing argument 6 of ‘usb_fill_bulk_urb’ from incompatible pointer type
/usr/src/fcusb/src/driver.c: In function ‘usb_read’:
/usr/src/fcusb/src/driver.c:1048: warning: passing argument 6 of ‘usb_fill_bulk_urb’ from incompatible pointer type
  CC [M]  /usr/src/fcusb/src/tools.o
  CC [M]  /usr/src/fcusb/src/tables.o
  CC [M]  /usr/src/fcusb/src/queue.o
  CC [M]  /usr/src/fcusb/src/lib.o
  LD [M]  /usr/src/fcusb/src/fcusb.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: modpost: GPL-incompatible module fcusb.ko uses future GPL-only symbol 'usb_deregister'
WARNING: modpost: GPL-incompatible module fcusb.ko uses future GPL-only symbol 'usb_register_driver'
  CC      /usr/src/fcusb/src/fcusb.mod.o
  LD [M]  /usr/src/fcusb/src/fcusb.ko
make[2]: Leaving directory `/usr/src/linux-2.6.21.1'
make[1]: Leaving directory `/usr/src/fcusb/src'
Aber sie kompilieren und lassen sich nach depmod -a einfügen. Ich füg mal ein "noch" hinzu, weil wer weiß, was die zukünftigen Fritz-feindlichen Kernel so bringen.
Allerdings musste ich auch erst ein paar Mal neustarten und Stecker rein und raus, bis er mir das mit dem usb-Registrieren auch wirklich abgenommen hat.

Wie schon gesagt, bin ich ja ein Fritzcard-usb-Mensch, deshalb weiß ich nicht, ob das bei dir greift, aber ich vermute jetzt einfach mal, dass bei den verschiedenen Fritzcardtreibern einach nur das closed source-Modul differiert.

Hier mal mein diff-file:

Code: Alles auswählen

diff -r fritz/src/driver.c fcusb/src/driver.c
86c86
< static void                   closing_worker (void *);
---
> static void                   closing_worker (struct work_struct *);
195d194
<       UNUSED_ARG (ptr);
264d262
<       UNUSED_ARG (ptr);
695,696c693,694
< static void closing_worker (void * ctx) {
<       card_p  card = (card_p) ctx;
---
> static void closing_worker (struct work_struct *work) {
>       card_p  card = capi_card;
792c790
<       INIT_WORK (&closing_work, closing_worker, capi_card);
---
>       INIT_WORK (&closing_work, closing_worker);
991d988
<       UNUSED_ARG (ptr);
1000d996
<       UNUSED_ARG (ptr);
diff -r fritz/src/driver.h fcusb/src/driver.h
28c28
< #include <linux/config.h>
---
> 
diff -r fritz/src/main.c fcusb/src/main.c
85c85
<       .owner =        THIS_MODULE,
---
> //    .owner = THIS_MODULE,
diff -r fritz/src/Makefile fcusb/src/Makefile
36c36
<               $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) modules
---
>               $(MAKE) -C $(KDIR) SUBDIRS=$$PWD modules
diff -r fritz/src/tools.h fcusb/src/tools.h
73a74
> #ifndef atomic_xchg
80c81
< 
---
> #endif
Der Ordner fritz ist das Alte, fcusb das Neue. Ich hoffe, dir bringts was =)

So, ich geh jetzt erst mal feiern, dass ich das erste Mal seit ner Ewigkeit wieder mit nem aktuellen Kernel im ISDN-Internet bin =)

Öhm....mir ist jetzt im Nachhinein doch noch aufgefallen, dass sich die fcusb und fcpci-Dinger ziemlich unterscheiden. Aber jetzt hab ich das alles schon geschrieben und vielleicht gibts da draußen ja noch jemand, der fritzcard-usb 1.0 nutzt ;-)

Was den fcpci betrifft, der ließ sich bei mir jetzt nach den von hronny übermitteltem patch ganz normal insertieren (mit fcpci-suse93-3.11-07.tar.gz).
Vielleicht ists ja was mit deinem Kernel...?
Ein "cat * |grep paravirt" in fritz/src (aus dem fcpci) ergibt nix und nur der .config vom 2.6.21.1er lässt sich ein CONFIG_PARAVIRT finden....der Zusammenhang ist mir aber schleierhaft...

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 09.06.2007 14:21:07

Solange es nur Warnings sind sollte es nicht weiter stören. Kann daran liegen, das ein anderer Compiler verwendet wird, je neuer umso pingeliger. Und dann beschwert er sich noch hierüber.

Code: Alles auswählen

WARNING: modpost: GPL-incompatible module fcusb.ko uses future GPL-only symbol 'usb_deregister' 
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 15.06.2007 09:33:31

Elendil hat geschrieben:
Was den fcpci betrifft, der ließ sich bei mir jetzt nach den von hronny übermitteltem patch ganz normal insertieren (mit fcpci-suse93-3.11-07.tar.gz).
Vielleicht ists ja was mit deinem Kernel...?
Ein "cat * |grep paravirt" in fritz/src (aus dem fcpci) ergibt nix und nur der .config vom 2.6.21.1er lässt sich ein CONFIG_PARAVIRT finden....der Zusammenhang ist mir aber schleierhaft...
Hiho,

du meinst den Patch aus dem 2. Post in diesem Thread? Den hab ich mit dem 2.6.21er und den offiziellen fcpci Treiber Sourcen der AVM Seite getestet. Er bringt bei mir leider schon beim patchen Fehlermeldungen.

Wenn ich jetzt nichts durcheinander schmeiße lässt sich der offizielle Nvidia Treiber auch wegen des "paravirt" nicht installieren.
cu
Picknicker

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 15.06.2007 13:13:29

Elendil hat geschrieben:Aber sie kompilieren und lassen sich nach depmod -a einfügen. Ich füg mal ein "noch" hinzu, weil wer weiß, was die zukünftigen Fritz-feindlichen Kernel so bringen.
Allerdings musste ich auch erst ein paar Mal neustarten und Stecker rein und raus, bis er mir das mit dem usb-Registrieren auch wirklich abgenommen hat. ]...
Andersrum ausgedrückt könnte auch mal AVM ausse Puschen kommen und den Treiber mal anpassen. Ich hatte ja auch mal mit ner AVM Fritz getestet, Konsequenz war ich das Teil irgendwann durch eine AVM B1 ersetzt. Zwar keine neue , die hatte ich über Ebay gekauft,. Ich hatte nähmlich die Faxen dicke mit der Fritzcard. Nach jedem Kernelwechsel , den Treiber neu komplieren, dazu hatte ich keine Lust. Und mit dem Patchen erst recht nicht.

Außerdem warum sollen sich die Kernelentwickler nach AVM richten ? Wenn die unbedingt ihren Closed Source Zeugs haben wollen, dann müssen die mit den Konsequenzen klar kommen.
Zuletzt geändert von KBDCALLS am 15.06.2007 14:39:34, insgesamt 1-mal geändert.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Elendil
Beiträge: 50
Registriert: 29.01.2007 19:21:53

Beitrag von Elendil » 15.06.2007 14:12:41

Servus,
@Picknicker: Also ohne wirklich Ahnung zu haben, hört sich das wirklich nach einem Problem mit deinem paravirt-Modul an. Wenn du einen Debiankernel verwendest, wo das standardmäßig aktiviert ist, dann kompilier doch selber mal einen (falls du Hilfe brauchst, kannst mich gern hier privat anschreiben) und mach beim Konfigurieren die Flag dafür raus...vielleicht hilft das ja ;-) (wobei man sich schon sehr fragen muss, warum es da überhaupt Probleme gibt, das Ding sollte ja relativ für sich stehen).

@KNDCALLS: Nein, du hast natürlich absolut recht, ich meinte das auch eher mit einem zynischen Unterton wider AVM. Ich war ja am Anfang begeistert, dass ich überhaupt mit meinem Laptop durch ein USB-Modem eben ins ISDN-Internet komme, aber inzwischen reichts mir langsam auch. Weiß jemand ne freie Alternative? Aber dann müsste man sich wohl wieder ein teures Modem kaufen: ich kann nicht verstehen, wie die von Fritz! da noch 50 € (oder täusch ich mich?) für ein Fritz!-USB-Modem-standard-mit-nix verlangen können, wenn man das im Internet auch schon von einem glücklicheren Menschen, der auf DSL wechseln konnte, für 10 € kriegt.

dolittle0815
Beiträge: 2
Registriert: 17.06.2007 12:44:58

Beitrag von dolittle0815 » 17.06.2007 12:51:07

Hallo zusammen,
ich habe einen Link gefunden, der auf das beschriebene Problem passen könnte und er kompliert mit meinem 2.6.20.3 er Kernel auch. Man findet das ganze hier im Ubuntu Projekt. Bestandteil des deb Paketes ist eine Datei avm-fritz.tgz, die angepasste Sourcen enthält. Da meine Fritz card noch nicht da ist, konnte ich nicht testen, ob alles funktioniert, aber das Kompilieren erzeugte keine Fehler.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 17.06.2007 13:40:56

Auch mal die Bugreports dazu angesehen ?

Bugs in linux-restricted-modules-2.6.20
Bugs in linux-restricted-modules-2.6.22


Willikommen im Forum.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

dolittle0815
Beiträge: 2
Registriert: 17.06.2007 12:44:58

Beitrag von dolittle0815 » 17.06.2007 14:09:05

Nein, aber wenn ich avm als Suchparameter eingebe, erscheint auch kein Ergebnis.

dukynukem
Beiträge: 1
Registriert: 17.06.2007 22:19:59

Beitrag von dukynukem » 17.06.2007 22:27:29

Ich kämpfe auch noch mit einigen Karten.

Aber einige Fritz Karten gehen wieder. 8)
Ihr könnt gerne mal testen.

Nicht abschrecken lassen, das ganze ist zwar für opensuse, aber die Sourcen gibt bei mir aber auch:

Die Packete für 2.6.22 sind unter 10,3 alpha einsortiert

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

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 22.06.2007 14:55:06

Servus,

@ Elendil
Jo wenn ich mal Zeit finde muss ich das nochmal testen.. ist aber trotzdem scheiße - ich nutze den Rechner beruflich und hab dadurch weder die Lust noch die Zeit mir die Kernels selbst zu compilieren. Ich vermute aber stark das es an dem "paravirt_ops" hängt.

@dolittle0815
durch kompilieren tut er bei mir die Quellen auch. Das Einbinden bringt die Fehlermeldung.

Für was ist denn die "paravirt_ops" im Kernel? Ist das so wichtig das es eingeschaltet sein muss, im Debian Standard Kernel?
Wenn da jeder der Nvidia oder Fritz Treiber (wer weiß bei welchen es noch Probleme gibt) seinen eigenen Kernel backen muß? Wäre es da nicht cleverer das von Hause aus draußen zu lassen, und die die "paravirt_ops" wirklich benötigen können dann das Teil selbst backen..
cu
Picknicker

Antworten