如何对我的 ACPI 表进行健全性检查?

如何对我的 ACPI 表进行健全性检查?

我认为笔记本电脑中可能存在与 ACPI 相关的固件错误。如何检查我的 ACPI 表是否正常?

答案1

幸运的是,有工具可以解决这一问题。

fwts

这是固件测试套件,旨在查询和查看 BIOS + ACPI 固件错误。最新开发版本中提供了几种测试。

安装:

快速检查Ubuntu 软件包表明我们必须首先启用 Universe 存储库如果尚未启用。

然后我们通过软件中心或使用命令进行安装:

sudo apt-get install fwts

fwts 可以运行几个有用的测试。

也许最常用的是交互式测试,它测试背光、亮度和电池。这个测试使用以下命令启动:

sudo fwts --interactive

并产生以下结果。

Running 6 tests, results appended to results.log
==== Please press the laptop power button. ====
==== Setting backlight to a low level ====
==== Is the Backlight now set to a dim level? [Y/N]: 
==== Setting backlight to highest level ====
==== Is the Backlight now set to a bright level? [Y/N]: 
==== Backlight will now slowly transition from dim to bright ====
==== Did the backlight go from dim to bright? [Y/N]: 
==== Press the brightness UP hotkey for acpi_video0 ====
==== Press the brightness DOWN hotkey for acpi_video0 ====
==== Make sure laptop is connected to the mains power. ====
Press <Enter> to continue
==== Please unplug the laptop power. ====
==== Please re-connect the laptop power. ====

您可以在启动 fwts 的目录中的 results.log 文件中找到测试结果

Acer Aspire D270-1865 的结果如下:

Results generated by fwts: Version V16.03.00 (2016-03-14 09:10:20).

Some of this work - Copyright (c) 1999 - 2016, Intel Corp. All rights reserved.
Some of this work - Copyright (c) 2010 - 2016, Canonical.

This test run on 25/07/17 at 18:44:34 on host Linux me-AOD270 4.4.0-78-generic
#99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64.

Command: "fwts --interactive".
Running tests: hotkey power_button lid brightness battery ac_adapter.

hotkey: Hotkey scan code tests.
--------------------------------------------------------------------------------
Cannot determine keymap for this machine.
Aborted test, initialisation failed.
================================================================================
0 passed, 0 failed, 0 warning, 1 aborted, 0 skipped, 0 info only.
================================================================================

power_button: Interactive power_button button test.
--------------------------------------------------------------------------------
Test 1 of 1: Test press of power button and ACPI event.
PASSED: Test 1, Detected PBTN power button event.

================================================================================
1 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0 info only.
================================================================================

lid: Interactive lid button test.
--------------------------------------------------------------------------------
Test 1 of 3: Test LID buttons report open correctly.
PASSED: Test 1, Detected open LID state.

Test 2 of 3: Test LID buttons on a single open/close.
Got 2 SCI interrupt(s).
Got 2 interrupt(s) on GPE gpe11.
Got 2 interrupt(s) on GPE gpe_all.
PASSED: Test 2, Detected ACPI LID events while waiting for LID to closed.
PASSED: Test 2, Detected lid closed state.
Got 6 SCI interrupt(s).
Got 1 interrupt(s) on GPE gpe01.
Got 1 interrupt(s) on GPE gpe02.
Got 5 interrupt(s) on GPE gpe11.
Got 7 interrupt(s) on GPE gpe_all.
PASSED: Test 2, Detected ACPI LID events while waiting for LID to open.
PASSED: Test 2, Detected lid open state.

Test 3 of 3: Test LID buttons on multiple open/close events.
Some machines may have EC or ACPI faults that cause detection of multiple open
/close events to fail.
Got 2 SCI interrupt(s).
Got 2 interrupt(s) on GPE gpe11.
Got 2 interrupt(s) on GPE gpe_all.
PASSED: Test 3, Detected ACPI LID events while waiting for LID to closed.
PASSED: Test 3, Detected lid closed state.
Got 2 SCI interrupt(s).
Got 2 interrupt(s) on GPE gpe11.
Got 2 interrupt(s) on GPE gpe_all.
PASSED: Test 3, Detected ACPI LID events while waiting for LID to open.
PASSED: Test 3, Detected lid open state.
Got 2 SCI interrupt(s).
Got 2 interrupt(s) on GPE gpe11.
Got 2 interrupt(s) on GPE gpe_all.
PASSED: Test 3, Detected ACPI LID events while waiting for LID to closed.
PASSED: Test 3, Detected lid closed state.
Got 7 SCI interrupt(s).
Got 1 interrupt(s) on GPE gpe01.
Got 6 interrupt(s) on GPE gpe11.
Got 7 interrupt(s) on GPE gpe_all.
PASSED: Test 3, Detected ACPI LID events while waiting for LID to open.
PASSED: Test 3, Detected lid open state.
Got 2 SCI interrupt(s).
Got 2 interrupt(s) on GPE gpe11.
Got 2 interrupt(s) on GPE gpe_all.
PASSED: Test 3, Detected ACPI LID events while waiting for LID to closed.
PASSED: Test 3, Detected lid closed state.
Got 2 SCI interrupt(s).
Got 2 interrupt(s) on GPE gpe11.
Got 2 interrupt(s) on GPE gpe_all.
PASSED: Test 3, Detected ACPI LID events while waiting for LID to open.
PASSED: Test 3, Detected lid open state.

================================================================================
17 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0 info only.
================================================================================

brightness: Interactive LCD brightness test.
--------------------------------------------------------------------------------
Test 1 of 3: Observe all brightness changes.
PASSED: Test 1, Backlight psb-bl set to dim level.
PASSED: Test 1, Backlight psb-bl set to bright level.
PASSED: Test 1, Backlight acpi_video0 set to dim level.
PASSED: Test 1, Backlight acpi_video0 set to bright level.

