Correction and new findings.

Ignore my earlier PME-Enable theory: the kernel DOES arm the NIC
correctly. Reading lspci immediately after a keyboard-wake shows
"PME-Enable+" on the NIC, which is then cleared on resume. The
"PME-Enable-" seen while the system is up is normal.

The actual finding: the NIC generates a PME on the magic packet while
in s2idle, the root port receives it, but the system does not wake.

  before suspend:  IRQ 125 count = 4
  (suspend, send magic packet, no wake, wake via USB keyboard instead)
  after resume:    IRQ 125 count = 5

  125: ... IR-PCI-MSI-0000:00:1c.0 0-edge  PCIe PME, aerdrv, PCIe bwctrl

  lspci -s 00:1c.0 -vvv
    RootCtl: ... PMEIntEna+ CRSVisible-
    RootSta: PME ReqID 5600, PMEStatus- PMEPending-

5600 = 0000:56:00.0, the igc NIC. So the wake event is generated and
counted, but it does not bring the system out of s2idle - the interrupt
appears to be serviced only once the system is awake for another reason.
This looks like the PCIe PME interrupt not acting as a wakeup source in
s2idle on this platform, rather than an igc problem.

Root port 00:1c.0 is enabled as a wakeup source
(/sys/bus/pci/devices/0000:00:1c.0/power/wakeup = enabled), as is the
NIC. Neither pcie_pme=nomsi nor pcie_ports=compat changes anything.

Hardware: ASUS NUC 15 (NUC15CR, latest BIOS), Intel I226-V / igc,
kernel 7.0.0-38-generic.

  State     | USB keyboard wake | magic packet wake
  ----------|-------------------|-------------------
  S5        | works             | works
  s2idle    | works             | fails (PME generated, no wake)
  deep (S3) | broken            | broken

Separate issue: mem_sleep=deep is broken independently of WoL - any
wake attempt powers the machine off instead of resuming.

Also at boot: "_OSC: OS now controls [... PME ...]" and
"pcieport 0000:00:1c.0: PME: Spurious native interrupt!".
Hope it helps

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171282

Title:
  Wake-on-LAN from s2idle does not work on ASUS NUC 15 (Intel I226-V,
  igc); wake from S5 and USB wake from s2idle both work

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2171282/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to