电池指示器和电源设置面板显示错误的电池状态

电池指示器和电源设置面板显示错误的电池状态

我的笔记本是Thinkpad E420,安装的是Ubuntu 12.04 64位,内核版本是3.2.0-33-generic。我在windows7上设置了电池阈值为60%,Ubuntu下好像自动设置了阈值,但是电池指示灯的状态有些问题。

我将列出一些电池状态的信息如下:(请注意,在终端中 ubuntu 说电池充电状态为已充电,而电源设置面板显示电池状态为充电以及电池指示器显示。)


$ cat /proc/acpi/battery/BAT0/state 
present:                 yes
capacity state:          ok
*charging state:          charged*
present rate:            0 mW
remaining capacity:      18200 mWh
present voltage:         16103 mV

电池指示灯状态

在此处输入图片描述


电源设置面板

在此处输入图片描述

有没有什么办法可以解决这个问题?

编辑通过 **sudo fwts battery -> battery.log ** 添加一些结果

3 passed, 4 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.

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

Critical failures: NONE

High failures: 2
 battery: Did not detect any ACPI battery events.
 battery: Could not detect ACPI events for battery BAT0.

Medium failures: 1
 battery: Battery BAT0 claims it's charging but no charge is added

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

Other failures: NONE

Test           |Pass |Fail |Abort|Warn |Skip |Info |
---------------+-----+-----+-----+-----+-----+-----+
battery        |    3|    4|     |     |     |     |
---------------+-----+-----+-----+-----+-----+-----+
Total:         |    3|    4|    0|    0|    0|    0|
---------------+-----+-----+-----+-----+-----+-----+

編輯2根据@Colin Ian King 的建议,我运行了以下脚本。

$ cat /sys/class/power_supply/BAT0/uevent
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Unknown
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=14400000
POWER_SUPPLY_VOLTAGE_NOW=16075000
POWER_SUPPLY_POWER_NOW=0
POWER_SUPPLY_ENERGY_FULL_DESIGN=31680000
POWER_SUPPLY_ENERGY_FULL=22050000
POWER_SUPPLY_ENERGY_NOW=17860000
POWER_SUPPLY_MODEL_NAME=LNV-42T4763
POWER_SUPPLY_MANUFACTURER=SANYO
POWER_SUPPLY_SERIAL_NUMBER= 2614

我拍了两张简历照片,以防遗漏了什么。

在此处输入图片描述

在此处输入图片描述


输出acpi -V

future$ acpi -V
Battery 0: Unknown, 89%
Battery 0: design capacity 1947 mAh, last full capacity 1339 mAh = 68%
Adapter 0: on-line
Thermal 0: ok, 31.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 120.0 degrees C
Cooling 0: LCD 3 of 15
Cooling 1: LCD 3 of 15
Cooling 2: Processor 0 of 10
Cooling 3: Processor 0 of 10
Cooling 4: Processor 0 of 10
Cooling 5: Processor 0 of 10

任何帮助,将不胜感激!

答案1

您可以运行以下命令并将输出放入您的问题中吗:

cat /sys/class/power_supply/BAT0/uevent

这应该包含诸如 POWER_SUPPLY_ENERGY_FULL_DESIGN、POWER_SUPPLY_ENERGY_FULL 和 POWER_SUPPLY_ENERGY_NOW 之类的信息,这些信息将为我们提供有关您的问题的更明智的答案。

[更新]

因此你的机器报告:

电源能量完全设计=31680000

电源能量满=22050000

..这两个字段是来自 ACPI _BIX 控制的静态数据。第一个是电池的设计容量,第二个是充满电时预测的电池容量。

电源能量现在=17860000

..这是来自 ACPI _BST 控制,显示当前电池电量。这是动态的,会发生变化。

这些数据通常从嵌入式控制器读取,该控制器通常通过 i2c 总线与智能电池通信。这些数据通过 APCI 控件呈现给内核,因此这些数据基本上就是内核所得到的,内核无法控制这些数据,只能将其直接呈现给用户空间应用程序。

这些电流值表明,电池上次充满电时已达到电池设计容量的 69.6%。此外,您的当前容量约为充满电容量的 80%,电池理论设计容量的 56.3%。

我猜想用户空间应用程序会以满充电容量的百分比形式显示电池容量。也许 Windows 会以电池设计容量的形式显示这些数字。这只是猜测。

答案2

这里似乎没有问题。
很快,Windows 计算的功耗不指向現實狀態,因为 Windows 饿了,被迫”有点不对劲“对用户来说。这是我非常主观的意见。

然而,非常相对的问题由于实际状态术语的相对性。

有很多方法可以解释为什么 Windows 的实际比例为 60%,而 Ubuntu 的实际比例为 82%。最简单的解释是 Windows 和 Ubuntu 范例之间的差异。

更新 1

尝试使用以下方法测试你的环境響鳴

sudo add-apt-repository ppa:firmware-testing-team/ppa-fwts-stable
sudo apt-get update
sudo apt-get install fwts

读:wiki.ubuntu.com/内核/参考/fwts

更新 2

因此电池日志显示电源 ACPI 接口已禁用。
这意味着您已通过在 BIOS 中启用电源接口解决了问题。
或者,如果此行为由启动参数引发,则您需要找到正确的值。

更新 3

显然,引导参数化在这里很重要。
基于更新的新读数:UEFI启动

大多数实际参数(警告!仅使用与您的配置相关的正确参数):

 acpi
 noefi
 acpi_osi
 apm  

内核启动参数文档

更新 4

您也可以尝试使用以下方法测试输出参数交流电源接口程序:

sudo apt-get install acpi
acpi -V

最后我所有的网页浏览都指向:ThinkPad ACPI Extras 驱动程序

和:联想诊断程序(Linux 可启动 CD)

相关内容