Wake-on-lan under Ubuntu 12.04

I would like to setup the wake-on-lan, the two PCs are connected through a switch.

Here is the configuration of the eth0, in the BIOS I couldn't find any information regarding the wake-on-lan.

Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                         100baseT/Half 100baseT/Full 
                                         1000baseT/Full 
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000033 (51)
                   drv probe ifdown ifup
    Link detected: yes

After I shut down the PC, I used different tools to send out the magic package, but nothing happens. Any suggestion?


Your card is supported, now to configure wake-on-lan:

  1. Install ethtool

    sudo apt-get install ethtool
    
  2. Edit /etc/rc.local to add this line before the exit 0 line:

    ethtool -s eth0 wol g
    
  3. Find out the MAC address of your network card (replace eth if with your interface name, eth0, eth1, ..):

    ifconfig eth | grep "HWaddr" | awk '{print $5}'
    
  4. Shutdown the machine. You should be able to wake it up using:

    wakeonlan your_mac
    

You need to install ethtool by typing with root privilage:

apt-get install ethtool

Next step is to enable wake on lan in your system by typing:

ethtool -s eth0 wol g

I describe such scenario and few optional next step on my blog