You are not logged in.

#1 2018-04-13 10:41:18

george55
Member
Registered: 2011-08-10
Posts: 68

Intel i915: screen does not turn on after suspending

Suspend used to work just fine on my laptop but since a recent update I am encountering an issue. After I wake the laptop from suspend, the screen doesn't come on. Everything else _seems_ to turn on just fine, but no image on the screen. I end up having to force a shutdown in order to get my screen back. Reviewing my journal, this line stands out:

Apr 13 07:05:04 george kernel: [drm:intel_display_resume [i915]] *ERROR* Restoring old state failed with -22

I've tried googling this but came up empty. Anyone any experience dealing with this kind of error?

Last edited by george55 (2018-04-23 08:22:24)

Offline

#2 2018-04-20 05:04:20

george55
Member
Registered: 2011-08-10
Posts: 68

Re: Intel i915: screen does not turn on after suspending

I've done some monitoring over the last week. This problem still exists and at this point I'm continuously shutting down my laptop instead of suspending it, due to this problem. However, there is one "fix" that I have found. If I have woken the laptop, and I am facing the black screen, I can use an HDMI cable to wake it up. What I have to do is plug an HDMI cable in (one that is connected to a TV, for instance), and just the act of plugging it in will "wake up" the screen. It is very odd but it works. Problem, of course, is that I can't carry a tv around wherever I go so this is not a permanent solution.

Here is some more debugging code.

Typical journal entries when waking up from suspend:

Apr 19 18:55:08 george kernel: PM: Syncing filesystems ... done.
Apr 19 18:55:08 george kernel: Freezing user space processes ... (elapsed 0.001 seconds) done.
Apr 19 18:55:08 george kernel: OOM killer disabled.
Apr 19 18:55:08 george kernel: Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Apr 19 18:55:08 george kernel: Suspending console(s) (use no_console_suspend to debug)
Apr 19 18:55:08 george kernel: wlp1s0: deauthenticating from 51:b7:bf:0a:bc:63 by local choice (Reason: 3=DEAUTH_LEAVING)
Apr 19 18:55:08 george kernel: sd 0:0:0:0: [sda] Synchronizing SCSI cache
Apr 19 18:55:08 george kernel: sd 0:0:0:0: [sda] Stopping disk
Apr 19 18:55:08 george kernel: wlp1s0: failed to remove key (1, ff:ff:ff:ff:ff:ff) from hardware (-22)
Apr 19 18:55:08 george kernel: ACPI: Preparing to enter system sleep state S3
Apr 19 18:55:08 george kernel: ACPI: EC: event blocked
Apr 19 18:55:08 george kernel: ACPI: EC: EC stopped
Apr 19 18:55:08 george kernel: PM: Saving platform NVS memory
Apr 19 18:55:08 george kernel: Disabling non-boot CPUs ...
Apr 19 18:55:08 george kernel: smpboot: CPU 1 is now offline
Apr 19 18:55:08 george kernel: ACPI: Low-level resume complete
Apr 19 18:55:08 george kernel: ACPI: EC: EC started
Apr 19 18:55:08 george kernel: PM: Restoring platform NVS memory
Apr 19 18:55:08 george kernel: Enabling non-boot CPUs ...
Apr 19 18:55:08 george kernel: x86: Booting SMP configuration:
Apr 19 18:55:08 george kernel: smpboot: Booting Node 0 Processor 1 APIC 0x2
Apr 19 18:55:08 george kernel:  cache: parent cpu1 should not be sleeping
Apr 19 18:55:08 george kernel: CPU1 is up
Apr 19 18:55:08 george kernel: ACPI: Waking up from system sleep state S3
Apr 19 18:55:08 george kernel: ACPI: EC: event unblocked
Apr 19 18:55:08 george kernel: [drm:intel_display_resume [i915]] *ERROR* Restoring old state failed with -22
Apr 19 18:55:08 george kernel: sd 0:0:0:0: [sda] Starting disk
Apr 19 18:55:08 george kernel: usb 1-7: reset high-speed USB device number 5 using xhci_hcd
Apr 19 18:55:08 george kernel: ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Apr 19 18:55:08 george kernel: ata1.00: configured for UDMA/133
Apr 19 18:55:08 george kernel: usb 1-3: reset high-speed USB device number 2 using xhci_hcd
Apr 19 18:55:08 george kernel: OOM killer enabled.
Apr 19 18:55:08 george systemd-logind[266]: Lid opened.
Apr 19 18:55:08 george dhcpcd[14830]: wlp1s0: carrier lost
Apr 19 18:55:08 george kernel: Restarting tasks ... done.
Apr 19 18:55:08 george kernel: PM: suspend exit
Apr 19 18:55:08 george systemd-sleep[25353]: System resumed.
Apr 19 18:55:08 george systemd[1]: Started Suspend.
Apr 19 18:55:08 george systemd[1]: sleep.target: Unit not needed anymore. Stopping.
Apr 19 18:55:08 george systemd[1]: Stopped target Sleep.
Apr 19 18:55:08 george systemd[1]: Reached target Suspend.
Apr 19 18:55:08 george systemd[1]: suspend.target: Unit not needed anymore. Stopping.
Apr 19 18:55:08 george systemd[1]: Stopped target Suspend.
Apr 19 18:55:08 george systemd-logind[266]: Operation 'sleep' finished.
Apr 19 18:55:08 george wicd[271]: sending signal ALRM to pid 14830
Apr 19 18:55:08 george wicd[271]: waiting for pid 14830 to exit
Apr 19 18:55:08 george dhcpcd[25410]: sending signal ALRM to pid 14830
Apr 19 18:55:08 george dhcpcd[25410]: waiting for pid 14830 to exit
Apr 19 18:55:08 george dhcpcd[14830]: wlp1s0: deleting route to 192.168.178.0/24
Apr 19 18:55:08 george dhcpcd[14830]: wlp1s0: deleting default route via 192.168.178.1
Apr 19 18:55:08 george dhcpcd[14830]: received SIGALRM, releasing
Apr 19 18:55:08 george dhcpcd[14830]: wlp1s0: removing interface
Apr 19 18:55:08 george dhcpcd[14830]: dhcpcd exited
Apr 19 18:55:08 george kernel: IPv6: ADDRCONF(NETDEV_UP): wlp1s0: link is not ready

