If two computers are connected by ethernet directly (ie, with no router between them) can one computer wake the other using the magic packet?
I ask because it's not working for me and I'm not getting very useful search results. If someone can confirm that this should indeed work then I can check and re-check the system settings and specifications.
Yes, if the cable is a crossover cable. Otherwise you'd need a switch of some kind. Some NIC's autosense and can switch over for you, or you can get a device that "adapts" the connection for you. Otherwise make your own cable with the crossover wiring.
1) You need a cross-over ethernet cable.
And it is probably best to manually configure both computers for 100 MB, full-duplex.
You can never rely on auto-negotiate to work correctly when hooking up 2 computers directly. Especially not if they use different line-speeds by default (Gb and 100Mb in your case).
Auto-negotiate is only properly defined for computer to switch connections using standard (non-crossover) cables. The Gigabit standards adds support for cross-over cables and automatic cross-over when needed, but only if BOTH sides of the connection are Gigabit.
If negotiation fails the behavior is undefined: Murphy's Law then applies: It won't work.
2) Don't forget to configure the computer that needs to sleep/wake up properly. Wake up on LAN (WOL) must be enabled in BIOS and in the Operating System.
(On Windows make sure in the device properties of the LAN card that "This device may wake the computer" is enabled.) You may have to upgrade the BIOS and/or the network-drivers to make this possible.
PS: Simple check if BIOS/drivers is setup correctly and the cabling is right:
Shut down the computer that needs to go down/wake up. If the network-light on the back is still burning while the computer is off you are good to go.