Donnerstag, 1. November 2007

nVidia Netzwerkkarten, Hibernate/Suspend und fehlende Netzwerkkonfiguration

Ich habe einen nVidia Corporation CK8S Ethernet Controller auf meinem Asus Board. Nach einem Suspend erhält die Karte keine IP-Adresse mehr. Den Grund dafür liefert ein dmesg:

0000:00:05.0: Invalid Mac address detected: 71:4a:28:d8:11:00
Please complain to your hardware vendor. Switching to a random MAC.

Bzw ein ifconfig, der nach jedem Suspend/Resume-Zyklus eine neue Netzwerkkarte (eth1, eth2 usw) anzeigt.

Aha: nach jedem Resume wechselt die MAC-Adresse, woraufhin mein Ubuntu von einer neuen Netzwerkkarte ausgeht. Ein Blick in /etc/udev/rules.d/70-persistent-net.rules zeigt auch das ganze Ausmaß der Katastrophe: viele Einträge mit unterschiedlichen MAC-Adressen. Laut einem Forums-Post handelt es sich hier um "reversed IP-address", was man im BIOS abstellen kann. Wer keine entsprechende Option findet, oder wie ich keine Lust hat, den Rechner neu zu starten, der stellt seine Netzwerkkonfiguration von MAC-Adresse auf PCI-Adresse um: die korrekte PCI-Adresse steht in der dmesg-Ausgabe; alternativ kann man auch die Ausgabe von lspci für die Netzwerkkarte verwenden und "0000:" davor schreiben (wer hat schon mehrere PCI-Busse installiert?). Dann passt man die Datei

/etc/udev/rules.d/70-persistent-net.rules

an, indem man den Eintrag

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:d8:28:4a:71", NAME="eth0"

durch

SUBSYSTEM=="net", DRIVERS=="?*", ID=="0000:00:05.0", NAME="eth0"

ersetzt, wobei natürlich die passende ID einzutragen ist. Danach klappt es dann auch mit dem Netzwerk nach einem Resume.

Keine Kommentare: