Archive

Archive for September, 2011

Z68 Chipsatz Lan Probleme unter Ubuntu Linux 11.04 und Fedora

September 7, 2011 Leave a comment

Kürzlich habe ich festgestellt, dass ich extrem viele Packet-Drops bei der LAN-Verbindung meines PCs ins Internet habe, selbst die direkte Verbindung zum Router war kaum mehr möglich. Da diese Probleme nicht unter Windows aufgetreten sind, war mir klar, dass es ein Linux Problem ist.

Das Problem scheint darin zu bestehen, dass der Kernel irrtümlich den r8169 Treiber (also den Realtek Netzwerktreiber) anstatt des r8168B Treibers verwendet.
Barry Mavin hat hier eine Lösung erarbeitet, um den richtigen (r8168B) Treiber zu verwenden:

Original-Post:
http://www.foxhop.net/realtek-dropping-packets-on-linux-ubuntu-and-fedora

  • Überprüfen, ob wirklich der falsche Treiber geladen wurde:

    lsmod | grep r8169
    sollte in etwa zu dem Ergebnis führen:
    r8169 182616 0
    Dann ist das Problem in der Tat der falsche Treiber !

  • Den R8168B Linux Treiber downloaden und entpacken:

    wget http://www.foxhop.net/attachment/r8168-8.023.00.tar.bz2
    tar vjxf r8168-8.023.00.tar.bz2

  • Den Treiber unloaden:

    sudo rmmod r8169

  • Den Treiber selbst installieren:

    cd r8168-8.023.00
    sudo ./autorun.sh

  • Nun müßte ein:

    lsmod | grep r8168 so etwas darstellen:
    r8168 182616 0

  • Nun sollte man die Verbindung neu herstellen, falls dies manuell geschieht, aber OHNE den PC neuzustarten. Hat das Compilen des neuen Moduls funktioniert, das Surfen bzw. ping zeigt keine Packet-Losses mehr, dann, auch nur dann den übernächsten Schritt vollziehen, ansonsten den Treiber:

    cd /lib/modules/2.6.x-x-x/kernel/drivers/net/
    sudo mv r8169.bak r8169.ko

    wieder in den Originalzustand versetzen, um das anderweitige Problem festzustellen.

  • Abschließend noch den falschen Treiber daran hindern , wieder geladen zu werden:
    (wenn das Compilieren ohne Fehlermeldung funktioniert hat bzw. die Verbindung jetzt stabil ist – ansonsten SIEHE OBEN!!!!!)


    sudo su
    echo "blacklist r8169" >> /etc/modprobe.d/blacklist.conf
    exit

Die Verbindung ist jetzt absolut stabil und das Problem mit den Packet-Losses ist Gschichte !

Update: Seit dem Update auf kernel 3.x.x funktioniert der Treiber nicht mehr richtig. Um das zu berichtigen, die Datei src/Makefile im Editor öffnen und die Zeile:


KEXT := $(shell echo $(KVER) | sed -ne 's/^2\.[567]\..*/k/p')o

mittels # am Anfang auskommentieren, und darunter diese Zeile hinzufügen:

KEXT := $(shell echo $(KVER) | sed -ne 's/^[23]\.[0123456789]\..*/k/p')o

Somit sollte auch das Compilieren mit dem Kernel 3.x.x funkionieren!

Advertisements
Categories: Ubuntu