Bug 181358 - [suspend/resume] Suspend to RAM not working correctly on Lenovo X121e (ACPI issue?)
Summary: [suspend/resume] Suspend to RAM not working correctly on Lenovo X121e (ACPI i...
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: amd64 (show other bugs)
Version: 10.0-CURRENT
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-amd64 (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-17 19:40 UTC by Matthias Petermann
Modified: 2022-01-24 19:25 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Petermann 2013-08-17 19:40:00 UTC
LCD remains dark after resume from suspend to ram (S3). 

I have FreeBSD 10.0-CURRENT installed permanently to my X121e and am willing to test / investigate at any time. Please advise if there is anything I could provide right now.

The affected model is a Lenovo X121e (Model 3045-79G, i3, HD3000). Details:

http://www.petermann-it.de/files/freebsd-pr-x121e-acpi/dmesg.txt
http://www.petermann-it.de/files/freebsd-pr-x121e-acpi/devinfo.txt
http://www.petermann-it.de/files/freebsd-pr-x121e-acpi/mpeterma-lenovo_x121e_i3.asl
http://www.petermann-it.de/files/freebsd-pr-x121e-acpi/sysctl_hw_acpi.txt

How-To-Repeat: # Supported Sleep states as reported by sysctl

   root@thinkpad:/usr/home/mpeterma # sysctl -a |grep supported
   hw.acpi.supported_sleep_state: S3 S4 S5

# S3, hw.acpi.reset_video=0

   root@thinkpad:/usr/home/mpeterma # sysctl hw.acpi.reset_video=0
    hw.acpi.reset_video: 0 -> 0
   root@thinkpad:/usr/home/mpeterma # acpiconf -s 3

Result: System suspends, no video after resume, black screen

# S3, hw.acpi.reset_video=1

   root@thinkpad:/usr/home/mpeterma # sysctl hw.acpi.reset_video=1
   hw.acpi.reset_video: 0 -> 1
   root@thinkpad:/usr/home/mpeterma # acpiconf -s 3

Result: system reboots immediately

# Adding more debug output

In ACPI Debugging guide it is recommended to recompile the ACPI module 
with additional debug mode. Anyway, when I try so, I get a warning:

   root@thinkpad:/home/mpeterma # cd /sys/modules/acpi/acpi
   root@thinkpad:/sys/modules/acpi/acpi # make clean
   make: "/usr/src/sys/modules/acpi/acpi/Makefile" line 4: "The ACPI 
module is deprecated, set FORCE_BUILD to force it"
   root@thinkpad:/sys/modules/acpi/acpi #

Is this still the way to go, or doesn't the guide reflect the state of 
FreeBSD 10?
Comment 1 Matthias Petermann 2013-08-24 20:31:03 UTC
Today I did one further test. Following the guide [1] I tried:

$ sysctl debug.acpi.suspend_bounce=1
$ acpiconf -s 3

I ended up with a blank screen (LCD backlight was on).

[1] https://wiki.freebsd.org/SuspendResume
Comment 2 Matthias Petermann 2013-08-24 22:38:29 UTC
Hello,

regarding the issue mentioned in the subject (Lenovo Thinkpad X121e not 
able to resume after suspend to ram) there is finally some progress. I 
found this few months old discussion[1] on freebsd-acpi (related to 
Thinkpad X201):

"I had a similar problem. After syncing with FreeBSD 10-CURRENT and 
compiling a kernel without
VESA support, I was able to get graphics to work on resume, but only 
when running X. "

This works for the X121e too! It is now able to suspend and resume 
properly when running Xorg (with i915kms.ko). I'm really happy :-)

There is only a (very minor) problem: after the first resume Xorg 
graphics seem to slow down. When moving windows on the screen they leave 
some traces behind and it takes some milliseconds until they are wiped 
away and replaced with the background image.

Kind regards,
Matthias


[1]

http://freebsd.1045724.n5.nabble.com/Resume-failed-after-Suspend-on-Thinkpad-x201i-td5723622.html
Comment 3 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 07:58:38 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped
Comment 4 Stefan B. 2022-01-24 19:25:13 UTC
Close this PR, please.
Has been fixed, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253733#c6