- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在使用 /sys/class/leds/
摆弄 LED 之后,我现在正试图了解如何使用 linux kernel power supply attributes 控制计算机中的电池。 ,特别是 CHARGE_CONTROL_LIMIT
。但是,/sys/class/power_supply/BAT0/
中不存在这样的属性。
根据我阅读 man 5 sysfs
的理解,sysfs
(通常安装为 sys
)是用户空间和内核空间之间的接口(interface)。
存在一个内核模块,它创建和更新 /sys/class/power_supply/BAT0/
该内核模块可能,但似乎没有实现CHARGE_CONTROL_LIMIT
。它确实实现了其他属性:
cat /sys/class/power_supply/BAT0/charge_full
2884000
cat /sys/class/power_supply/BAT0/charge_now
2884000
cat /sys/class/power_supply/BAT0/cycle_count
0 <--- this seems broken
cat /sys/class/power_supply/BAT0/capacity
100
为了验证这个假设,我查找了相关内核模块的文档/来源。
/sys/class/power_supply/BAT0/
ArchWiki和 this page演示如何在给定 modalias
的情况下查找内核模块。
cat /sys/class/power_supply/BAT0/device/modalias
acpi:PNP0C0A:
sudo grep -E 'PNP0C0A' /lib/modules/*/modules.alias
# nothing is found
我看到电池硬件是 acpi
类型,但是,在 modules.alias
中没有与其 modalias
完全匹配的类型。 (我尝试了几种通配符组合来找到它,但无济于事)。
@0andriy 建议检查 /drivers/platform/x86
,我是这样做的:
find /lib/modules/5.0.0-15-generic/kernel -type f -name '*.ko' | xargs modinfo | grep -E 'alias.*PNP0C0A'
# Nothing
# Trying another query, to check that the query works:
find /lib/modules/5.0.0-15-generic/kernel/drivers -type f -name '*.ko' | xargs modinfo | grep -E 'alias.*TOS'
alias: acpi*:TOS1900:*
alias: acpi*:TOS6208:*
alias: acpi*:TOS6207:*
alias: acpi*:TOS6200:*
这是一台装有最新内核的惠普笔记本电脑
uname -a
Linux lithium 5.0.0-15-generic #16-Ubuntu SMP Mon May 6 17:41:33 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
最佳答案
问题是电源可能来自已经静态链接到内核的模块(在 lsmod 中不可见或存在于/lib/modules 中),而不是作为独立模块保留。所以:
A) 首先检查/sys/module。这是一个包含动态链接(即 lsmod 可见)和静态链接条目的目录。检查您是否在此处看到(可能是小写的)pnp* 条目。
B) 如果你这样做了,而且它不在 lsmod 中,你将需要内核源代码。这些可以从 HP 获得,但您可以从库存资源 ( http://kernel.org ) 开始,因为它很可能在主线内核中。
C) 这些/sys 条目是通过调用“power_supply_register”的代码创建的。尝试对所有模块进行暴力 grep,以查看哪些匹配。您也可以在 Linux 源代码树上执行此操作(例如 find . -type f | xargs grep power_supply_register 或 grep -R 等)。
您是否可以扰乱充电限制等取决于相关模块。祝你好运。
关于linux-kernel - 负责/sys/class/power_supply/BAT0的内核模块是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56213083/
我使用 genymotion 来模拟我的 cordova 应用程序,而 logcat 每次都向我显示此错误。 E/Genymotion(459):无法打开“/sys/class/power_suppl
我需要运行游戏应用但是不运行我应该怎么办?▼ genymotion 日志猫 E/Genymotion( 323): Could not open '/sys/class/power_supply/g
在使用 /sys/class/leds/ 摆弄 LED 之后,我现在正试图了解如何使用 linux kernel power supply attributes 控制计算机中的电池。 ,特别是 CHA
我正在尝试从 NDK 应用读取电池信息。我知道完成此操作的唯一方法是读取 /sys/class/power_supply 中的值。我的困难是我找到了多个类型为“电池”的条目,但我不知道该使用哪一个。
When i launch app then below error print in debug log, i want to find out is it app side issue or de
我有一个 NDK 应用程序,它从 /sys/class/power_supply/battery 读取电池状态信息。这在大多数设备上都能正常工作。在某些设备上,该目录不可读。例如,在 NVIDIA S
09-29 11:52:52.236 396-396/? D/SystemUIService﹕ loading: class com.android.systemui.power.Power
大家。我试图访问文件“/sys/class/power_supply/Battery/current_now”以检索华为 P20 中的电池电流。 f = File("/sys/class/power
我是一名优秀的程序员,十分优秀!