Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Realtek 8168 Treiber als Modul kompilieren

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
Benutzeravatar
Bacilo
Newbie
Newbie
Beiträge: 9
Registriert: 10. Apr 2006, 20:08
Wohnort: DD
Kontaktdaten:

Realtek 8168 Treiber als Modul kompilieren

Beitrag von Bacilo » 13. Apr 2006, 01:20

Servus,


ich habe mir vor kurzem SUSE 10.0 auf meine Laptop installiert. Dummerweise hat SUSE den Treiber für meinen Netzwerk-Chip nicht intergriert.Also schnell den Treiber runtergeladen und per Stick auf Laptop übertragen.
Folgendes steht in der README zum Treiber
...
<Requirements>

- kernel source tree (supported versions 2.4.x or 2.6.x)
- compiler/binutils for kernel compilation



<Quick install with proper kernel settings>

Unpack the tarball :
unzip r1000_linuxdrv_vxx.zip

Change to the directory:
cd r1000

If you are running the target kernel, then you should be
able to do :

make clean modules (as root or with sudo)
make install
depmod -a
...
Kernel Source liegt bei /usr/src/linux-2.6.13-15

Wenn ich nun in /usr/src/r1000 gehe und dort die Befehle - wie oben beschrieben eintippe, kommt folgendes:

Code: Alles auswählen

# make clean modules
make -C src/ clean
make82[1]: Entering directory `/usr/src/r1000/src'
rm -f *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags
make[1]: Leaving directory `/usr/src/r1000/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/r1000/src'
make -C /lib/modules/2.6.13-15-smp/build SUBDIRS=/usr/src/r1000/src modules
make[2]: Entering directory `/usr/src/linux-2.6.13-15-obj/i386/smp'
make -C ../../../linux-2.6.13-15 O=../linux-2.6.13-15-obj/i386/smp modules /usr/src/r1000/src/Makefile:28: /usr/src/linux-2.6.13-15/src/Makefile_linux26x: No such file or directory
make[5]: *** NO rule to make target `/usr/src/linux-2.6.13-15/src/Makefile_linux26x´. Stop.
make[4]: *** [_module_/usr/src/r1000//src] Error 2
make[3]: *** [modules] Error 2
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.13-15-obj/i386/smp'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/r1000/src'
make: *** [modules] Error 2
Warum tritt dieser Fehler auf? Ich versteh das die "Makefile_linux26x" sich nicht im /usr/src/linux-2.6.13-15/src befindet. Ist da ein Fehler in den TreiberDateien weil die auf etwas falsches verweisen? Oder habe ich irgendwas vergessen?


Leider bin ich a) noch blutiger Anfänger bei Linux und b) wahrscheinlich einwenig ausgebrannt da ich schon seit geraumer Zeit an diesem Problem sitze.

Also habe ich mal ebissl gegoogled und das dabei gefunden:

Code: Alles auswählen

...
Kernel-Source oder Kernel-Header liegen üblicherweise in
/usr/src/...

Man hat dann z.B. folgendes Directory:
/usr/src/kernel-header-2.4.18-5

und außerdem die Quelldatei
/usr/src/rtl8150.c

 
Dann kompiliert man z.B. mit
gcc -DMODULE -D__KERNEL__ -c rtl8150.c -ikernel-header-2.4.18-5/include

Das erzeugt z.B. eine Datei
/usr/src/rtl8150.o

 
Man lädt den Treiber mit
modprobe /usr/src/rtl8150
... 
Und sofort kommt beim Ausführen der Fehler

Code: Alles auswählen

cc1:error: unrecognized command line option "-ilinux-2.6.13-15/include"
Ich habe diesen Befehl auch mit anderen Ordnern versucht aber immer dieselbe Meldung.

Hoffe das ganze ist nicht ganz verwirrend für euch. mir würde es vollends genügen wenn ein Weg schon zum Ziel führt - auch wenns ein ganz andere is.
"Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das
Böse zulassen."

Werbung:
Flieger
Newbie
Newbie
Beiträge: 14
Registriert: 4. Jun 2005, 14:53

Beitrag von Flieger » 21. Apr 2006, 18:21

Das gleiche Problem habe ich auch, allerdings mit einem PC in dem eine Netzwerkkarte mit gleichem Chip steckt!
Hoffentlich kann dir jemand helfen, und damit dann auch mir!

Gruß Flieger

Benutzeravatar
Bacilo
Newbie
Newbie
Beiträge: 9
Registriert: 10. Apr 2006, 20:08
Wohnort: DD
Kontaktdaten:

Beitrag von Bacilo » 21. Apr 2006, 21:11

Habe endlich heute eine Lösung gefunden :!:

Zur Zeit habe ich den Kernel 2.6.13-15 drauf.

Das Treiber Archiv ist so strukturiert

Code: Alles auswählen

/r1000
   /r1000/Makefile
   /r1000/readme
   /r1000/release_note.txt
 /src
   /src/Makefile
   /src/Makefile_linux24x
   /src/Makefile_linux26x
   /src/r1000_n.c