And here VGA card details:

$ lspci -vnn | grep VGA -A 12
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics [8086:1606] (rev 08) (prog-if 00 [VGA controller])
	Subsystem: Intel Corporation HD Graphics [8086:1606]
	Flags: bus master, fast devsel, latency 0, IRQ 46
	Memory at e0000000 (64-bit, non-prefetchable) [size=16M]
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 1800 [size=64]
	[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
	Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [a4] PCI Advanced Features
	Kernel driver in use: i915
	Kernel modules: i915

I used the latest kernel before but changed it to LTS after this problem arose:

$ uname -a Linux george 4.14.34-1-lts #1 SMP Thu Apr 12 20:30:09 CEST 2018 x86_64 GNU/Linux

Is there anyone who has an idea what this can be?

Last edited by george55 (2018-04-20 05:15:08)

Offline

#3 2018-04-23 08:21:41

george55
Member
Registered: 2011-08-10
Posts: 68

Re: Intel i915: screen does not turn on after suspending

Alternative question: is there perhaps someone who knows other ways to debug this problem? I am not sure what else I can review other than the journal logs that may have any relevance to this problem.

Offline

#4 2018-05-02 22:36:28

projectgus
Member
Registered: 2016-05-17
Posts: 8

Re: Intel i915: screen does not turn on after suspending

Hi George,

For what it's worth I get the same, I've seen something like this very intermittently over the past couple of years but very regularly since a couple of kernel updates ago (since 4.16 or late 4.15 series kernels, currently seeing it on 4.16.5). I have a different Intel card (Skylake GT2 [HD Graphics 520]) but the same driver and error message.

In my case, it's usually triggered by unplugging an external monitor (mine is connected via USB Type C DisplayPort Alt Mode). Either disconnected while the laptop was in suspend or a few seconds before going into suspend.

Google shows a few other reports, and a possible workaround (on Red Hat) of explicitly forcing a mode change after wake:
https://bugzilla.redhat.com/show_bug.cgi?id=1506879
https://unix.stackexchange.com/question … -unsuspend

Offline

#5 2018-05-02 23:58:34

loqs
Member
Registered: 2014-03-06
Posts: 17,371

Re: Intel i915: screen does not turn on after suspending

What was the last kernel without the issue?  Can you bisect between the known good and bad kernels?  You could also try 4.17-rc3.

Online

#6 2018-05-05 00:47:51

george55
Member
Registered: 2011-08-10
Posts: 68

Re: Intel i915: screen does not turn on after suspending

Thanks a lot for the replies.

I have tried to workaround suggested in the other threads, but they don't have any impact. The screen remains black. Previously, I had other issues with the kernel (screen remained black even after booting). So I have held back my kernel at 4.12.8. That version works well. Given that is is pretty old, I upgraded the kernel recently and that is when all this started. I now have 4.14.39-1-lts which is giving issues. It's tricky to go back and bisect as older kernels take away my ability to boot completely (no way to get the screen going other than hooking it up to an external monitor, which I don't have at hand at the moment).

I did find out one more curiosity. If I use arandr to activate a secondary screen, something odd happens. If I activate a second screen, then my laptop's screen suddenly shows a ton of different resolutions (many more than it actually supports, including incredibly high resolutions). When I try to set _any_ of those resolutions, this invariably fails. I do not see those weird resolutions when I am NOT connected to a second screen.

As I have no second screen around at the moment I can't provide further details, but that's the only thing that stood out.

Offline

#7 2018-05-05 13:33:07

loqs
Member
Registered: 2014-03-06
Posts: 17,371

Re: Intel i915: screen does not turn on after suspending

4.12.28 is the last kernel that can boot without requiring an external display that issue affects 4.13,4.14,4.15,4.16,4.17-rc3?

Online

#8 2018-05-06 06:57:09

george55
Member
Registered: 2011-08-10
Posts: 68

Re: Intel i915: screen does not turn on after suspending

I am not sure which of the subsequent kernels are affected. 4.13 gave me problems so at that moment I downgraded to 4.12.28. I am not able to easily upgrade to another kernel because I don't have a second monitor and risk not having a screen available and thus being unable to downgrade again. In a week I can try again with a second screen. If there are any ideas in the meantime let me know.

Offline

Board footer

Powered by FluxBB