v 0.2, 24.05.2006
Hier wird beschrieben wie man WOL für Asus A8V Deluxe zum laufen bekommt. Grundsätzlich müsste es für alle Karten funktionieren, wo lspci:
0000:00:0a.0 Ethernet controller: Marvell Technology Group Ltd. Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (rev 13)ausgibt.
Getestet wurde es neben Asus A8V auch auf GA K8NSC-939 (gleicher Chipsatz).
Im Bios muss Wakeup on PCI devices eingeschalten sein. Am besten auch gleich Wakeup on PS/2 einschalten und ausprobieren ob er von der Tastatur bootet. Damit kann man sicher sein, dass das Netzteil richtig funktioniert.
Auch müssen die Jumper überprüft werden. Wenn die Onboard LED grün leuchtet, dann ist die StandBy Power einmal da (bzw. PS/2 test). (USB Device wakeup muss extra gejumpert werden, siehe Anleitung 2-19).
Die Bios Einstellung vom Powermanagment muss S3 sein (Mit Disabled/Off funkioniert es nicht).
Hier downloaden ( size: 377K, md5sum: 87487f2dc0f61b26b7e0e6d05b00e8ea) und statt den alten sk98lin Verzeichnis im Kernel unter /usr/src/linux/drivers/net/ entpacken. (Altes am besten sichern) Möglicherweise muss
#include <linux/skbuff.h> #include <linux/ip.h>in der drivers/net/sk98lin/sky2.c includiert werden (falls ein fehler wie
drivers/net/sk98lin/sky2.c:999: error: dereferencing pointer to incomplete typekommt. (dürfte erst ab einer bestimmten Kernelversion notwendig sein)
Zudem muss wol im Treiber eingeschalten werden. Mit dem Aufruf (als root) von
ethtool ethXweiß man ob WOL supportet wird und ob es aktiviert ist.
Supports Wake-on: g Wake-on: gUm das zu setzen, reicht folgender Befehl:
ethtool -s ethX wol g.
Ob das ganze patchen/sk98lin oder wie auch immer funktioniert hat, sieht man beim laden des Modules:
sk98lin: Network Device Driver v8.31.2.3.1: Die Versionsnummer muss hinten dran Patch level .1 oder höher haben.
Der Kernel darf keine Optionen wie "noapic", "apic=off", "noapm", "apm=off" haben. Sie würden die Einstellungen vom Bios überschreiben.
Der shutdown muss grundsätzlich ins S3 (oder weniger) erfolgen. Dabei ist zu beachten, dass die Netzwerkschnittstelle nicht heruntergefahren wird! Im Speziellen bedeutet das: kein -i bei halt befehl.
Man darf keine Schnittstellen down fahren, oder muss sie mit
ip link set ethX upwieder starten.
Das wol feature muss auch vor dem herunterfahren aktiviert werden. Dazu muss
ethtool -s ethX wol ggestartet werden.
Also wir haben eine folgende minimale /etc/init.d/halt
echo "start networking again" #rmmod sk98lin #insmod sk98lin ethtool -s eth0 wol g ip link set eth0 up halt -d -f $poweroff $hddown
Jetzt will man das ganze Drum natürlich auch wieder aufwecken. Dafür gibt es wol unter Suse, die Debian Paket wakeonlan oder etherwake. Man braucht aber bei jedem dieser Tools die MAC Adresse, also vor dem herunterfahren (Mit dem richtigen /etc/init.d/halt und Treiber!), noch ein
ifconfigoder
ip aund man bekommt im Feld link/ether oder Hardware Adresse die MAC angezeigt. Diese hexadezimale Zahl muss dann als Parameter übergeben werden.
WOL kann nur funktionieren, wenn man herunterfährt und der Computer schaltet sich selber aus! Drückt man auf den Ausschaltknopf (4sec?) so kann es nicht funktionieren. (Außer man verwendet den acpi event und regulär herunterzufahren).