ACPI issues on HP laptop: 3 critical failures and 5 high failures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone,

I bought my HP laptop about 2 or 3 years ago and never flashed any ACPI tables by myself. When I was still using Windows besided Windows, I flashed the official HP BIOS update which covers the ACPI tables as well I think. However, the abovementioned issues with the ACPI code weren't affected at all by performing a BIOS update.

When I let FWTS perform all its tests, I get this result:

Critical failures: 3
klog: CRITICAL Kernel message: [ 1.884417][ T426] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.SBRG.EC0.Z009], AE_NOT_FOUND (20230628/psargs-330) klog: CRITICAL Kernel message: [ 1.884457][ T426] ACPI Error: Aborting method \_SB.UBTC.M318 due to previous error (AE_NOT_FOUND) (20230628/psparse-531) klog: CRITICAL Kernel message: [ 1.884484][ T426] ACPI Error: Aborting method \_SB.UBTC._DSM due to previous error (AE_NOT_FOUND) (20230628/psparse-531)

High failures: 5
klog: HIGH Kernel message: [ 0.283459][ T1] ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20230628/psobject-221) uniqueid: \_SB_.I2CD.TPD0._CID/_UID conflict with \_SB_.I2CA.TPNL._CID/_UID
 ivrs: IVRS must have subtable with Type 1..4, got 0 instead
 ivrs: IVRS Flags Bits [7..6] must be zero, got 0xb0 instead
ivrs: IVRS IOMMU Attribute Bits [12..0] must be zero, got 0x00040200 instead


I dumped, extracted and disassembled all my ACPI tables, since I wanted to know where these functions can be found, although I don't know much about AMI unfortunately.

_SB.UBTC.M318 and _SB.PCI0.SBRG.EC0.Z009 are in ssdt5.dsl.
_SB.UBTC._DSM can't be found in any disassembled table, but there is a Method (_DSM, 4, Serialized), which is also in ssdt5.dsl.

Gentoo also reported ACPI errors/bugs in its dmesg and since it's not just a test suite like FWTS it showed some more stuff, which might be interesting:

[ 0.277540] ACPI BIOS Error (bug): Failure creating named object [\_SB.PCI0.SBRG.EC0._Q50], AE_ALREADY_EXISTS (20230628/dswload2-326) [ 0.277555] ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20230628/psobject-220) [ 0.277563] ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
[    0.277941] ACPI: 13 ACPI AML tables successfully acquired and loaded
[    0.280325] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    0.282502] ACPI: _OSC evaluation for CPUs failed, trying _PDC
[    0.282936] ACPI: EC: EC started
[    0.282940] ACPI: EC: interrupt blocked
[    0.284881] ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62
[ 0.284887] ACPI: \_SB_.PCI0.SBRG.EC0_: Boot DSDT EC used to handle transactions

I'm well aware of the fact that all of you developers put endless effort in all this which will be very time-consuming, so of course I'd understand it if you don't feel like explaining ACPI stuff in your free time... But I would really appreciate it, if someone could explain me what "Boot DSDT EC used to handle transactions" concretely imply? I'm really curious about this, since _SB.PCI0.SBRG.EC0.Z009 caused the critical failure.

I don't know much about AML, but I program in C/C++ and Assembler, so if anyone feels like doing so, please explain it on a programmer's level.

As I can see in ssdt5.dsl _SB_.PCI0.SBRG.EC0_.Z009 is defined as a MutexObj in line 25 and then is relevant for the conditional block in Method M318 which starts in line 452.

Is it really normal that there are so many errors in the ACPI code? I mean especially if klog reports them as CRITICAL they shouldn't be just ignored, isn't?

If a BIOS update doesn't fix ACPI errors, then would it be possible to fix them manually, compile the code and then write them to the tables?

I uploaded my disassembled ssdt5.dsl to pastebin.com:
https://pastebin.com/hBUL4qif

However, I wanted to share my dsdt.dsl with you as well as some of the mentioned methods/symbols can be found there are as well, maybe shedding some light on an issue with them. So I decided to upload the whole folder containing my HP laptop's dumped, extracted and disassembled ACPI tables on my GDrive:
https://drive.google.com/drive/folders/11FSdWRMoFE-cmzBfecdSvO8CfRkCCbro?usp=drive_link


Kind regards and thanks in advance

David




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux