Hi There,
For me the issue is now resolved as well, I don’t even require manual action after opening the lid. To be hones, the solution is a workaround on multiple levels. First, getting deep sleep to work is a hassle due to the missing ACPI S3 sleep state (read about it in https://delta-xi.net/#056 ). Secondly, getting the trackpoint back to work required reconnecting it after wake up...
Is it not pretty, but it works for me at the moment.
Here is some info on my machine. It is a X1C6 (20KG-S03900) and I run Fedora 27 on it. I am still on BIOS 1.08. Kernel version: 4.15.7-300.fc27.x86_64.
$ lsusb
Bus 002 Device 007: ID 0bda:0328 Realtek Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 06cb:009a Synaptics, Inc.
Bus 001 Device 003: ID 04f2:b61e Chicony Electronics Co., Ltd
Bus 001 Device 002: ID 8087:0a2b Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ dmesg | grep LEN0
[ 0.300043] pnp 00:05: Plug and Play ACPI device, IDs LEN0071 PNP0303 (active)
[ 0.300077] pnp 00:06: Plug and Play ACPI device, IDs LEN0092 PNP0f13 (active)
That is what is I did:
1: Get Trackpoint to work after installation
For me after installation, the Trackpoint did not work and the touchpad was buggy. I was able to fix it after adding the following parameter to grub.conf:
psmouse.synaptics_intertouch=1
2: Activate Deep Sleep
Follow the how: https://delta-xi.net/#056
Step 10 did not activate it for me. I had to put "mem_sleep_default=deep" into grub.conf as parameter.
-> at this point, once I woke up the machine, the Trackpoint (and sometimes even the keyboard) were gone.
3: Reconnect Trackpoint after Wake up
To fix the issue in 2, kektee proposed "echo -n "reconnect" | tee /sys/bus/serio/devices/serio1/drvctl" which did not reliably work for me.
However, what I did is adding the following three lines to /usr/lib64/pm-utils/sleep.d/56dhclient
sleep 1
echo -n none > /sys/devices/platfrom/i8042/serio1/drvctl
echo -n reconnect > /sys/devices/platform/i8042/serio1/drvctl
It looks like this in the file.
# there is a lot of stuff in the file to this point...
case "$1" in
hibernate|suspend)
suspend_dhclient
;;
thaw|resume)
resume_dhclient
sleep 1
echo -n none > /sys/devices/platfrom/i8042/serio1/drvctl
echo -n reconnect > /sys/devices/platform/i8042/serio1/drvctl
;;
*) exit $NA
;;
esac
Now I got a working deep sleep. Which is awesome. I would wish that Lenovo would release a reactivate ACPI S3 sleep state as it would make things easier. Hopefully they will come around... So long...
Cheers,
Stefan