#140 Libreboot 2016-09-07 on Thinkpad x200 7459-DV8 can't wake from sleep

Open
opened 3 years ago by mnd · 8 comments
mnd commented 3 years ago

I have ThinkPad X200 7459-DV8 with libreboot 2016-09-07 and it can't wake from sleep. I tried it with Ubuntu 16-04 liveusb and with installed GuixSD (with linux-libre 4.10.12).

My notebook can go to sleep with Fn+F4 (sleep button) and with closing lid, but it never wake. Sleep led light and screen disable. Only way to wake notebook is long press on power button to switch notebook off.

When I press buttons to wake notebook up it blink with "CapsLock" and "NumLock" leds and start cooler. Then led react on "NumLock", but text on console can't be printed and code like dmesg > before ; echo mem > /sys/power/state ; dmesg > after do not create "after" file. Same behavior with "rtcwake -s 1 -m mem".

All test modes selected through /sys/power/pm_test wakes correctly. After sleeping in testmode WiFi become hard blocked and can be unblocked only with reboot.

Additional info:

  1. acpidump output https://paste.pound-python.org/show/JcOFKesUXwhZgW6G5mbi/
  2. dmesg after echo core > pm_test https://paste.pound-python.org/show/7TOXgIKhlkpwQjopSYic/
  3. dmesg from next boot after sleep with enabled pm_trace https://paste.pound-python.org/show/ST8Ef8HzQNLKl8ZNqggl/
  4. dmesg after pm_trace with echo s2idle > /sys/power/mem_sleep https://paste.pound-python.org/show/EFkWwdVsOHhFsvYCnK9s/
  5. lspci https://paste.pound-python.org/show/QmmLYHcC3Iz39794t9kF/
I have ThinkPad X200 7459-DV8 with libreboot 2016-09-07 and it can't wake from sleep. I tried it with Ubuntu 16-04 liveusb and with installed GuixSD (with linux-libre 4.10.12). My notebook can go to sleep with Fn+F4 (sleep button) and with closing lid, but it never wake. Sleep led light and screen disable. Only way to wake notebook is long press on power button to switch notebook off. When I press buttons to wake notebook up it blink with "CapsLock" and "NumLock" leds and start cooler. Then led react on "NumLock", but text on console can't be printed and code like `dmesg > before ; echo mem > /sys/power/state ; dmesg > after` do not create "after" file. Same behavior with "rtcwake -s 1 -m mem". All test modes selected through `/sys/power/pm_test` wakes correctly. After sleeping in testmode WiFi become hard blocked and can be unblocked only with reboot. Additional info: 1. acpidump output https://paste.pound-python.org/show/JcOFKesUXwhZgW6G5mbi/ 2. dmesg after `echo core > pm_test` https://paste.pound-python.org/show/7TOXgIKhlkpwQjopSYic/ 3. dmesg from next boot after sleep with enabled pm_trace https://paste.pound-python.org/show/ST8Ef8HzQNLKl8ZNqggl/ 4. dmesg after pm_trace with `echo s2idle > /sys/power/mem_sleep` https://paste.pound-python.org/show/EFkWwdVsOHhFsvYCnK9s/ 5. lspci https://paste.pound-python.org/show/QmmLYHcC3Iz39794t9kF/

I recently had the same problem with my X200.

It doesn't make much sense, but the bug appears to have gone away for me after re-flashing a fresh copy of the rom (x200_8mb_usqwerty_vesafb.rom). I had tried reflashing the existing rom with different kernel settings in grub.cfg, but to no success. Only when I downloaded the rom fresh and copied over my existing settings with cbfstool did my X200 start resuming successfully from sleep.

Just a heads up with my own experience, in case it helps.

