OK... let's try some basics.
Ensure WOL is enabled in the BIOS, reboot the Revo and press F12 to get the boot options menu up. Hold down the power button to shutdown the Revo. Now try to WOL from another PC. Does this work? (Probably if the BIOS is setup correctly).
If that works, restart the Revo, let XBMC start. Then SSH to the Revo - or go to a console session and recheck your WOL settings with "sudo ethtool eth0" as you did before.
Is "wake on" still set to g? Or d?
If "d", enable WOL with:-
sudo ethtool -s eth0 wol g
and check that worked with
sudo ethtool -s eth0
Now SUSPEND the Revo from the XBMC menu. Try to WOL again. Does this work? If it does, reboot the Revo, let XBMC start, and check WOL status with "sudo ethtool eth0" again. Is "wake on" set to "d" again?
If so, the OS is disabling WOL on each boot. Try:-
sudo nano -w /etc/rc.local
and add the following to the end of rc.local
ethtool -s eth0 wol g
This might hopefully fix the issue. And therein lies the answer of why the hardware-only WOL is OS-dependant.... I think the Ubuntu OS is DISABLING WOL on boot.
Try it - if it works, damn - wished I'd thought of this at the weekend. I was playing with XBMCCommander on the iPad - really cool and TOTALLY perfect if I can get WOL working!