ACPI on CoreBoot ThinkPad

Johnny Sorocil jsorocil at gmail.com
Sat Dec 29 21:19:26 UTC 2018


Hi list,

I am trying to have reliable suspend and resume on my laptop after
flashing CoreBoot and SeaBIOS on ThinkPad T430s.
Problem is that system will shutdown because it thinks that temperature
is too high:
> acpi_tz0: WARNING - current temperature (128.1C) exceeds safe limits
Laptop was in suspend less than a minute and it is not too hot on touch.

Not sure if relevant, but I noticed that acpidump from base doesn't
work:
> /usr/sbin/acpidump -dt > acpi_dt.asl
> /usr/sbin/iasl acpi_dt.asl
>
> Intel ACPI Component Architecture
> ASL+ Optimizing Compiler/Disassembler version 20181003
> Copyright (c) 2000 - 2018 Intel Corporation
>
> Compiler aborting due to parser-detected syntax error(s)
> acpi_dt.asl   6008:             }
> Error    6126 -   syntax error ^
>
> acpi_dt.asl   6028:             }
> Error    6126 -   syntax error ^
>
> acpi_dt.asl   6063:             }
> Error    6126 -   syntax error ^
>
> acpi_dt.asl   6445:
> Error    6126 - syntax error and premature End-Of-File
>
> ASL Input:     acpi_dt.asl - 6445 lines, 207014 bytes, 1574 keywords
>
> Compilation complete. 4 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Another try with acpidump from ports:
> /usr/local/bin/acpidump -b
> /usr/local/bin/iasl dsdt.dat
>
> Intel ACPI Component Architecture
> ASL+ Optimizing Compiler/Disassembler version 20181213
> Copyright (c) 2000 - 2018 Intel Corporation
>
> File appears to be binary: found 4624 non-ASCII characters, disassembling
> Binary file appears to be a valid ACPI table, disassembling
> Input file dsdt.dat, Length 0x387B (14459) bytes
> ACPI: DSDT 0x0000000000000000 00387B (v02 COREv4 COREBOOT 20110725 INTL
20180810)
> Pass 1 parse of [DSDT]
> Pass 2 parse of [DSDT]
> Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
>
> Parsing completed
> Disassembly completed
> ASL Output:    dsdt.dsl - 146025 bytes

So, at least I can use that DSDT:
  cp dsdt.dat /boot/dsdt.aml
  /boot/loader.conf:
  acpi_dsdt_load="YES"
  acpi_dsdt_name="/boot/dsdt.aml"

> dmesg | grep -i 'acpi error'
> ACPI Error: No handler for Region [ERAM] (0xfffff80003580d00)
[EmbeddedControl] (20181003/evregion-288)
> ACPI Error: Region EmbeddedControl (ID=3) has no handler
(20181003/exfldio-428)
> ACPI Error: Method parse/execution failed \134_SB.PCI0.LPCB.EC.BAT0._STA,
AE_NOT_EXIST (20181003/psparse-677)
> ACPI Error: No handler for Region [ERAM] (0xfffff80003580d00)
[EmbeddedControl] (20181003/evregion-288)
> ACPI Error: Region EmbeddedControl (ID=3) has no handler
(20181003/exfldio-428)
> ACPI Error: Method parse/execution failed \134_SB.PCI0.LPCB.EC.BAT1._STA,
AE_NOT_EXIST (20181003/psparse-677)
> ACPI Error: AE_NOT_FOUND, While resolving a named reference package
element - \134_PR_.CP00 (20181003/dspkginit-579)
> ACPI Error: AE_NOT_FOUND, While resolving a named reference package
element - \134_PR_.CP01 (20181003/dspkginit-579)
> ACPI Error: AE_NOT_FOUND, While resolving a named reference package
element - \134_PR_.CP02 (20181003/dspkginit-579)
> ACPI Error: AE_NOT_FOUND, While resolving a named reference package
element - \134_PR_.CP03 (20181003/dspkginit-579)
> ACPI Error: AE_NOT_FOUND, While resolving a named reference package
element - \134_PR_.CP00 (20181003/dspkginit-579)
> ACPI Error: AE_NOT_FOUND, While resolving a named reference package
element - \134_PR_.CP01 (20181003/dspkginit-579)
> ACPI Error: AE_NOT_FOUND, While resolving a named reference package
element - \134_PR_.CP02 (20181003/dspkginit-579)
> ACPI Error: AE_NOT_FOUND, While resolving a named reference package
element - \134_PR_.CP03 (20181003/dspkginit-579)
> ACPI Error: uhub0: Method parse/execution failed <0x8086 XHCI root HUB,
class 9/0, rev 3.00/1.00, addr 1> on usbus0
> ACPI Error: uhub1: Method parse/execution failed
\134_SB.PCI0.LPCB.EC.AC._PSR, AE_NOT_FOUND (20181003/psparse-677)
> ACPI Error: Method parse/execution failed \134PNOT, AE_NOT_FOUND
(20181003/psparse-677)
> ACPI Error: Method parse/execution failed \134_SB.PCI0.LPCB.EC.AC._PSR,
AE_NOT_FOUND (20181003/psparse-677)
> ACPI Error: Method parse/execution failed \134PNOT, AE_NOT_FOUND
(20181003/psparse-677)
> ACPI Error: Method parse/execution failed \134_SB.PCI0.LPCB.EC.AC._PSR,
AE_NOT_FOUND (20181003/psparse-677)
> ACPI Error: Method parse/execution failed \134PNOT, AE_NOT_FOUND
(20181003/psparse-677)
Full "dmesg.boot" file is attached.
But now with DSDT unmodifed, my system lost sysctl dev.cpu:
sysctl: unknown oid 'dev.cpu'

I have also tried to boot Linux (which doesn't have problems with resume
after suspend) and dumped ACPI tables but that was not successfull
(IIRC, problem was that FreeBSD was unable to parse DSDT from Linux)

I am using FreeBSD 12.0-RELEASE amd64 with small patch (but the problem
with resume was same as with GENERIC kernel) so my battery can be
recognized:
https://bugs.freebsd.org/bugzilla/attachment.cgi?id=196523&action=diff

Unfortunately currently I don't have stock BIOS ACPI tables (then I
didn't know for acpica-tools package) but if needed I can flash stock
BIOS and dump ACPI tables.
Any ideas how to proceed with debugging?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: acpi_errors_after_custom_dsdt
Type: application/octet-stream
Size: 2147 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-acpi/attachments/20181229/b0d5ae52/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: msg-after-failed-resume
Type: application/octet-stream
Size: 3445 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-acpi/attachments/20181229/b0d5ae52/attachment-0005.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmesg.boot-default-dsdt
Type: application/octet-stream
Size: 92179 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-acpi/attachments/20181229/b0d5ae52/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmesg.boot-override-dsdt
Type: application/octet-stream
Size: 69649 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-acpi/attachments/20181229/b0d5ae52/attachment-0007.obj>


More information about the freebsd-acpi mailing list