When booting up Ubuntu 22.04 (kernel 5.15.0-25), I get the following error in the kernel log:
apr 18 13:22:25 dottie kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_TZ.ETMD], AE_NOT_FOUND (20210730/psargs-330) apr 18 13:22:25 dottie kernel: apr 18 13:22:25 dottie kernel: No Local Variables are initialized for Method [_OSC] apr 18 13:22:25 dottie kernel: apr 18 13:22:25 dottie kernel: Initialized Arguments for Method [_OSC]: (4 arguments defined for method invocation) apr 18 13:22:25 dottie kernel: Arg0: 00000000fb231197 <Obj> Buffer(16) 5D A8 3B B2 B7 C8 42 35 apr 18 13:22:25 dottie kernel: Arg1: 0000000025d9a193 <Obj> Integer 0000000000000001 apr 18 13:22:25 dottie kernel: Arg2: 0000000078b55545 <Obj> Integer 0000000000000002 apr 18 13:22:25 dottie kernel: Arg3: 00000000bf92f763 <Obj> Buffer(8) 00 00 00 00 05 00 00 00 apr 18 13:22:25 dottie kernel: apr 18 13:22:25 dottie kernel: ACPI Error: Aborting method \_SB.IETM._OSC due to previous error (AE_NOT_FOUND) (20210730/psparse-529)
I think this indicates a bug in the ACPI tables (so BIOS?).
I wondered if this might be a bug in Linux instead, but looking at the ACPI tables themselves, it indeed seems like
_TZ.ETMD is declared as external and (in the failing
_SB.IETM._OSC method) written to, but never actually defined:
# acpidump > tables.dump # acpixtract -a tables.dump # iasl -d *.dat # grep ETMD *.dsl dsdt.dsl: External (_TZ_.ETMD, IntObj) ssdt2.dsl: External (_TZ_.ETMD, IntObj) ssdt2.dsl: \_TZ.ETMD = Zero ssdt2.dsl: \_TZ.ETMD = One ssdt2.dsl: \_TZ.ETMD = One
I am not entirely sure what the impact of this failure is. I could not find any documentation on this failing
_SB.IETM object using the name or the INTC1040 _HID, but looking around the kernel code, it seems that this _HID loads the
int3400_thermal.c driver, so it is some thermal-related thing. But looking at the code, it seems the failing
_OSC method handles a UUID (b23ba85d-c8b7-3542-88de-8de2ffcfd698) that is not listed in the kernel driver, and I also cannot find the “IDSP” object that the kernel seems to use to detect which UUIDs are supported, so I’m not quite sure about any of this.
Any Framework devs or other users that can shed some light on this?