I recently had the same problem with my X200. It doesn't make much sense, but the bug appears to have gone away for me after re-flashing a fresh copy of the rom ([x200_8mb_usqwerty_vesafb.rom](https://mirror.math.princeton.edu/pub/libreboot/stable/20160907/rom/grub/)). I had tried reflashing the existing rom with different kernel settings in grub.cfg, but to no success. Only when I downloaded the rom fresh and copied over my existing settings with cbfstool did my X200 start resuming successfully from sleep. Just a heads up with my own experience, in case it helps.
mnd commented 3 years ago
Poster

Looks like it works now. I re-flash libreboot several times in a row (with original grub.cfg and with one from my system) but it did not worked.

Finally I re-flash libreboot with flashrom v0.9.7-r1858 from libreboot-2015-01-26 instead of v0.9.9-unknown from libreboot_r20160907_util (I used ./flash script) and sleep somehow start to work.

Working dmesg attached https://paste.pound-python.org/show/llVDTkt2KjPyECxgCmH3/

Looks like it works now. I re-flash libreboot several times in a row (with original grub.cfg and with one from my system) but it did not worked. Finally I re-flash libreboot with flashrom v0.9.7-r1858 from libreboot-2015-01-26 instead of v0.9.9-unknown from libreboot_r20160907_util (I used ./flash script) and sleep somehow start to work. Working dmesg attached https://paste.pound-python.org/show/llVDTkt2KjPyECxgCmH3/
mnd commented 3 years ago
Poster

It still fail to wake one time from three

It still fail to wake one time from three
mnd reopened 3 years ago
gvJaime commented 3 years ago

I can confirm this bug too. I have that very same Thinkpad and it fails to wake up about 50% of the time. After hard-poweroff, sometimes it takes a while until I can start it again. I just sits there with some of the lights on.

I can also confirm that dmesg doesn't generate any messages after sleeping when the error occurs.

My specs: -Thinkpad x200 7459-DV8 (the one with the P8600 right?) -Libreboot 20160907 grub image. 8MiB -Parabola Linux-libre.

I can confirm this bug too. I have that very same Thinkpad and it fails to wake up about 50% of the time. After hard-poweroff, sometimes it takes a while until I can start it again. I just sits there with some of the lights on. I can also confirm that dmesg doesn't generate any messages after sleeping when the error occurs. My specs: -Thinkpad x200 7459-DV8 (the one with the P8600 right?) -Libreboot 20160907 grub image. 8MiB -Parabola Linux-libre.
gvJaime commented 3 years ago

A little note. It seems like the way you go sleep counts.

I've been putting the laptop to sleep via keyboard (Fn + F4(moon)) these days, and it correctly wakes up. But when I do it by closing the lid, it fails.

A little note. It seems like the way you go sleep counts. I've been putting the laptop to sleep via keyboard (Fn + F4(moon)) these days, and it correctly wakes up. But when I do it by closing the lid, it fails.
Andrew Robbins commented 3 years ago
Collaborator

I stumbled upon a patch Arthur Heymans made to Coreboot that addresses a resume from S3 suspend issue, which is what this sounds like. I can't test it (don't have the hardware), so someone else will need to do so.

Here's the link: https://review.coreboot.org/17996

I stumbled upon a patch Arthur Heymans made to Coreboot that addresses a resume from S3 suspend issue, which is what this sounds like. I can't test it (don't have the hardware), so someone else will need to do so. Here's the link: https://review.coreboot.org/17996
Swift Geek commented 3 years ago
Collaborator

While it fixes broken resume, S3 is still broken. Also patch is merged so we will have that next time we update coreboot

While it fixes broken resume, S3 is still broken. Also patch is merged so we will have that next time we update coreboot
mnd commented 3 years ago
Poster

Here's the link: https://review.coreboot.org/17996

I checked it. CHECK_SLFRCS_ON_RESUME disabled by default for x200 motherboard. Applying patch to sources fetched by libreboot scripts change nothing.

> Here's the link: https://review.coreboot.org/17996 I checked it. `CHECK_SLFRCS_ON_RESUME` disabled by default for x200 motherboard. Applying patch to sources fetched by libreboot scripts change nothing.
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.