WOL

v 0.2, 24.05.2006

Hardware

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).

Bios

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).

Treiber

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 type
kommt. (dürfte erst ab einer bestimmten Kernelversion notwendig sein)

Konfigurieren

Zudem muss wol im Treiber eingeschalten werden. Mit dem Aufruf (als root) von

ethtool ethX
weiß man ob WOL supportet wird und ob es aktiviert ist.
        Supports Wake-on: g
        Wake-on: g
Um 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.

Halt

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 up
wieder starten.

Das wol feature muss auch vor dem herunterfahren aktiviert werden. Dazu muss

ethtool -s ethX wol g
gestartet 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

Testen

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

ifconfig
oder
ip a
und 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).

Thanks to

Der Treiber, dieses Howto und die Möglichkeit WOL mit Asus A8V Deluxe unter Linux zu betreiben gehen ausschließlich aus dem Engagement von Detlef Hegewald hervor. Vielen, vielen Dank dafür!
Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif