LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Laptop and Netbook (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/)
-   -   Suspend and hibernate does not work on Debian buster on Asus UX501V notebook (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/suspend-and-hibernate-does-not-work-on-debian-buster-on-asus-ux501v-notebook-4175675831/)

forgi007 05-24-2020 05:08 PM

Suspend and hibernate does not work on Debian buster on Asus UX501V notebook
 
Hello everybody,

My machine wakes up immediately after suspend, how could I fix it?

I use this kernel:
```
uname -a
Linux asus 5.5.0-0.bpo.2-amd64 #1 SMP Debian 5.5.17-1~bpo10+1 (2020-04-23) x86_64 GNU/Linux
```

My display manager is lightdm. It is an Asus laptop with 2 graphics card: nvidia+i915, nvidia drivers are not installed.

There is no acpi switches on kernel boot, the boot command line from grub config is:
```
GRUB_CMDLINE_LINUX="splash quiet"
```

And below is the related sys.log part after suspend-immediate-wake-up. Thank you for your time and help in advance!
```
ADDRCONF(NETDEV_CHANGE): docker0: link becomes ready
[ 1438.780706] PM: suspend entry (deep)
[ 1438.793608] Filesystems sync: 0.012 seconds
[ 1438.793816] (NULL device *): firmware: direct-loading firmware regulatory.db
[ 1438.793835] (NULL device *): firmware: direct-loading firmware regulatory.db.p7s
[ 1438.793858] (NULL device *): firmware: direct-loading firmware intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq
[ 1438.793999] (NULL device *): firmware: direct-loading firmware iwlwifi-7265D-29.ucode
[ 1438.794140] (NULL device *): firmware: direct-loading firmware i915/skl_dmc_ver1_27.bin
[ 1438.794201] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 1438.796072] OOM killer disabled.
[ 1438.796073] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 1438.797244] printk: Suspending console(s) (use no_console_suspend to debug)
[ 1438.797474] wlp3s0: deauthenticating from a4:2b:b0:c7:33:dd by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1438.816608] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 1438.816694] sd 0:0:0:0: [sda] Stopping disk
[ 1439.937624] ACPI: EC: interrupt blocked
[ 1440.022830] ACPI: Preparing to enter system sleep state S3
[ 1440.037416] ACPI: EC: event blocked
[ 1440.037418] ACPI: EC: EC stopped
[ 1440.037419] PM: Saving platform NVS memory
[ 1440.037591] Disabling non-boot CPUs ...
[ 1440.039431] smpboot: CPU 1 is now offline
[ 1440.045183] smpboot: CPU 2 is now offline
[ 1440.051309] smpboot: CPU 3 is now offline
[ 1440.058330] smpboot: CPU 4 is now offline
[ 1440.063752] smpboot: CPU 5 is now offline
[ 1440.068324] smpboot: CPU 6 is now offline
[ 1440.072322] smpboot: CPU 7 is now offline
[ 1440.077137] ACPI: Low-level resume complete
[ 1440.077222] ACPI: EC: EC started
[ 1440.077222] PM: Restoring platform NVS memory
[ 1440.079735] Enabling non-boot CPUs ...
[ 1440.079768] x86: Booting SMP configuration:
[ 1440.079769] smpboot: Booting Node 0 Processor 1 APIC 0x2
[ 1440.081960] CPU1 is up
[ 1440.081981] smpboot: Booting Node 0 Processor 2 APIC 0x4
[ 1440.083770] CPU2 is up
[ 1440.083788] smpboot: Booting Node 0 Processor 3 APIC 0x6
[ 1440.085590] CPU3 is up
[ 1440.085607] smpboot: Booting Node 0 Processor 4 APIC 0x1
[ 1440.086319] CPU4 is up
[ 1440.086340] smpboot: Booting Node 0 Processor 5 APIC 0x3
[ 1440.086930] CPU5 is up
[ 1440.086947] smpboot: Booting Node 0 Processor 6 APIC 0x5
[ 1440.087566] CPU6 is up
[ 1440.087585] smpboot: Booting Node 0 Processor 7 APIC 0x7
[ 1440.088207] CPU7 is up
[ 1440.090643] ACPI: Waking up from system sleep state S3
[ 1440.101855] ACPI: EC: interrupt unblocked
[ 1440.102061] pcieport 0000:00:1c.4: Intel SPT PCH root port ACS workaround enabled
[ 1440.119646] pcieport 0000:00:1c.0: Intel SPT PCH root port ACS workaround enabled
[ 1440.119648] pcieport 0000:00:1c.2: Intel SPT PCH root port ACS workaround enabled
[ 1441.251396] pci 0000:01:00.0: Enabling HDA controller
[ 1441.253644] ACPI: EC: event unblocked
[ 1441.254466] sd 0:0:0:0: [sda] Starting disk
[ 1441.523504] usb 1-9: reset full-speed USB device number 5 using xhci_hcd
[ 1441.614073] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1441.614106] ata2: SATA link down (SStatus 4 SControl 300)
[ 1441.614135] ata3: SATA link down (SStatus 4 SControl 300)
[ 1441.614324] ata1.00: supports DRM functions and may not be fully accessible
[ 1441.616029] ata1.00: disabling queued TRIM support
[ 1441.617271] ata1.00: supports DRM functions and may not be fully accessible
[ 1441.617924] ata1.00: disabling queued TRIM support
[ 1441.618856] ata1.00: configured for UDMA/133
[ 1441.628933] ahci 0000:00:17.0: port does not support device sleep
[ 1441.807671] usb 1-1: reset high-speed USB device number 2 using xhci_hcd
[ 1442.183823] usb 1-4: reset high-speed USB device number 3 using xhci_hcd
[ 1442.273034] OOM killer enabled.
[ 1442.273036] Restarting tasks ... done.
[ 1442.293905] PM: suspend exit
```

The Squash 06-19-2020 05:37 PM

Some laptops have this amazingly annoying tendency to either refuse to suspend unless the screen / lid is shut, or sometimes wake up from suspend when the lid is shut. Which one are you doing?

forgi007 06-22-2020 05:04 PM

1 Attachment(s)
Thank you for your time!

It wakes up if the lid is shut and also when it is open. I have attached the /var/log/pm-suspend.log after

Code:

PM_DEBUG="true" pm-suspend
/etc/systemd/logind.conf is also attached.

The Squash 06-24-2020 08:08 PM

So it looks like the system goes to sleep for a few seconds, then wakes up. Here's some thoughts.

First off, would it be possible to try this same experiment (suspending the computer) with a different distribution, preferably not Debian or something Debian-based, possibly a live CD or the like? If it only appears in Debian, then it's worthy of a Debian bug report. If not, either there's a long-running kernel bug (or other bug), or it's a hardware fault.

Second, what devices do you have attached to this laptop? I've heard a few reports of beacon signals from wireless routers waking laptops up from suspend if the laptop was connected to a wireless network at the time of suspend, or if the laptop has a specially configured wireless receiver attached. Bluetooth devices are also known problems. I used to have problems with the hyper-sensitivity of the lid switch on my old laptop (so old you could see and touch the switch), but if this happens no matter what position the switch is in, I don't think it's a lid switch problem.

Third, so this fails even for hibernate mode? Hibernation (suspend state S4) is almost identical to shutdown (suspend state S5), but some systems can be woken up from one state but not the other due to external devices. Please upload the contents of the file /proc/acpi/wakeup -- it lists (most of) the devices authorized to wake the system up, and what sleep state they can wake the system up from. So a line like this (excerpt from my own /proc/acpi/wakeup file):
Code:

PS2K          S4        *enabled  pnp:00:08
...would indicate that I can tap on a key on the keyboard and wake the computer up, even in hibernate mode. But in system shutdown mode, I could not wake the computer up using the keyboard -- I'd have to refer to the trusty (and rusty -- this system's pretty old now) power button, or...
Code:

UAR1          S5        *disabled  pnp:00:05
...the trusty serial port, which as you can see right now I can't wake the system up using the serial port; to enable that, I'd use:
Code:

echo UAR1 > /proc/acpi/wakeup
...as root.

Finally, I'll note that some laptops that I've seen will immediately wake up from suspend if the battery starts to run low. Is the battery charged up?

forgi007 06-29-2020 04:06 PM

1 Attachment(s)
Hi,

Disabling XHC in /proc/acpi/wakeup has solved the issue, temporarily (after reboot notebook wakes up again from suspend).

Code:

sudo -s
echo XHC > /proc/acpi/wakeup

Answering (at least some of) your questions: hibernation was working properly, but from suspend, the machine was always waking up in a second, even in that case if there was no external peripheral connected to the notebook. These were the enabled devices in my /proc/acpi/wakeup:

Code:

Device        S-state          Status  Sysfs node
PEG0          S4        *enabled  pci:0000:00:01.0
RP02          S4        *enabled  pci:0000:00:1c.0
RP03          S4        *enabled  pci:0000:00:1c.2
XHC          S3        *enabled  pci:0000:00:14.0
SLPB          S4        *enabled  platform:PNP0C0E:00

$ lspci -vv |grep -A 20 00:14.0
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31) (prog-if 30 [XHCI])
        Subsystem: ASUSTeK Computer Inc. 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 131
        Region 0: Memory at dd310000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [70] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
                Address: 00000000fee00378  Data: 0000
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci

To make the fix permanent I have tried to add udev rule for entries in lsusb -t, which has used xhci, like this:

Code:

$ cat /etc/udev/rules.d/xhc.rules
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="1d6b", ATTR{power/wakeup}="disabled"


$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 4: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 4: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 3, If 2, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 6: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 9: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 9: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0a2a Intel Corp.
Bus 001 Device 003: ID 045e:07b2 Microsoft Corp. 2.4GHz Transceiver v8.0 used by mouse Wireless Desktop 900
Bus 001 Device 002: ID 04f2:b3fd Chicony Electronics Co., Ltd HD WebCam (Asus N-series)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

But it is not working for me.

Thank you very much for your help!

The Squash 07-03-2020 06:15 PM

Sorry I didn't get back to you sooner. I'm glad you're on to something.

In your udev rule, try deleting the
Code:

DRIVERS=="usb"
There is no such driver called "usb", as far as I know.

forgi007 07-05-2020 03:59 PM

No worries, thank you for your help!

Deleting
Quote:

DRIVERS=="usb"
does not help. Also, I have recognized that there might be a better solution than disabling wakeup for the entire usb hub (I might want to get the machine wake up from external usb keyboard later). So, what is your opinion, shall I put
Quote:

echo XHC > /proc/acpi/wakeup
into some startup script or shall I try to make udev rules for not the usb hub, but for all the devices connected to the usb hub (then prevent wakeup only for the problematic one finally).. or is there a better/different way?


All times are GMT -5. The time now is 05:34 PM.