cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
millerdc
Paper Tape
Posts: 3
Registered: ‎03-23-2018
Location: US
Views: 5,263
Message 81 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux

I'm using the "acpi.ec_no_wakeup=1" under fedora workstation 27 and it is working pretty well. Besides having to push the power button to wake it I have not had any issues. It sleeps right away after closing the lid. The keyboard/trackpad works right away. I do reboot the system once a week after kernel/software updates. It has never crashed. I'm using the default fedora workstation 27 with wayland/GNOME. 

thinkpadlover9
Fanfold Paper
Posts: 5
Registered: ‎04-12-2018
Location: CH
Views: 5,218
Message 82 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux

Was/is there an official Lenovo statement? For me (and lots of my colleagues!!) this machine is useless - please Lenovo give us at least a message about the timeline/fact that you are working on this huge bug...

JeremyS
Punch Card
Posts: 14
Registered: ‎03-04-2018
Location: AU
Views: 5,171
Message 83 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux

test post, (sorry my reply wasn't working before for some reason)

Edit: Why does my post keep disappearing?!?!, Here it is:

@zaphot wrote:

Did someone managed to get a reliabe suspend/resume working? I tried arch linux/ubuntu 18.04 both with 4.15.x, ubuntu 18.04 with 4.16.2 and 4.17 rc1. With and without acpi.ec_no_wakeup=1 and with and without the dsdt patch.

Every combination has its flaws... Sometimes the touchpad, keyboard or both are not working after resume. Sometimes everything crashes and i lose my complete session.

touchpad at least can be reactivated with sudo modprobe -r psmouse sudo modprobe psmouse and I am sure the same can be done for the keyboard but try tipping without keyboard...

So if someone achived a working suspend/resume plz tell me your kernel version and maybe systemd version. Thanks a lot!

ps. lenovo plz do something!

Yes! I have suspend/resume working pretty much flawlessly in Fedora27 with only the DSDT patch (0.2w power draw, closing and opening the lid works, all devices like the touchpad and keyboard always work after resume, everything you would expect).

The only annoyance is needing to update /boot/efi/EFI/fedora/grub.cfg every time a new kernel version comes out.

 

I'm running the latest kernel 4.15.16-300.fc27.x86_64.

 

I followed this guide https://delta-xi.net/#056, there were a few differences which I'll list below:

 

At step 5 I did have to do the patch manually, as it states here:

Plan B: If this does not work (patch is rejected): It has been the case, that certain UEFI settings may lead to different DSDT images. This means that it may be possible that the above patch doesn't work at all with your decompiled DSL. If that is the case, don't worry: Go through the .patch file in your editor, and change your dsdt.dsl by hand. This means locating the lines which are removed in the patch and removing them in your dsl. The patch contains only one section at the end which adds a few lines - these are important and make the sleep magic happen. 

At step 9, I had find the equivalent grub.cfg to edit in Fedora:

/boot/efi/EFI/fedora/grub.cfg

instead of 

/boot/grub/grub.cfg

 

At step 10, when updating /etc/default/grub, mine looked like this:

GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/root rd.luks.uuid=luks-af878c99-1220-4ad5-abbe-aba5be757c69 rd.lvm.lv=fedora/swap rhgb quiet mem_sleep_default=deep"

instead of 

GRUB_CMDLINE_LINUX_DEFAULT="quiet mem_sleep_default=deep"

  

There could be a few smaller differences I've forgotten about as I did it a while ago. I don't see why this wouldn't work in Ubuntu as well.

Good luck!

 

walkie
Core Memory
Posts: 11
Registered: ‎03-02-2018
Location: US
Views: 4,932
Message 84 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux

Same as JeremyS, I have deep sleep working perfectly on Fedora 27.

 

I think everything JeremyS said applies to me as well, except that each time a new kernel update occurs, I instead edit /etc/grub2-efi.cfg to add /acpi_override before the new .img file.

 

For example, the line:

initrdefi /initramfs-4.15.16-300.fc27.x86_64.img

Becomes:

initrdefi /acpi_override /initramfs-4.15.16-300.fc27.x86_64.img

This is a bit annoying, but not too bad.

rigobot
Paper Tape
Posts: 3
Registered: ‎02-26-2015
Location: FR
Views: 4,806
Message 85 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux

Discalimer: This post does not fix the problem, I'm just describing my attempt to find a solution. If you are not into Linux, please ignore it.

 

Related to this, in order to add automatically "/acpi_override" before the initramfs, I tried to modify the script /etc/grub.d/10_linux that seems to be the responsible to generate all the "menuentry" entries in the grub.cfg (in my case, /boot/efi/EFI/fedora/grub.cfg). In particular, I've modified it as it follows:

--- 10_linux.orig	2018-04-12 22:27:34.975272883 +0200
+++ /etc/grub.d/10_linux	2018-04-16 15:02:59.810503865 +0200
@@ -184,11 +184,11 @@
   if test -n "${initrd}" ; then
     if [ -d /sys/firmware/efi ]; then
       sed "s/^/$submenu_indentation/" << EOF
-	${initrdefi} ${rel_dirname}/${initrd}
+	${initrdefi} ${rel_dirname}/acpi_override ${rel_dirname}/${initrd}
 EOF
     else
       sed "s/^/$submenu_indentation/" << EOF
-	initrd${sixteenbit} ${rel_dirname}/${initrd}
+	initrd${sixteenbit} ${rel_dirname}/acpi_override ${rel_dirname}/${initrd}
 EOF
     fi
   fi

Indeed, when I run

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

the script works well and adds "/acpi_override" where it should.

 

I though this script (grub2-mkconfig + 10_linux) was used at every kernel upgrade, but I was wrong. In fact, when upgrading the kernel in my Fedora, such a script is apparently not used, and the new "menuentry" for the new kernel is generated via other means. Of course, running the grub2-mkconfig command after every kernel upgrade fixes the problem (i.e., "/acpi_override" is added to all the menuentries), but it is still a silly thing to do...

 

As some of you, I'm using Fedora Workstation 27.

zaphot
SCSI Port
Posts: 31
Registered: ‎03-11-2018
Location: DE
Views: 4,555
Message 86 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux

hi, thanks for the answers. However, i have no problems applying the dsdt patch or adding kernel parameters. The power consumption is also fixed by it. It's just that almost every suspend/resume cycle breaks something :/  So suspend/resume is like russian roulette...

 

I have now also tested 4.17 rc2 but it doesnt fix the problems. Maybe i also have to test fedora even it is also using kernel 4.15

zaphot
SCSI Port
Posts: 31
Registered: ‎03-11-2018
Location: DE
Views: 4,216
Message 87 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux

oky, ubuntu 18.04 using 4.16.4 from the mainline ppa with "psmouse.synaptics_intertouch=1 acpi.ec_no_wakeup=1" seems to be working reliable (at least for 2 days with ~30 suspend/resumes)
igtheflig
Fanfold Paper
Posts: 14
Registered: ‎04-09-2018
Location: GB
Views: 4,209
Message 88 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux


@zaphot wrote:
oky, ubuntu 18.04 using 4.16.4 from the mainline ppa with "psmouse.synaptics_intertouch=1 acpi.ec_no_wakeup=1" seems to be working reliable (at least for 2 days with ~30 suspend/resumes)

Sorry for such a noob questions, but where/how does one set "psmouse.synaptics_intertouch=1 acpi.ec_no_wakeup=1" ? In a file? At start up?

spinachbb
Fanfold Paper
Posts: 7
Registered: ‎04-12-2018
Location: US
Views: 4,135
Message 89 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux

Hi! You want to set them in:

/etc/default/grub

There is a line that looks like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"


You want to add it after quiet, like so:

GRUB_CMDLINE_LINUX_DEFAULT="quiet psmouse.synaptics_intertouch=1 acpi.ec_no_wakeup=1"


After making the change, please run:

sudo update-grub

...and reboot for the changes to take effect.

I've always referred to these as kernel parameters set at boot time. For what it's worth, on Debian Testing with 4.15 kernel, I have not needed to set the psmouse parameter, but I mostly use the TrackPoint only. Good luck, and let us know your testing results!

wintermute42
SCSI Port
Posts: 33
Registered: ‎04-07-2018
Location: DE
Views: 4,119
Message 90 of 306

Re: X1 Carbon Gen 6 cannot enter deep sleep (S3 state aka Suspend-to-RAM) on Linux

Hello spinachbb,

could you give a short explanation what effect "acpi.ec_no_wakeup=1" is supposed to have?

I managed to get my touchpad and trackpoint working with "psmouse.synaptics_intertouch=1" thanks to this thread: https://forums.lenovo.com/t5/Linux-Discussion/Troubles-with-X1-Carbon-2018-X1C6-TouchPad-and-TrackPo...
but I'm still having issues with deep sleep. Is "acpi.ec_no_wakeup=1" supposed to help with that, even if I have not patched my DSDT tables as described here: https://delta-xi.net/#056 ?

Check out current deals!


Shop current deals

Top Kudoed Authors