Test 2 of 3: Observe min, max brightness changes.
PASSED: Test 2, Backlight psb-bl was observed going from dim to bright.
PASSED: Test 2, Backlight acpi_video0 was observed going from dim to bright.

Test 3 of 3: Test brightness hotkeys.
FAILED [HIGH] BrightnessNoIncrease: Test 3, Did not see brightness increased for
psb-bl.
FAILED [HIGH] BrightnessNoDecrease: Test 3, Did not see brightness decrease for
psb-bl.
FAILED [HIGH] BrightnessNoIncrease: Test 3, Did not see brightness increased for
acpi_video0.
FAILED [HIGH] BrightnessNoDecrease: Test 3, Did not see brightness decrease for
acpi_video0.

================================================================================
6 passed, 4 failed, 0 warning, 0 aborted, 0 skipped, 0 info only.
================================================================================

battery: Battery tests.
--------------------------------------------------------------------------------
Test 1 of 1: Battery test.
This test reports which (if any) batteries there are in the system. In addition,
for charging or discharging batteries, the test validates that the reported
'current capacity' properly increments/decrements in line with the charge
/discharge state. This test also stresses the battery state reporting codepath
in the ACPI BIOS, and any warnings given by the ACPI interpreter will be
reported.
Found 1 batteries.
Test battery 'BAT1'.
Got 12 SCI interrupt(s).
Got 12 interrupt(s) on GPE gpe11.
Got 12 interrupt(s) on GPE gpe_all.
PASSED: Test 1, Detected ACPI battery events.
FAILED [HIGH] BatteryNoEvents: Test 1, Could not detect ACPI events for battery
BAT1.
PASSED: Test 1, Battery BAT1 charge is decrementing as expected.
Got 6 SCI interrupt(s).
Got 6 interrupt(s) on GPE gpe11.
Got 6 interrupt(s) on GPE gpe_all.
PASSED: Test 1, Detected ACPI battery events.
FAILED [HIGH] BatteryNoEvents: Test 1, Could not detect ACPI events for battery
BAT1.
PASSED: Test 1, Battery BAT1 charge is incrementing as expected.
Please ignore this error with a new battery
FAILED [LOW] BatteryZeroCycleCount: Test 1, System firmware may not support
cycle count interface or it reports it incorrectly for battery BAT1.
Test battery 'BAT1' downward trip point.
Got 4 SCI interrupt(s).
Got 4 interrupt(s) on GPE gpe11.
Got 4 interrupt(s) on GPE gpe_all.
PASSED: Test 1, Detected ACPI battery events.
FAILED [HIGH] BatteryNoEvents: Test 1, Could not detect ACPI events for battery
BAT1.
Test battery 'BAT1' upwards trip point.
FAILED [HIGH] NoSCIInterrupts: Test 1, Did not detect any SCI interrupts.
FAILED [HIGH] NoGPEInterrupts: Test 1, Did not detect any GPE interrupts.
FAILED [HIGH] BatteryNoEvents: Test 1, Did not detect any ACPI battery events.

================================================================================
5 passed, 7 failed, 0 warning, 0 aborted, 0 skipped, 0 info only.
================================================================================

ac_adapter: Interactive ac_adapter power test.
--------------------------------------------------------------------------------
Test 1 of 3: Test ACPI ac_adapter state.
PASSED: Test 1, Detected a state in the ac_adapter state info.

Test 2 of 3: Test ac_adapter initial on-line state.
PASSED: Test 2, Detected ac_adapter on-line state.

Test 3 of 3: Test ac_adapter state changes.
PASSED: Test 3, Detected ac_adapter off-line state.
PASSED: Test 3, Detected ac_adapter on-line state.

================================================================================
4 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0 info only.
================================================================================


33 passed, 11 failed, 0 warning, 1 aborted, 0 skipped, 0 info only.

Test Failure Summary
================================================================================

Critical failures: NONE

High failures: 8
 brightness: Did not see brightness increased for psb-bl.
 brightness: Did not see brightness decrease for psb-bl.
 brightness: Did not see brightness increased for acpi_video0.
 brightness: Did not see brightness decrease for acpi_video0.
 battery: Could not detect ACPI events for battery BAT1.
 battery: Did not detect any SCI interrupts.
 battery: Did not detect any GPE interrupts.
 battery: Did not detect any ACPI battery events.

Medium failures: NONE

Low failures: 1
 battery: System firmware may not support cycle count interface or it reports it incorrectly for battery BAT1.

Other failures: NONE

Test           |Pass |Fail |Abort|Warn |Skip |Info |
---------------+-----+-----+-----+-----+-----+-----+
ac_adapter     |    4|     |     |     |     |     |
battery        |    5|    7|     |     |     |     |
brightness     |    6|    4|     |     |     |     |
hotkey         |     |     |    1|     |     |     |
lid            |   17|     |     |     |     |     |
power_button   |    1|     |     |     |     |     |
---------------+-----+-----+-----+-----+-----+-----+
Total:         |   33|   11|    1|    0|    0|    0|
---------------+-----+-----+-----+-----+-----+-----+

另一种方法acpiexecacpica-tools 包。这个包还要求我们 启用 Universe 存储库通过软件中心或使用以下命令进行安装:

sudo apt-get install acpica-tools

有关此替代方案的更多信息,请参阅以下来源:

资料来源:

https://wiki.ubuntu.com/Kernel/Reference/ACPITricksAndTips

https://acpica.org/documentation/

https://www.systutorials.com/docs/linux/man/1-acpiexec/

相关内容