fiji-flo / x1carbon2018s3

S3 suspend for the X1 Carbon 2018
The Unlicense
165 stars 16 forks source link

notes about Bios 1.25 #15

Closed katakombi closed 6 years ago

katakombi commented 6 years ago

Dear fiji-flo,

thanks for this patch! I tried it on the latest BIOS version 1.25 and the DSDT patching yielded in errors. I manually corrected them and got it to compile and work, however, I barely knew what I was doing and hence still testing thoroughly.

I did not set any ACPI vendor string, my grub commandline: "quiet splash psmouse.synaptics_intertouch=1 iwlwifi.power_save=1 iwlwifi.d0i3_disable=0 iwlwifi=uapsd_disable=0 thinkpad_acpi.fan_control=1 mem_sleep_default=deep"

Please find my files here: https://github.com/katakombi/lm19-x1c6/blob/master/dsdt-1.25.orig.dsl https://github.com/katakombi/lm19-x1c6/blob/master/dsdt-1.25.patched.dsl

I give you this info in the hope that you can add some information about this latest version of the BIOS! thanks and greets

katakombi commented 6 years ago

oookay... Ive checked it and seemingly USB + track pad+touch stick stop working after resume. USB is okay after reboot, trackpad and track point require a cold restart to come up again.

fiji-flo commented 6 years ago

That sounds like the patch isn't applied and you're using S0i3 sleep. These are known issues there.

The errors are probably due to an older version of iasl. I'll get back to you after work.

katakombi commented 6 years ago

I don't think that's the problem. Ive had S0i3 sleep working successfully. No troubles with resume on tracking devices after using the following hook:

cat /lib/systemd/system-sleep/trackpoint 
#!/bin/sh

# Reinitialize Touch Pad to fix non-working Track Point

case $1 in
    post)
    sleep 1
    echo -n none > /sys/devices/platform/i8042/serio1/drvctl
    sleep 1
    echo -n reconnect > /sys/devices/platform/i8042/serio1/drvctl
    synclient TapButton1=1 TapButton2=2 TapButton3=3
;;
esac

Drawback was a power consumption of approx 2W/hr. MC reader / NFC / FPreader disabled, The same hook does nothing when applying the patched DSDT.

My version of iasl seems quite recent:

iasl -v

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20180105
Copyright (c) 2000 - 2018 Intel Corporation

and it looks like it's been applied successfully:

dmesg | grep 'ACPI: (supports'
[    0.194101] ACPI: (supports S0 S3 S4 S5)
katakombi commented 6 years ago

btw I am using Linux Mint 19 not Arch Linux. Maybe something still wrong with /etc/default/grub

fiji-flo commented 6 years ago

Okay, the error definitely came from the iasl version (see #7).

dmesg | grep 'ACPI: (supports'
[    0.194101] ACPI: (supports S0 S3 S4 S5)

looks promising but something might still be wrong.

katakombi commented 6 years ago

thanks ... going to try that :)

fiji-flo commented 6 years ago

Can you post the output of:

cat /sys/power/mem_sleep

and

journalctl -g "PM:"
katakombi commented 6 years ago

Okay using the most recent version of iasl made it work for me:

./iasl -v

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20180629
Copyright (c) 2000 - 2018 Intel Corporation
cat /sys/power/mem_sleep
s2idle [deep]

journalctl | grep "PM:" | tail
Jul 24 18:56:08 melisandre kernel: PM: suspend entry (deep)
Jul 24 18:56:19 melisandre kernel: PM: Syncing filesystems ... done.
Jul 24 18:56:19 melisandre kernel: PM: Saving platform NVS memory
Jul 24 18:56:19 melisandre kernel: PM: Restoring platform NVS memory
Jul 24 18:56:19 melisandre kernel: PM: suspend exit
Jul 24 18:56:50 melisandre kernel: PM: suspend entry (deep)
Jul 24 18:57:01 melisandre kernel: PM: Syncing filesystems ... done.
Jul 24 18:57:01 melisandre kernel: PM: Saving platform NVS memory
Jul 24 18:57:01 melisandre kernel: PM: Restoring platform NVS memory
Jul 24 18:57:01 melisandre kernel: PM: suspend exit

Looks okay doesn't it?