I performed some additional investigation on the affected machine.

The errors reproduce on the current boot. For each of SEN1–SEN4,
evaluation of the static thermal trip methods fails because the
referenced objects cannot be resolved:

SEN1._CRT -> S1CT, AE_NOT_FOUND
SEN1._HOT -> S1HT, AE_NOT_FOUND
SEN1._PSV -> S1PT, AE_NOT_FOUND
SEN1._AC0 -> S1AT, AE_NOT_FOUND

The same occurs for the corresponding S2*, S3*, and S4* objects.

The live ACPI table:

/sys/firmware/acpi/tables/SSDT2

contains the AML identifiers SEN1–SEN4 and S1AT/S1PT/S1CT/S1HT through
S5AT/S5PT/S5CT/S5HT. However, at runtime the trip-point names are not
resolvable when the methods execute.

In the decompiled EC field layout I found:

S1DE, S2DE, S3DE, S4DE, S5DE
S1S3, S2S3, S3S3, S4S3, S5S3

but no corresponding EC field definitions for SxAT, SxPT, SxCT, or SxHT.
I also found no Load() or LoadTable() operations in the decompiled
tables searched so far.

Despite the trip-point failures, the sensor devices are registered and
_TMP appears to remain usable:

thermal_zone0  acpitz           93000  \_TZ_.THRM
thermal_zone1  INT3400 Thermal  20000
thermal_zone2  SEN1                50
thermal_zone3  SEN2             76050
thermal_zone4  SEN3                50
thermal_zone5  SEN4             73050
thermal_zone6  TCPU             92000
thermal_zone7  x86_pkg_temp     92000

SEN2 and SEN4 return plausible temperatures, while SEN1 and SEN3 return
approximately 0.05°C, possibly indicating unused sensor channels.

Therefore, this does not appear to justify blacklisting all four sensor
devices. The current evidence points specifically to malformed or
unavailable static trip-point backing objects, while at least some _TMP
readings remain useful.

A conservative kernel workaround might preserve _TMP and any
programmable trip interfaces, while avoiding evaluation of _CRT, _HOT,
_PSV, and _ACx for these SEN1–SEN4 participants on this exact
model/BIOS.

I also attach the live SSDT2, its decompiled DSL, the full acpidump, and
complete current-boot kernel log if useful:

mkdir -p /tmp/x3500pc-acpi
sudo cp /sys/firmware/acpi/tables/DSDT /tmp/x3500pc-acpi/DSDT.aml
sudo cp /sys/firmware/acpi/tables/SSDT2 /tmp/x3500pc-acpi/SSDT2.aml
sudo chown -R "$USER:$USER" /tmp/x3500pc-acpi

cd /tmp/x3500pc-acpi
iasl -e DSDT.aml -d SSDT2.aml

grep -nE \
'External.*S[1-5](AT|PT|CT|HT)|SEN[1-5]|S[1-5](AT|PT|CT|HT|DE)|Method 
\(_(TMP|CRT|HOT|PSV|AC0)' \
SSDT2.dsl

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

File appears to be binary: found 5964 non-ASCII characters, disassembling
Binary file appears to be a valid ACPI table, disassembling
Input file SSDT2.aml, Length 0x4E02 (19970) bytes
ACPI: SSDT 0x0000000000000000 004E02 (v02 DptfTa DptfTabl 00001000 INTL 
20191018)
External object resolution file         DSDT.aml
Input file DSDT.aml, Length 0x5F763 (391011) bytes
ACPI: DSDT 0x0000000000000000 05F763 (v02 _ASUS_ Notebook 01072009 INTL 
20191018)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed
Disassembly completed
ASL Output:    SSDT2.dsl - 110786 bytes
182:    External (S1AT, IntObj)
183:    External (S1CT, IntObj)
184:    External (S1DE, IntObj)
185:    External (S1HT, IntObj)
186:    External (S1PT, IntObj)
188:    External (S2AT, IntObj)
189:    External (S2CT, IntObj)
190:    External (S2DE, IntObj)
191:    External (S2HT, IntObj)
192:    External (S2PT, IntObj)
194:    External (S3AT, IntObj)
195:    External (S3CT, IntObj)
196:    External (S3DE, IntObj)
197:    External (S3HT, IntObj)
198:    External (S3PT, IntObj)
200:    External (S4AT, IntObj)
201:    External (S4CT, IntObj)
202:    External (S4DE, IntObj)
203:    External (S4HT, IntObj)
204:    External (S4PT, IntObj)
206:    External (S5AT, IntObj)
207:    External (S5CT, IntObj)
208:    External (S5DE, IntObj)
209:    External (S5HT, IntObj)
210:    External (S5PT, IntObj)
847:                If ((S1DE == One))
849:                    Notify (\_SB.PC00.LPCB.EC0.SEN1, 0x90) // 
Device-Specific
855:                If ((S1DE == One))
857:                    Notify (\_SB.PC00.LPCB.EC0.SEN1, 0x90) // 
Device-Specific
869:                If ((S2DE == One))
871:                    Notify (\_SB.PC00.LPCB.EC0.SEN2, 0x90) // 
Device-Specific
877:                If ((S2DE == One))
879:                    Notify (\_SB.PC00.LPCB.EC0.SEN2, 0x90) // 
Device-Specific
891:                If ((S3DE == One))
893:                    Notify (\_SB.PC00.LPCB.EC0.SEN3, 0x90) // 
Device-Specific
899:                If ((S3DE == One))
901:                    Notify (\_SB.PC00.LPCB.EC0.SEN3, 0x90) // 
Device-Specific
913:                If ((S4DE == One))
915:                    Notify (\_SB.PC00.LPCB.EC0.SEN4, 0x90) // 
Device-Specific
921:                If ((S4DE == One))
923:                    Notify (\_SB.PC00.LPCB.EC0.SEN4, 0x90) // 
Device-Specific
1765:        Method (_AC0, 0, Serialized)  // _ACx: Active Cooling, x=0-9
1835:        Method (_PSV, 0, Serialized)  // _PSV: Passive Temperature
1840:        Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
1850:        Method (_HOT, 0, Serialized)  // _HOT: Hot Temperature
2240:        Device (SEN1)
2243:            Name (_UID, "SEN1")  // _UID: Unique ID
2251:                If ((S1DE == One))
2261:            Method (_TMP, 0, Serialized)  // _TMP: Temperature
2310:                Notify (\_SB.PC00.LPCB.EC0.SEN1, 0x91) // Device-Specific
2323:            Method (_AC0, 0, Serialized)  // _ACx: Active Cooling, x=0-9
2327:                    Local1 = \_SB.IETM.CTOK (S1PT)
2331:                    Local1 = \_SB.IETM.CTOK (S1AT)
2344:            Method (_PSV, 0, Serialized)  // _PSV: Passive Temperature
2348:                    Return (\_SB.IETM.CTOK (S1AT))
2352:                    Return (\_SB.IETM.CTOK (S1PT))
2356:            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
2358:                Return (\_SB.IETM.CTOK (S1CT))
2366:            Method (_HOT, 0, Serialized)  // _HOT: Hot Temperature
2368:                Return (\_SB.IETM.CTOK (S1HT))
2378:                    Notify (\_SB.PC00.LPCB.EC0.SEN1, 0x91) // 
Device-Specific
2401:                    Notify (\_SB.PC00.LPCB.EC0.SEN1, 0x91) // 
Device-Specific
2409:        Device (SEN2)
2412:            Name (_UID, "SEN2")  // _UID: Unique ID
2420:                If ((S2DE == One))
2430:            Method (_TMP, 0, Serialized)  // _TMP: Temperature
2477:                Notify (\_SB.PC00.LPCB.EC0.SEN2, 0x91) // Device-Specific
2490:            Method (_AC0, 0, Serialized)  // _ACx: Active Cooling, x=0-9
2494:                    Local1 = \_SB.IETM.CTOK (S2PT)
2498:                    Local1 = \_SB.IETM.CTOK (S2AT)
2526:            Method (_PSV, 0, Serialized)  // _PSV: Passive Temperature
2530:                    Return (\_SB.IETM.CTOK (S2AT))
2534:                    Return (\_SB.IETM.CTOK (S2PT))
2538:            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
2540:                Return (\_SB.IETM.CTOK (S2CT))
2548:            Method (_HOT, 0, Serialized)  // _HOT: Hot Temperature
2550:                Return (\_SB.IETM.CTOK (S2HT))
2560:                    Notify (\_SB.PC00.LPCB.EC0.SEN2, 0x91) // 
Device-Specific
2583:                    Notify (\_SB.PC00.LPCB.EC0.SEN2, 0x91) // 
Device-Specific
2591:        Device (SEN3)
2594:            Name (_UID, "SEN3")  // _UID: Unique ID
2602:                If ((S3DE == One))
2612:            Method (_TMP, 0, Serialized)  // _TMP: Temperature
2659:                Notify (\_SB.PC00.LPCB.EC0.SEN3, 0x91) // Device-Specific
2676:                    Local1 = \_SB.IETM.CTOK (S3PT)
2680:                    Local1 = \_SB.IETM.CTOK (S3AT)
2703:            Method (_PSV, 0, Serialized)  // _PSV: Passive Temperature
2707:                    Return (\_SB.IETM.CTOK (S3AT))
2711:                    Return (\_SB.IETM.CTOK (S3PT))
2715:            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
2717:                Return (\_SB.IETM.CTOK (S3CT))
2725:            Method (_HOT, 0, Serialized)  // _HOT: Hot Temperature
2727:                Return (\_SB.IETM.CTOK (S3HT))
2737:                    Notify (\_SB.PC00.LPCB.EC0.SEN3, 0x91) // 
Device-Specific
2796:                        Notify (\_SB.PC00.LPCB.EC0.SEN3, 0x91) // 
Device-Specific
2805:        Device (SEN4)
2808:            Name (_UID, "SEN4")  // _UID: Unique ID
2816:                If ((S4DE == One))
2826:            Method (_TMP, 0, Serialized)  // _TMP: Temperature
2873:                Notify (\_SB.PC00.LPCB.EC0.SEN4, 0x91) // Device-Specific
2886:            Method (_AC0, 0, Serialized)  // _ACx: Active Cooling, x=0-9
2890:                    Local1 = \_SB.IETM.CTOK (S4PT)
2894:                    Local1 = \_SB.IETM.CTOK (S4AT)
2907:            Method (_PSV, 0, Serialized)  // _PSV: Passive Temperature
2911:                    Return (\_SB.IETM.CTOK (S4AT))
2915:                    Return (\_SB.IETM.CTOK (S4PT))
2919:            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
2921:                Return (\_SB.IETM.CTOK (S4CT))
2929:            Method (_HOT, 0, Serialized)  // _HOT: Hot Temperature
2931:                Return (\_SB.IETM.CTOK (S4HT))
2941:                    Notify (\_SB.PC00.LPCB.EC0.SEN4, 0x91) // 
Device-Specific
2964:                    Notify (\_SB.PC00.LPCB.EC0.SEN4, 0x91) // 
Device-Specific

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2161334

Title:
  ASUS X3500PC BIOS 302: SEN1–SEN4 static ACPI trip methods fail with
  AE_NOT_FOUND

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-hwe-7.0/+bug/2161334/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to