Comment 81 for bug 160413

Revision history for this message
In , bonbons (bonbons-linux-kernel-bugs) wrote :

I found out more:

I need to toggle the wol state using ethtool AND enable item 7 (PCI2PCI bridge which enables root PCI node) using acpitool to get WoL working.

   Device S-state Status Sysfs node
  ---------------------------------------
  1. SLPB S5 *enabled
  2. PCI0 S5 enabled no-bus:pci0000:00
  3. USB1 S3 disabled pci:0000:00:10.0
  4. USB2 S3 disabled pci:0000:00:10.1
  5. USB3 S3 disabled pci:0000:00:10.2
  6. EHCI S3 disabled pci:0000:00:10.4
  7. P2PB S5 enabled pci:0000:00:13.1
  8. UAR1 S5 disabled pnp:00:07
  9. PS2K S5 disabled pnp:00:09
  10. AZAC S5 disabled pci:0000:80:01.0

In this case WoL works in S3 (multiple S3 cycles work) or after shutdown.
After reboot configuration MUST happen once again as it gets forgotten! (on both ACPI and RTL8169 sides - even though ethtool still shows previous WoL config)

A solution possibly would be to do all of the following:
- r8169 driver explicitely reconfigures WoL config it read during initialization
- r8169 enables ACPI wakeup for all PCI bridges above its card in PCI hierarchy if WoL is enabled

PS: forgot to mention in previous post, I'm running vanilla 2.6.24 with Rafael's patches 1-11 (ref in http://lkml.org/lkml/2008/1/27/292 ) and squashfs.