Probleme beim Erkennen meiner Netzwerkkarte unter Debian

CRXX

Neuling
Thread Starter
Mitglied seit
10.09.2010
Beiträge
7
Hallo Zusammen,

Ich habe Lenny mit dem original Kernel 2.6.26 bei mir installiert und außerdem noch den Kernel 2.6.21.1.
Unter dem Kernel 2.6.26 funktioniert meine Netzwerkkarte, aber nicht unter 2.6.21.1, denn in meinem Netzwerk konnte ich keinen der anderen Rechner anpingen (ping IP). Dann habe ich mit make menuconfig im Verzeichnis des Kernels (/usr/src/linux/linux-2.6.21.1) die Übersicht zum Kompilieren aufgerufen und bin in das Verzeichnis Device Drivers --> Network device support --> Ethernet (1000 Mbit) gegangen und wollte den Treiber für meine Netzwerkarte auswählen. Ich habe mit "lspci" herausgefunden, dass ich die folgende Karte habe:

"08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)".

Leider gab es in dem Menü nur diese Auswahl: "Realtek 8169 gigabit ethernet suport". Somit habe ich diesen Punkt gewählt, so dass dieser fest in Kernel eingebunden wird.
Nach der Kompilierung und Installation des Kernels funktionierte die Karte immer noch nicht. Anscheinend klappt das mit dem Treiber nicht.
Nun bin ich auf die Homepage von Realtek gegangen und habe mir den Treiber für meine Karte auf meinen Desktop geladen und mit dem Befehl:

tar -vjxf r8168-8.aaa.bb.tar.bz2

entpackt.

In der Datei README steht dann folgende Anweisung:

Quick install with proper kernel settings>
Unpack the tarball :
# tar vjxf r8168-8.aaa.bb.tar.bz2

Change to the directory:
# cd r8168-8.aaa.bb

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

# ./autorun.sh (as root or with sudo)

You can check whether the driver is loaded by using following commands.

# lsmod | grep r8168
# ifconfig -a

If there is a device name, ethX, shown on the monitor, the linux
driver is loaded. Then, you can use the following command to activate
the ethX.

# ifconfig ethX up

,where X=0,1,2,...


Dies habe ich so gemacht und beim Ausführen des Befehls:"./autorun.sh" kommt diese Fehlermedung:

Check old driver and unload it.
Build the module and install
/home/christian/Desktop/r8168-8.019.00/src/r8168_n.c: In function 'rtl8168_get_ethtool_stats':
/home/christian/Desktop/r8168-8.019.00/src/r8168_n.c:1741: warning: implicit declaration of function 'DMA_BIT_MASK'
/home/christian/Desktop/r8168-8.019.00/src/r8168_n.c: In function 'rtl8168_tx_clear':
/home/christian/Desktop/r8168-8.019.00/src/r8168_n.c:8474: warning: unused variable 'dev'
include/asm/io.h: In function 'memcpy_fromio':
include/asm/io.h:204: warning: passing argument 2 of '__memcpy' discards qualifiers from pointer target type
/home/christian/Desktop/r8168-8.019.00/src/r8168_n.c: In function 'rtl_get_eeprom':
/home/christian/Desktop/r8168-8.019.00/src/r8168_n.c:1868: warning: 'ret' is used uninitialized in this function
In file included from /home/christian/Desktop/r8168-8.019.00/src/rtltool.c:5:
/home/christian/Desktop/r8168-8.019.00/src/r8168.h:1203: warning: 'struct ethtool_cmd' declared inside parameter list
/home/christian/Desktop/r8168-8.019.00/src/r8168.h:1203: warning: its scope is only this definition or declaration, which is probably not what you want
WARNING: "DMA_BIT_MASK" [/home/christian/Desktop/r8168-8.019.00/src/r8168.ko] undefined!
Depending module. Please wait.
load module r8168
FATAL: Error inserting r8168 (/lib/modules/2.6.21.1/kernel/drivers/net/r8168.ko) : Unknown symbol in module, or unknown parameter (see dmesg)
Completed.


Der Befehl dmesg liefert folgendes:

r8168: Unknown symbol DMA_BIT_MASK

Könnte mir jemand bitte einen Hinweis geben, wie ich unter dem Kernel 2.6.21.1 meine Netzwerkarte zum Laufen bringe. Wie lassen sich denn am Besten Treiber in einen Kernel integrieren, den dieser noch nicht hat? Die README Datei passt ja leider nicht auf mich.

Vielen Dank im Voraus.
CRXX
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hast Du folgende Pakete installiert:
linux-headers-"kernel version" , module-assistant?

Desweiteren gibt es noch ein Firmwarepaket für Realtek, das solltest Du auch installieren.
 
hi,

nein von den genannten Paketen habe ich keins installiert. Wo finde ich denn das Paket: linux-headers-"kernel version"? Das Paket modul-assistant habe ich gerade von meiner Debian-Installations-DVD eingespielt.
Ich habe noch nie ein Firmwarepaket installiert. Hatte mir das jetzt nicht ganz so kompliziert vorgestellt. Ich wüsste jetzt nicht was ich machen sollte. Sucht man bei Realtek auf der Homepage nach "firmware"? Gefunden habe ich da nicht viel:
Realtek

Vielen Dank für die Hilfe.
 
Den treiber da oben willst du kompilieren, das geht jedoch nicht ohne die zum kompilieren benötigten Pakete. Installiere mal die Pakete "build-essential" "kernel-headers" (damit sollte automatisch die neueste installiert werden, wenn ich mich recht entsinne) und eben module-assistant. die meisten pakete kann man ja direkt über den paketmanager installien, bei diesen hier geht das auch

