OK, I've made some progress: Now at least WoL works on suspend (ACPI mode S3).
Here's what I did:
- Find the devices that can resume the computer:
Code:
gustavo@paris:~$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
LID S3 *enabled
PBTN S4 *enabled
PCI0 S3 disabled no-bus:pci0000:00
USB0 S0 disabled pci:0000:00:1d.0
USB1 S0 disabled pci:0000:00:1d.1
USB2 S0 disabled pci:0000:00:1d.2
USB3 S0 disabled pci:0000:00:1d.3
EHCI S0 disabled pci:0000:00:1d.7
AZAL S3 disabled pci:0000:00:1b.0
PCIE S4 disabled pci:0000:00:1e.0
RP01 S4 disabled pci:0000:00:1c.0
RP02 S3 disabled
RP03 S3 disabled
RP04 S3 disabled pci:0000:00:1c.3
RP05 S3 disabled
RP06 S3 disabled
- Find which of those devices is my Ethernet card:
Code:
gustavo@paris:~$ lspci -tv
-[0000:00]-+-00.0 Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub
+-02.0 Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller
+-02.1 Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller
+-1b.0 Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller
+-1c.0-[0000:0b]----00.0 Broadcom Corporation BCM4311 802.11b/g WLAN
+-1c.3-[0000:0c-0d]--
+-1d.0 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1
+-1d.1 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2
+-1d.2 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3
+-1d.3 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4
+-1d.7 Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller
+-1e.0-[0000:03]--+-00.0 Broadcom Corporation BCM4401-B0 100Base-TX
| +-01.0 Ricoh Co Ltd R5C832 IEEE 1394 Controller
| +-01.1 Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
| +-01.2 Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter
| \-01.3 Ricoh Co Ltd xD-Picture Card Controller
+-1f.0 Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge
+-1f.2 Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller
\-1f.3 Intel Corporation 82801G (ICH7 Family) SMBus Controller
- Enable it for WoL (it is "PCIE" in my case):
Code:
sudo sh -c "echo PCIE > /proc/acpi/wakeup"
Then it should be enabled for WoL:
Code:
gustavo@paris:~$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
LID S3 *enabled
PBTN S4 *enabled
PCI0 S3 enabled no-bus:pci0000:00
USB0 S0 disabled pci:0000:00:1d.0
USB1 S0 disabled pci:0000:00:1d.1
USB2 S0 disabled pci:0000:00:1d.2
USB3 S0 disabled pci:0000:00:1d.3
EHCI S0 disabled pci:0000:00:1d.7
AZAL S3 disabled pci:0000:00:1b.0
PCIE S4 enabled pci:0000:00:1e.0
RP01 S4 disabled pci:0000:00:1c.0
RP02 S3 disabled
RP03 S3 disabled
RP04 S3 disabled pci:0000:00:1c.3
RP05 S3 disabled
RP06 S3 disabled
Finally, suspend it:
And "wake" it from another device on your network:
Code:
wakeonlan -i $IP-Address-Of-Your-Suspended-Computer $MAC-Address-Of-Your-NIC
Now the challenge is to make it work with hibernation and soft off.
HTH.
Bookmarks