• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Treiber kompilieren

Für mein Usb Modem muss ich einen Treiber manuel kompilieren. Wenn ich ins Treiberverzeichnis gehe und ./Install_All linux (laut Beschreibung) eintippe bekomme ic haufenweise Fehler gemeldet. Das ganze sieht hauptsächlic so aus:

.
.
.
AdiUsbAdslDriver.c:826: error: 'USB_ASYNC_UNLINK' undeclared (first use in this function)
AdiUsbAdslDriver.c: In function 'adi_user':
AdiUsbAdslDriver.c:1114: error: subscripted value is neither array nor pointer
AdiUsbAdslDriver.c:1114: error: case label does not reduce to an integer constant
make: ***[AdiUsbAdslDriver.o] Error 1

Hat jemand eine Ahnung was man da machen kann?
 
A

Anonymous

Gast
Ich vermute, dass die kritische Fehlermeldung hier nicht mit dabei ist. Vermutlich fehle irgenwas (ich tippe einfach mal auf die Kernelquellen). Schau mal ganz am Anfang der Fehlermeldungen nach, was als erstes schiefgegangen ist.
 
Hast Recht das Problem scheint hier zu sein:

make[1] : Entering directory '/usr/ADI_USB/ADI_LINUX/ADI_SRC'
gcc -DLINUX -D__KERNEL__ -DMODULE -I/usr/src/linux/include -Wall -Wstrict-protot
ypes -fomit-frame-pointer -fno-strict-aliasing -pipe -mpreferred-stack-boundary=2 -I./ADIUTIL -02 -M *.c > .depend
In file include from AdiUsbAdslDriver.c:28:
ADIUTIL/Adiutil.h:30:31: linux/modversions.h: No such file or directory
In file included from /usr/src/linux/include/linux/irq.h:20,
from /usr/src/linux/include/asm/hardirq.h:6,
from /usr/src/linux/include/interrupt.h:11,
from /usr/ src/linux/include/usb.h:15,
from ADIUTIL/Adiutil.h:36,
from AdiUsbAdslDriver.c:28:
/usr/src/linux/include/asm/irq.h:16:25: irq_vectors.h: No such file or directory

Und so geht das ganze dann noch eine Weile weiter. Ich werde daraus beim besten Willen nicht schlau. Ich hab Kernel 2.6.4-52 und hab eigentlich auch die Sources dafür bei Suse als rpm runtergeladen.
Wenn irgendwer eine Ahnung hat, was das Ganze zu bedeuten hat, schreibt bitte, ich wäre euch sehr dankbar.
 
A

Anonymous

Gast
...und hab eigentlich auch die Sources dafür bei Suse als rpm runtergeladen.
Blöde Frage: hast du das rpm dann auch installiert? :wink:

Haben Kernel und Kernel-Quellen die gleiche Version?

uname -r
rpm -q kernel-source

müssen die gleiche Nummer ausspucken !

Ansonsten installiere noch das Paket kernel-syms (natürlich muss auch hier die Version stimmen).

Dann überprüfe noch, ob der Link /usr/src/linux auch auf die Quellen in /usr/src/linux-2.6.4-52 verweiset.
 
Habe jetzt die Versionsnummern geprüft. Die Nummern von Sources und Kernel stimmen überein. Trotzdem kann ich den Treiber nicht installieren. Wenn ich den rpm -q gcc-cpp Test mache, sagt Suse mir, das Paket gibts nicht. Häh? Ich hab definitv GCC vom Suse Ftp nachinstalliert und das cpp Paket habe ich mir auch gezogen, kann es aber nicht installieren.
Yast prüft die Abhängigkeiten, keine Probleme und beendet dann einfach ohne das Paket installiert zu haben.
Dieses Problem hatte ich schon öfters mit verschiedenen Paketen. ich weiss, dass gehört hier eigentlich nicht hin, aber es geht ja um einen Modemtreiber. Weiss jemand was ich da machen kann?
 
so hab jetzt cpp und gcc von Hand installiert, aber das ganze funktioniert immernoch nicht. Bin kurz davor mir ein Ethernet Modem zu kaufen.
Eins noch fals ihr mal das F@st 800/840 von Sagem, macht einen großen Bogen drum rum!
Danke trotzdem.
 
Oben