Networkkarte RTL8169, Absturz Kernel panic

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
mike58
Beiträge: 4
Registriert: 12.06.2004 18:06:33

Networkkarte RTL8169, Absturz Kernel panic

Beitrag von mike58 » 12.06.2004 18:59:40

Ich benutze ein MSI Motherboard 865PE NEO2-P (2,8 GHz HT) mit einer Onboard Ethernetkarte RTL8169 in einem 100Mb-Netz. Da ich nur diesen Onboard-NIC verwende, habe ich das zugehörige Modul fest in den Kernel (2.6.5 SMP) eincompiliert (CONFIG_R8169=y). Es funktionierte auch alles problemlos, bis ich per nfs größere Mengen an Daten an meinen Fileserver übertragen wollte. Nach ein paar MB kam es zum "freeze" und das System ließ sich nur noch per Kaltstart erneut booten.

Nach ein paar Versuchen arbeitete ich ohne KDE auf der Konsole und bekam endlich die Fehlermeldung zu sehen:
eth0: too much work at interrupt
Anschließend verabschiedete sich das System per Kernel panic. Bei meinem System teilt sich die NIC den Interrupt 20 mit apic. Das führte offensichtlich zur kompletten Blockade.

Als ich endlich die Ursache für den Crash herausgefunden hatte, compilierte ich den Kartentreiber als Modul (CONFIG_R8169=m). Bei größerer Netzlast erscheint jetzt alle paar Sekunden die obenstehende Fehlermeldung (taucht natürlich auch in den Logs auf), das System stürzt jetzt wenigstens nicht mehr ab. Trotzdem wird durch diese häufigen Zusammenbrüche der NIC der Datendurchsatz nicht gerade besser.

Jetzt wäre ich froh, wenn jemand dieses Problem schon gelöst hätte, oder Aussichten bestünden, dass eine Lösung in Form eines geänderten Kernelmoduls in Sicht ist.
Vielleicht hat auch jemand einen guten Tip, welche Networkkarte problemlos anstelle dieses Onboard-Controllers eingesetzt werden könnte. Für mich würde eine preiswerte 100Mb-Karte reichen.

Noch eine kleine "Nebenerkenntnis" habe ich:
Unter Windows XP stürzt das System nicht ab. Trotzdem könnte der Durchsatz etwas besser sein und ich wundere mich jetzt nicht mehr, warum die Prozessorlast so deutlich ansteigt, während man ein paar 'zig MB über das Netz transportiert.

Dank und Gruß,
Michael

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 14.06.2004 08:57:22

Irgendwo habe ich davon schon mal gelesen. Soweit ich mich erinnern kann, hat es bei einem geholfen, die Karte in einen anderen PCI-Slot zu stecken (die Karte bekommt dann wahrscheinlich einen eigenen Interrupt und muss möglicherweise diesen nicht mit einem anderen Device teilen), bei einem anderen brachte ein append="noacpi" als Kerneloption den Erfolg (einfach in /etc/lilo.conf in die Sektion Deines Kernels eintragen und lilo aufrufen).

Probier mal aus ...

Gruss, mistersixt.

diedl2003
Beiträge: 111
Registriert: 01.04.2004 00:23:36
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von diedl2003 » 14.06.2004 14:12:58

Hi,

vielleicht hilft da Kernel 2.6.6 weiter. Ich hatte das Problem bei meinem 2.4.25 und bei 2.4.26 ist es gefixt. Im changelog ist nachzulesen, das r8169.o gepatched wurde...

Gruss und viel Erfolg

mike58
Beiträge: 4
Registriert: 12.06.2004 18:06:33

Networkkarte RTL8169, Absturz Kernel panic, Gelöst

Beitrag von mike58 » 14.06.2004 18:18:45

Hallo, Dank Euch beiden!
Ich habe das Problem soeben mit der Wurzel ausgerissen: Es gelang mir, eine Ethernetkarte INTEL pro/100 S aufzutreiben. Die Onboard NIC RTL8169 habe ich im BIOS-Setup deaktiviert. Für die INTEL-Karte stellte ich das Kernel-Modul e100 (nicht den "alten" eepro100 'Original Becker Treiber') bereit.
Die Karte wurde sofort erkannt und bekam den Interrupt 18 (zusammen mit ide1 und ide2) zugewiesen - vermutlich stecke ich sie in einen anderen Slot. Ein paar größere Kopieraktionen (ca. 1 GB) auf meinen Fileserver per nfs verliefen problemlos und merklich schneller. Fehlermeldungen gab es keine mehr.

Es stellte sich nur ein kleiner Nebeneffekt ein: acpi hat den Interrupt 20 jetzt für sich alleine und versorgt ihn kräftig mit Interrupt-Requests (ca. 18000 / sek). Das aber ist eigentlich ein anderes Problem.

Ergebnis:
Die RTL8169 alleine war an den Problemen nicht schuld. In Verbindung mit der hohen IRQ-Last des acpi führte sie allerdings zum Systemabsturz. Leider kann man bei dem sonst problemlosen MSI Board den IRQ der Onboard NIC nicht umsetzen und so wurde das eigentliche Problem nicht offensichtlich. Auf die Idee, die Karte zu deaktivieren und die IRQ-Last zu analysieren, kam ich nicht, weil die Abstürze ja nur auftraten, wenn die Netzlast hoch war.

Trotzdem würde es mich freuen, wenn diese Geschichte andere auf die richtige Spur bringen würde.

Gruß
Michael

Antworten