# Wake On Lan Help

## KayZee

I trying to get Wake on LAN working on a  Dell PowerEdge 1600SC.

It has an Intel Gigabit adapter using the E1000 driver.

```
Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02
```

ethtool says that wake on lan is enabled.

```
# ethtool eth0

Settings for eth0:

   Supported ports: [ TP ]

   Supported link modes:   10baseT/Half 10baseT/Full 

                           100baseT/Half 100baseT/Full 

                           1000baseT/Full 

   Supports auto-negotiation: Yes

   Advertised link modes:  10baseT/Half 10baseT/Full 

                           100baseT/Half 100baseT/Full 

                           1000baseT/Full 

   Advertised pause frame use: No

   Advertised auto-negotiation: Yes

   Speed: 100Mb/s

   Duplex: Full

   Port: Twisted Pair

   PHYAD: 0

   Transceiver: internal

   Auto-negotiation: on

   MDI-X: Unknown

   Supports Wake-on: umbg

   Wake-on: g

   Current message level: 0x00000007 (7)

                drv probe link

   Link detected: yes
```

Yet acptools says there are no wake devices available.

```
# acpitool -w

  wakeup devices : <not available>

```

I do see the LED lite next to the NIC indicating its getting power. 

My kernel has the follow ACPI options.

```
# Power management and ACPI options

CONFIG_ACPI=y

# CONFIG_ACPI_PROCFS is not set

# CONFIG_ACPI_PROCFS_POWER is not set

# CONFIG_ACPI_POWER_METER is not set

# CONFIG_ACPI_EC_DEBUGFS is not set

# CONFIG_ACPI_PROC_EVENT is not set

# CONFIG_ACPI_AC is not set

# CONFIG_ACPI_BATTERY is not set

CONFIG_ACPI_BUTTON=y

CONFIG_ACPI_VIDEO=y

# CONFIG_ACPI_FAN is not set

CONFIG_ACPI_DOCK=y

# CONFIG_ACPI_PROCESSOR is not set

# CONFIG_ACPI_CUSTOM_DSDT is not set

CONFIG_ACPI_BLACKLIST_YEAR=0

# CONFIG_ACPI_DEBUG is not set

CONFIG_ACPI_PCI_SLOT=y

# CONFIG_ACPI_CONTAINER is not set

# CONFIG_ACPI_SBS is not set

# CONFIG_ACPI_HED is not set

# CONFIG_ACPI_APEI is not set

CONFIG_PNPACPI=y

CONFIG_ATA_ACPI=y

# CONFIG_PATA_ACPI is not set

# ACPI drivers

# ACPI drivers

```

I do have a local.start with

```
ethtool -s eth1 wol g
```

so wake on lan is set at boot up.

But the server does not turn on when I send the magic packet.

----------

## avx

 *Quote:*   

> But the server does not turn on when I send the magic packet.

 How do you send it? In my experience, I had apps for that failing while others succeeded, even if the should send the same packet - at least in theory.

----------

## KWhat

acpitool -w reports all my devices as disabled, check and make sure wol is enabled in your bios for your card and issue a command similar to this.

/usr/sbin/wol XX:XX:XX:XX:XX:XX -i 192.168.1.255 

obviously replace XX:XX:XX:XX:XX:XX with the mac of the card your trying to wake and 192.168.1 with the class c bcast address.

I also noticed that you specified `ethtool eth0` followed by `ethtool -s eth1 wol g`  Is that a type-o or did you mess up what interface you specified in your start up script.

----------

## KayZee

 *Quote:*   

> 
> 
> I also noticed that you specified `ethtool eth0` followed by `ethtool -s eth1 wol g` Is that a type-o or did you mess up what interface you specified in your start up script.

 

Typo.  I have eth0 in the script.

```
/etc/local.d/start.local

ethtool -s eth1 wol g
```

I did not see any BIOS setting for wol or other power options.   I did find a Dell document saying the wol was supported on PE 1600SC.

----------

## Jaglover

In my box, the script has to have executable bit set and must have start extension to be run at start. And, you said it's typo but ... ethtool -s eth1 wol g?

----------

## KayZee

I keep making the typo.  I really do have eth0 in the script.  And its executable.  This is a cut and paste.  

```
partners9 local.d # ls -l

total 16

-rw-r--r-- 1 root root 387 Jul 30 14:04 README

-rwxr-xr-x 1 root root 123 Jun 24 14:27 baselayout1.start

-rwxr-xr-x 1 root root 217 Jun 24 14:27 baselayout1.stop

-rwxr-xr-x 1 root root  22 Aug 29 12:13 local.start

partners9 local.d # more local.start

ethtool -s eth0 wol g

partners9 local.d # 

```

We also see that "g" is set when checking with ethtool.

```

         Supports Wake-on: umbg

         Wake-on: g
```

I have tried the client tools wakeonlan,  wol and the wake on lan tool in my pfSense firewall,  Non of them wake up the server.

From a Dell document dated October 2007

Dell Servers that Support Wake-on-LAN

WOL is supported on the LOM(s) and in all slots with a WOL‐supported NIC

o PowerEdge 500

o PowerEdge 600 

o PowerEdge 1400

o PowerEdge 1600SC

LOM stands for LAN on Motherboad.  I am using the NIC on the motherboard of the PowerEdge 1600SC server.

I also have a PowerEdge 1950 and PowerEdge 1800 that I also want to use with WOL.  My initial testing with the PE 1950 also failed to wake it up.  It leads me wonder if I am missing something in my kernel.  Are there any kernel features that must be enabled for WOL to work?

----------

## johnnypowaa

Hello,

I'm not using currently a Gentoo. But I want to contribute to this (old) thread anyway.

One the same server, with the same network card it is perfectly working on a default Debian 7 distribution.

The linux kernel is a 3.2 :

root@uranus:~# uname -a

Linux uranus 3.2.0-4-686-pae #1 SMP Debian 3.2.60-1+deb7u1 i686 GNU/Linux

I used the script "wakeonlan". Maybe this is the difference.

Also, acpitool gives the following output:

root@uranus:~# acpitool -w

   Device       S-state   Status   Sysfs node

  ---------------------------------------

  1. PCI0         S5    *disabled  no-bus:pci0000:00

  2. RTC          S5    *enabled   pnp:00:08

  3. NIC          S5    *disabled

  4. PCI1         S5    *disabled  no-bus:pci0000:01

  5. PCI2         S5    *disabled  no-bus:pci0000:02

I hope this may help anyone.

Best Regards.

----------

## reisio

Just came across this problem after updating a system, inexplicably, IMO. I think what it comes down to is a change in how and when /etc/local.d/ (the local service?) is run.  Primarily, it seems that to ensure, for example, ethtool -s eth0 wol g is run as the system powers down, you would, at least on some systems, want to send the command from /etc/pm/sleep.d/ (run upon suspend) instead of /etc/local.d/foo.stop (run more vaguely, IMO, when the system is "stopped"). My guess is the vagueness of the latter approach has changed, which makes all the older instructions people find online to use local.d/foo.stop a bit annoying.

-rwxr-xr-x 1 root root 126 May  3 19:23 /etc/pm/sleep.d/50wol:

```
#!/bin/sh

case "$1" in

        hibernate|suspend)

                /usr/sbin/ethtool -s eth0 wol g

                ;;

        thaw|resume) 

                ;;

        *) exit $NA

                ;;

esac
```

----------

