On 15.03.2018 06:40, Chris Chiu wrote:
Hi, I have a ASUS AIO V222GA and another Acer Desktop XC-830 both have Intel CPU J5005 and they both hit the same problem. The XHCI connected USB keyboard/mouse can never wakeup the system from suspend. It reminds me that similiar thing happens on ApolloLake too which needs the XHCI_PME_STUCK_QUIRK to get it work. It's also mentioned in https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/pentium-celeron-n-series-spec-update.pdf page #14 for N-seris intel CPU. And I also find the same problem description in https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/silver-celeron-spec-update.pdf page #16 for J-series Intel CPU. Seems that they have different workaround so I can not simply apply XHCI_PME_STUCK_QUIRK to make it work.Anyone can help here?
N-Series CHP8: USB xHCI Controller May Not Re-Enter D3 State After a USB Wake Event - needs XHCI_PME_STUCK_QUIRK in driver (sets bit 28 at offset 80a4) Intel® Pentium® Silver N5000 Intel® Pentium® Silver J5005 Intel® Celeron® N4000 and N4100 Intel® Celeron® J4105 and J4005 USB xHCI Controller May Not Re-enter a D3 State After a USB Wake Even Need to clear PME_EN bit of of the standard PCI PM_CSR register. I think Linux does this anyway (clears enabling PME when reaching D0) So if I remember correct there was no specific workaround needed for this. what is the PCI ID of your xhci controller? (lspci -nn) One other possible cause is that xHCI never reaches PCI device D3 suspend state during system suspend. xHC can't generate PME# wake event from normal running PCI device D0 state. PCI code in Linux will check with ACPI about the lowest possible D state when suspending, If there is something missing from the xHCI entry in ACPI DSDT table it might select D0. as the suspend state, causing wake failure. Is there a BIOS update available for your ASUS and Acer? -Mathias