1. gesamten Ordner "r1000" aus dem Archiv nach
/usr/src/linux-2.6.13-15 kopieren
2. gesamten Ordner "src" aus dem Archiv nach /usr/src/linux-2.6.13-15
kopieren
3. in den Ordner /usr/src/linux-2.6.13-15/r1000 wechseln
4. Readme Anweisung folgen:
"make clean modules"
"make install"
"depmod -a"
5. in den Ordner /usr/src/linux-2.6.13-15/r1000/src wechseln
6. dort "modprobe r1000"
7. nachschauen ob Treiber eingebunden wurden ist
"modprobe -l | grep r1000"
8. neustarten, danach nochmal schauen ob Treiber immernoch drin ist
9. Internet müsste funktionieren (bei mir sogar ohne Extra Konfiguration)

Hoffe es funktioniert auch bei dir.
"Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das
Böse zulassen."

Flieger
Newbie
Newbie
Beiträge: 14
Registriert: 4. Jun 2005, 14:53

Beitrag von Flieger » 21. Apr 2006, 22:53

OK! Instaliert ist er! Danke erst mal!
Funktionieren tut es bei mir trotzdem nicht!
Habe jetzt aber auch noch mal genauer mir die Netzwerkkarte angeschaut!
Auf der Karte ist gar kein Realteak chip verbaut, sondern ein IC+ IP1000A aber den Treiber dafür habe ich auch schon versucht. Geht trotzdem nicht!
Was mich so wundert ist, das unter Yast die Netzwerkkarte als
"Sundance Ethernet controller" angezeigt wird!?

Ich werd mal weiter schauen!

Gruß Flieger

Flieger
Newbie
Newbie
Beiträge: 14
Registriert: 4. Jun 2005, 14:53

Beitrag von Flieger » 21. Apr 2006, 23:02

Vieleicht noch zur Info,
in den Log Dateien findet sich folgendes:
"module not supported by Novell, setting U taint flag"
Könnte es also daran liegen das ich einen Original Kernel von SuSE/Novell benutze?

Benutzeravatar
HinzKunz
Newbie
Newbie
Beiträge: 2
Registriert: 20. Mai 2006, 00:16
Wohnort: DA
Kontaktdaten:

Beitrag von HinzKunz » 20. Mai 2006, 13:17

Hallo allerseits,

ich hab gestern (nach langer Pause) wieder Linux (Suse 10.1) installiert.
In meinem Laptop (Asus A7Jc) ist auch eine Realtek 8168 verbaut.
Wenn ich versuche, den Treiber nach o.g. Anleitung zu installieren, bekomme ich folgende Fehlermeldung:

Code: Alles auswählen

