Not sure what made the difference -- probably the ethernet-wol g line -- but here's what I did:
First activate wake on lan in the bios on whatever computer you're using. In an ideal world that'd just be a matter of changing 'Wake On Lan' to enabled, but it's not always that easy. Typically, you'll be looking under power options.
On Optiplex 990, go to power options, and enable Wake On Lan.
On Gigabyte 990-fxa-d3 there's no such option. Just make sure that ErP support is NOT enabled.
On Biostar N68S3+, just enable Wake On Lan and you'll be fine.
On none of these could I boot using the PCI/PCIe NIC devices i.e. only the onboard NICs worked.
Next on each computer which you wish to boot, install ethtool.
Then edit /etc/network/interfaces and add ethernet-wol g for each IF that you want to boot with:
auto eth0 iface eth0 inet dhcp ethernet-wol g auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.1 ethernet-wol g
Finally, on the computer you wish to boot from, install etherwake from the repos. Then do
sudo etherwake -i eth3 78:2b:cb:b3:a4:a5where eth3 is the interface on the local computer that is on the same LAN as the interface on the remote computer that you wish to boot, and 78:2b:cb:b3:a4:a5 is the MAC address of the remote computer's interface.
I've tried this successfully on:
* Optiplex 990 -- onboard NIC only
* gigabyte 990-fxa-d3 -- onboard NIC only
* Biostar N68S3+. Bios: American Megatrends 08/26/2010. On-board NIC only.