I have been trying on an off for the past few weeks to get wake on lan working on my computer, and thus far I have been unsuccessful.
First the hardware.
The motherboard is a DFI Lanparty NF4 SLI-DR with a Nforce4 chipset. The ethernet port that I am using is the integrated Nvidia ethernet port. It is connected via cat5e cable to a gigabit switch. I am using the opensource forcedeth driver. Per the file /usr/src/linux-188.8.131.52/net/forcedeth.c the version of the driver is 0.62. Per the config file "CONFIG_FORCEDETH=m" so it is built as a module.
I have been using "ethtool -s eth0 wol g" to set the wol bit to on. I am able to verify that it does in fact set the bit to on by running "ethtool eth0" and it tells me that option g is set to on.
Below is what I have tried and what has worked and what hasn't.
Booting into Windows XP, verifying under the control panel that WOL is set to on, then powering down the computer allows wol to work just fine.
When powered down, all of the lights on the ethernet port are turned off. (this is different than when it is powered down by any other method) I am able to use the wol program from slackbuilds.org running on another computer to wake up the computer by running "wol xx:xx:xx:xx:xx:xx" The only hiccup I have run into is that it only responds to the packet once. What I mean by that is that if the computer is off, but has not been given any time to settle out, and I issue a wol command, the power light flashes, but the computer does not turn on, and re-sending wol does nothing. If I allow the computer to sit for approximately 10-15seconds after it has turned off so that it can settle out (for whatever reason), wol works every time. The power light flashes as if I had physically pressed the power button, then it computer begins booting.
The above suggests to me that the hardware is capable of performing wol.
Now for the linux attempts:
I have created a script called rc.wol located in /etc/rc.d that contains the following lines.
/usr/sbin/ethtool -s eth0 wol g
I have called that script to be run twice on shutdown (rc.0/rc.6), once right before rc.init1 is shutdown, and a second time right before reboot/poweroff are called. The rc.wol script is called with
I have tried sending the wol packet to both the normal MAC address as well as the reversed one, although I thought that that bug had been fixed by the 0.61 driver version. (IE wol 01:02:03:04:05:06 and wol 06:05:04:02:03:01)
I have read that when the BIOS is booting up, to power off the computer with the power button, then send a wol packet to the computer and it will wake up, for me this does not work. However, as stated earlier, it does wol when powered down from windows, so I do not know how conclusive this test is.
Also, when powered down by either linux or by powering it off during bootup, the amber LED (guessing it is the link LED) remains illuminated solid. Whereas when powered down from Windows XP all of the LEDs turn off.
Does anyone have any suggestions or ideas to try? I am up for anything.