This is how I got suspend and hibernate working again on my Huawei
Matebook after upgrading to 7.0 release. I thought I'd share here in
case it helps someone else.


SYNOPSIS:

Initiating a "sleep" state blanks the screen and illuminates the
keyboard (indicating sleep is immenent); but the laptop would never go
to sleep. It would also never wake up. However, pressing the power
button cleanly shutdown the system.

After comparing the 7.0 dmesg with an older version (6.6), I noticed
this difference:

tpm0 at acpi0 TPM_ addr 0xfed40040/0x1000: timed out waiting for
validity

acpi(4) confirmed that the TPM does connect to the ACPI driver. The
kernel error message above is a good hint that the TPM could be
preventing suspend and hibernate.


SOLUTION #1:

I disabled TPM in the kernel at the boot prompt (i.e., boot -c). Within
UKC, "tpm" matched another device. I disabled TPM specifying the device
number (devno) of the tpm0 device.

  UKC> list tpm
  UKC> disable 433

If this is the solution for you, make it permanent using the kernel
configuration file, bsd.re-config(5).


SOLUTION #2:

There is a "TCM/TPM" setting in BIOS; I disabled it. Booting the
base 7.0 kernel (TPM enabled) also fixed "sleep" modes.

This is the solution I decided to use.


REQUEST FOR COMMENT:

I'm not sure if disabling TPM like this creates a security issue.
Please let me know if there are negative repercussions.

Also, is this a bug that should be reported to bugs@?


ACPI from 7.0 DMESG:

"ELAN2201" at acpi0 not configured
"INT0E0C" at acpi0 not configured
"INT33A1" at acpi0 not configured
"INT3400" at acpi0 not configured
"INT3403" at acpi0 not configured
"INT3403" at acpi0 not configured
"INT3403" at acpi0 not configured
"INT3403" at acpi0 not configured
"INT3403" at acpi0 not configured
"INT344B" at acpi0 not configured
"PNP0C14" at acpi0 not configured
"PNP0C14" at acpi0 not configured
"PNP0C14" at acpi0 not configured
"WDT0001" at acpi0 not configured
acpi0 at bios0: ACPI 5.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP UEFI UEFI ECDT SSDT MSDM SSDT SSDT TPM2 SSDT
SSDT SSDT ASPT BOOT HPET APIC MCFG SSDT WSMT SSDT DBGP DBG2 SSDT SSDT
DMAR NHLT FPDT BGRT acpi0: wakeup devices GLAN(S4) XHC_(S3) XDCI(S4)
HDAS(S4) RP01(S4) PXSX(S4) RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) RP04(S4)
PXSX(S4) RP05(S4) PXSX(S4) RP06(S4) PXSX(S4) [...] acpiac0 at acpi0: AC
unit online acpials0 at acpi0: ALSD acpibat0 at acpi0: BAT0 model
"BASE-BAT" serial 123456789 type Li oem "Kollur" acpibtn0 at acpi0:
LID_ acpibtn1 at acpi0: PWRB acpicmos0 at acpi0
acpicpu0 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33),
C1(1000@1 mwait.1), PSS
acpicpu1 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33),
C1(1000@1 mwait.1), PSS acpicpu2 at acpi0: C3(200@1034 mwait.1@0x60),
C2(200@151 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu3 at acpi0:
C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), C1(1000@1
mwait.1), PSS acpiec0 at acpi0 acpihpet0 at acpi0: 23999999 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (RP01)
acpiprt10 at acpi0: bus -1 (RP10)
acpiprt11 at acpi0: bus -1 (RP11)
acpiprt12 at acpi0: bus -1 (RP12)
acpiprt13 at acpi0: bus -1 (RP13)
acpiprt14 at acpi0: bus -1 (RP14)
acpiprt15 at acpi0: bus -1 (RP15)
acpiprt16 at acpi0: bus -1 (RP16)
acpiprt17 at acpi0: bus -1 (RP17)
acpiprt18 at acpi0: bus -1 (RP18)
acpiprt19 at acpi0: bus -1 (RP19)
acpiprt2 at acpi0: bus -1 (RP02)
acpiprt20 at acpi0: bus -1 (RP20)
acpiprt21 at acpi0: bus -1 (RP21)
acpiprt22 at acpi0: bus -1 (RP22)
acpiprt23 at acpi0: bus -1 (RP23)
acpiprt24 at acpi0: bus -1 (RP24)
acpiprt3 at acpi0: bus -1 (RP03)
acpiprt4 at acpi0: bus -1 (RP04)
acpiprt5 at acpi0: bus -1 (RP05)
acpiprt6 at acpi0: bus -1 (RP06)
acpiprt7 at acpi0: bus 1 (RP07)
acpiprt8 at acpi0: bus -1 (RP08)
acpiprt9 at acpi0: bus 2 (RP09)
acpipwrres0 at acpi0: WRST
acpipwrres1 at acpi0: WRST
acpipwrres10 at acpi0: WRST
acpipwrres11 at acpi0: WRST
acpipwrres12 at acpi0: WRST
acpipwrres13 at acpi0: WRST
acpipwrres14 at acpi0: WRST
acpipwrres15 at acpi0: WRST
acpipwrres16 at acpi0: WRST
acpipwrres17 at acpi0: WRST
acpipwrres18 at acpi0: WRST
acpipwrres19 at acpi0: WRST
acpipwrres2 at acpi0: WRST
acpipwrres3 at acpi0: WRST
acpipwrres4 at acpi0: WRST
acpipwrres5 at acpi0: WRST
acpipwrres6 at acpi0: WRST
acpipwrres7 at acpi0: WRST
acpipwrres8 at acpi0: WRST
acpipwrres9 at acpi0: WRST
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpitz0 at acpi0: critical temperature is 98 degC
acpivideo0 at acpi0: GFX0
acpivout0 at acpivideo0: DD1F
tpm0 at acpi0 TPM_ addr 0xfed40040/0x1000: timed out waiting for
validity

Reply via email to