Laptop:/usr/src/linux-2.6.16.13-4/r1000 # make clean modules
make -C src/ clean
make[1]: Entering directory `/usr/src/linux-2.6.16.13-4/r1000/src'
rm -f *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags
make[1]: Leaving directory `/usr/src/linux-2.6.16.13-4/r1000/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/linux-2.6.16.13-4/r1000/src'
make -C /lib/modules/2.6.16.13-4-default/build SUBDIRS=/usr/src/linux-2.6.16.13-4/r1000/src modules
make[2]: Entering directory `/usr/src/linux-2.6.16.13-4-obj/i386/default'
make -C ../../../linux-2.6.16.13-4 O=../linux-2.6.16.13-4-obj/i386/default modules
  CC [M]  /usr/src/linux-2.6.16.13-4/r1000/src/r1000_n.o
/usr/src/linux-2.6.16.13-4/r1000/src/r1000_n.c:378: error: expected ‘)’ before string constant
make[5]: *** [/usr/src/linux-2.6.16.13-4/r1000/src/r1000_n.o] Fehler 1
make[4]: *** [_module_/usr/src/linux-2.6.16.13-4/r1000/src] Fehler 2
make[3]: *** [modules] Fehler 2
make[2]: *** [modules] Fehler 2
make[2]: Leaving directory `/usr/src/linux-2.6.16.13-4-obj/i386/default'
make[1]: *** [modules] Fehler 2
make[1]: Leaving directory `/usr/src/linux-2.6.16.13-4/r1000/src'
make: *** [modules] Fehler 2
Das ist die Zeile 378 der r1000_n.o:

Code: Alles auswählen

MODULE_PARM (media, "1-" __MODULE_STRING(MAX_UNITS) "i");
Da ich keine Ahnung von Programmierung (und auch nicht wirklich viel von Linux) habe, weiß ich nicht, inwieweit ich diese Zeile editieren muss, oder liegt das Problem an ganz anderer Stelle?

Danke und viele Grüße
Martin

Benutzeravatar
HinzKunz
Newbie
Newbie
Beiträge: 2
Registriert: 20. Mai 2006, 00:16
Wohnort: DA
Kontaktdaten:

Beitrag von HinzKunz » 20. Mai 2006, 15:24

Hallo nochmal und Sorry für Doppelpost,

ich bin beim googeln auf einen Beitrag in einem anderen Forum gestoßen...

Man muss in Zeile 378 aus dem "MODULE_PARM" "MODULE_PARM_DESC" machen, dann gehts... :)

Viele Grüße
Martin

Benutzeravatar
Bacilo
Newbie
Newbie
Beiträge: 9
Registriert: 10. Apr 2006, 20:08
Wohnort: DD
Kontaktdaten:

Beitrag von Bacilo » 2. Jun 2006, 10:38

@HinzKunz
Hab gerade auch Suse 10.1 installiert und das nochmal versucht den Treiber zu "installieren".
Problem scheint ab SuSe 10.1 aufzutauchen.
Danke für deinen Tipp.

Am einfachsten kann man die besagte Datei mit den vi-Editor editieren.
"Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das
Böse zulassen."

lordi
Newbie
Newbie
Beiträge: 1
Registriert: 24. Jul 2006, 09:50
Wohnort: Hamburg

Beitrag von lordi » 24. Jul 2006, 10:00

Hallo, ich habe auch diese Karte in meinem Notebook und ähnliche Fehler beim Installieren.
Ich habe mich an die Anleitung hier aus dem Thread gehalten und bin auch schon weiter als vorher, aber bei mir tritt ein weiteres Problem auf:

make clean modules läuft ohne fehler durch,
aber ich bekomme nach der eingabe von make install die ausgabe:

Code: Alles auswählen

install: cannot stat 'r1000.ko' : No such file or directory
ich habe nach besagter datei gesucht, aber diese datei existiert nicht auf meiner festplatte. da auf die datei zugegriffen werden soll, muss die ja wohl vorher angelegt werden, aber ich kenne mich zu wenig aus um im makefile die passende stelle zu finden.

ich nutze suse 10.1 auf einem asus z92j

wäre sehr nett wenn mir jemand einen tipp geben könnte, google usw. habe ich schon bemüht, konnte aber dazu nichts finden.

Freecoffee
Guru
Guru
Beiträge: 1750
Registriert: 29. Sep 2004, 17:00
Wohnort: Bayern

Beitrag von Freecoffee » 24. Jul 2006, 11:16

Mach erst noch einmal ein make, die Fehlermeldung besagt, dass das Modul gar nicht kompiliert wurde.
Gruß, Freecoffee

fanformusik
Member
Member
Beiträge: 114
Registriert: 26. Mai 2006, 17:35

Beitrag von fanformusik » 25. Aug 2006, 11:24

Info: Die aktuelle Version des Realtek-Treibers ist 1.04 . Dort muss man die o.a. Änderung im Code r1000_n.c an drei Stellen machen:

Original Version 1.04 (Zeilen 51-53):

Code: Alles auswählen

MODULE_PARM (speed, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM (duplex, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM (autoneg, "1-" __MODULE_STRING(MAX_UNITS) "i");
ändern in:

Code: Alles auswählen

MODULE_PARM_DESC (speed, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM_DESC (duplex, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM_DESC (autoneg, "1-" __MODULE_STRING(MAX_UNITS) "i");
Merkwürdig, das das den Entwicklern nicht aufgefallen ist. Verwendet Suse andere Befehlssyntax?

gw.wichtel
Newbie
Newbie
Beiträge: 1
Registriert: 16. Sep 2006, 13:28

Beitrag von gw.wichtel » 16. Sep 2006, 13:36

hallo gemeinde!

dieses forum hat mich meiner bisherigen problematik schonmal weitergebracht aber leider noch nicht zum erfolg :-)

zur situation:
asus a6ja laptop
netzwerkkarte 8168
Debian 3.1 (ich weiß falscher thread aber da gehts genau um die karte die probleme macht)
kernel: 2.6

DualCore
1GB Ram
2,7gb swap partition

ich will die treiber per module einbinden wie es auch schon vorher beschrieben wurde nur hängt dass dann bei make clean module...
da werkelt der dann bis make[6300] irgendwas und die Loadaverage geht auf 199 und beim compilieren schreibt er: make out of memory und kackt dann engültig ab.
wie kann es sein dass ich dafür zu wenig ram hab, im top is auch bei Mem 902mb von 906mb used... finde ich ein wenig viel oder was meint ihr ?

[edit]: irgendwann ist einfach die swap free bei 0k .... muss die swap partition größer sein ?

[Edit2]: mhh wenn man es weinfach weiterlaufen lässt klappt das dann und auch die swap wird dann wieder frei.
nur bringt er nun module fehler 2 ... man muss wohl doch die r1000_n.c datei anpassen dann sollte es gehen.. test läuft gerade :-)


muss ich die oben angegeben änderungen in der datei auch machen oder is die nur relevant für suse systeme?


hoffe ihr könnt mir weiterhelfen und danke schonmal!

grüße

wichtel

ps: hab ein wenig erfahrung mit suse aber keinerlei im kernel backen ^^

Antworten