Ich gehe mal davon aus, dass dir das Prinzip der Paketverwaltung unter Linux vertraut ist.
 
Hi,

das Paket "build-essential" habe ich jetzt auch installiert. Allerdings bei dem Befehl: "apt-get install kernel-headers" kommt die Ausgabe: Konnte Paket kernel-headers nicht finden. "apt-cache show kernel-headers" bringt auch kein Ergebnis. Heißt das Paket vielleicht anders?
Danke für die Unterstützung :-)
 
welchen Grund hat es eigentlich dass du die NIC unbedingt mit dem alten Kernel in Betrieb nehmen willst? Wenn sie mit dem neuen läuft is doch eigentlich alles gut ...
 
hallo,

da hast Du grundsätzlich vollkommen recht. Ich würde aber gerne wissen, wie ich einen Treiber in einen älteren Kernel bekomme, der den so nicht hat. Kann ja immer mal passieren, dass eine Karte vom Kernel nicht erkannt wird und ich den Treiber habe. Dann muss man ja irgendwie dem Kernel sagen können, hier habe ich einen Treiber, der für die Karte ist, nimm den doch bitte auf. Bei dem alten Kernel ist jetzt so ein Fall aufgetreten. Habe den alten Kernel kompiliert und installiert. Würde gern dazu lernen.
 
ich als fan von apt-get würde wohl folgendes wie gewohnt nutzen:

Code:
[B]apt-get install linux-headers-`uname -r`[/B]

Hat sich bewährt und funktioniert ;)
 
da musst du entweder den kernel patchen
oder du hast nen treiber den du als modul compilen kannst
funktioniert aber meist auch nur für die kernel versionen die es gedacht ist
realtek karten machen öfter mal probleme nimm einfach einen kernel > 2.6.30
 
Vielen Dank für die Antworten.

Ich habe jetzt mal den Befehl von biaaas ausgeführt: "aptitude search linux-headers" und es kommt folgendes:

v linux-headers -
v linux-headers-2.6 -
p linux-headers-2.6-486 - Header files for Linux 2.6-486
p linux-headers-2.6-686 - Header files for Linux 2.6-686
p linux-headers-2.6.26-1-486 - Header files for Linux 2.6.26-1-486
p linux-headers-2.6.26-1-686 - Header files for Linux 2.6.26-1-686
p linux-headers-2.6.26-1-amd64 - Header files for Linux 2.6.26-1-amd64
p linux-headers-2.6.26-1-common - Common header files for Linux 2.6.26-1

welchen wähle ich denn am Besten aus? Mein Kernel ist ja ein 2.6.21.1. Dies sagt mir auch der Befehl "uname -r".

Der Befehl "apt-get install linux-headers-`uname -r`" klappt leider nicht. Da kommt die Meldung: Konnte Paket linux-headers-2.6.21.1 nicht finden.

---------- Beitrag hinzugefügt um 19:12 ---------- Vorheriger Beitrag war um 19:05 ----------

Hi mrlinux,

wie finde ich denn raus, ob der Treiber sich als Modul kompilieren lässt? In der README steht ja nur das, was ich oben schon geschrieben hatte. Wie bau ich denn am Besten ein Modul?

Vielen Dank
 
du musst die headers passend zu deinem kernel installieren, kannst du nicht aussuchen!
vermutlich sind die 2.6.22.1 sources nichtmehr enthalten in deiner source
du musst zunächst auf nen höheren kernel upgraden da müsste der direkt mit drin sein
dann einfach modprobe r8168 - fertig
 
Das Problem ist das dein Kernel nicht mehr in den Quellen enthalten ist. Aptitude und apt-get suchen in in den aktuellen (Lenny?) Listen, deswegen findet er nur den neueren Kernel. Du musst in der /etc/apt/sources.list die richtigen Quellen eintragen. Mach aber vorher ein backup der Datei.
Es kann jetzt natürlich sein das Du andere Probleme bekomst weil du verschiedene Versionen gemischt hast. Zumindest musst Du die oben genannten Packete neuinstallieren.
 
Ok, danke für die Information. Dann werde ich dies aber nicht auf dem jetzigen System machen. Das sollte weiterhin funktionsfähig bleiben. Werde mir dann wohl ein ausgedientes Gerät besorgen und dort das mal durchspielen, wo kein Schaden entstehen kann. Hier ist mir das dann doch zu unsicher. Ja, das ist das aktuelle Lenny was läuft. Wäre klasse gewesen, den Treiber einfach mal reinzuschieben.

Für die vielen Hinweise bedanke ich mich!!! :-)
 
Wenn Du die den beiden Linux-Varianten jeweils eine eigen Partition gibst sollte es keine Problem geben.
 
poste doch mal bitte folgende ausgabe:
cat /etc/apt/sources.list

das sieht stark nach debian Etch aus und das wird nicht mehr supportet bzw ist in den archive gelandet..
 
das sieht stark nach debian Etch aus und das wird nicht mehr supportet bzw ist in den archive gelandet..

Das ist schon in Ordnung so, Lenny benutzt einen 2.6.26 Kernel, Etch hatte glaub ich 2.6.18.
Er will den 2.6.21 ja nur etwas zum spielen/lernen benutzen.
 
Zuletzt bearbeitet:
Ja ganz genau, es ist Lenny. Wollte mit dem 2.6.21 Kernel einfach ein bisschen rumprobieren. Ganz so einfach ist es dann doch wohl nicht.

Nochmal vielen Dank.
 
zum testen kannst du doch auch einfach das ganze system taren
wenn was schief geht einfach backup aufspielen dauert 5min ;)

lad dir mal den neusten stable vanilla kernel
kernel.org
dann mit lspci schauen was du für controller drin hast
und das nötige mit menuconfig auswählen
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh