报告验证器拒绝了 Linux 上的 Hardware Sniffer 生成的有效 ACPI 路径

作者: daviddelsol1998创建于 2026年8月3日更新于 2026年8月3日

描述问题

Scripts/report_validator.py:24 中的 acpi_path 正则表达式只接受以 _SB 开头的路径:

python
"acpi_path": r"^[\\]?_SB(\.[A-Z0-9_]+)+$",

Linux 上的硬件嗅探器导出的报告中包含了验证器拒绝的有效 ACPI 路径,导致“硬件报告无效!”并阻止了整个流程:

1. Root.System Devices.LNXTHERM.ACPI Path: Value '\_TZ_.TZS0' does not match pattern '^[\\]?_SB(\.[A-Z0-9_]+)+$'
2. Root.System Devices.PNP0C0B.ACPI Path: Value '\_TZ_.FAN0' does not match pattern '^[\\]?_SB(\.[A-Z0-9_]+)+$'
3. Root.System Devices.PNP0C14_#4.ACPI Path: Value '\AOD_' does not match pattern '^[\\]?_SB(\.[A-Z0-9_]+)+$'

这些路径直接来自 Linux 内核的 firmware_node ACPI 路径(Hardware-Sniffer 中的 Scripts/device_locator.py 读取 /sys/.../firmware_node/path):

  • _TZ_.TZS0 – 温度区域(在 _SB 外部有效的范围)
  • _TZ_.FAN0 – 温度区域下的风扇
  • \AOD_ – 根级设备(AMD ACPI 操作定义,常见于 AMD 系统上)

预期结果

任何语法正确的 ACPI 路径都应通过验证:可选的根 \、任意的根范围/设备(_SB_TZ_ 或根级设备如 AOD_)以及后跟 .Name 部分的段。

内容来源: lzhoang2801/OpCore-Simplify