问题标签 [acpi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8869 浏览

linux-kernel - 如何在 Linux 内核模块中获取电池电量?

我正在尝试获取 Linux 内核模块中的电池电量(该模块是通过 modprobe 插入的)。理想情况下,我想使用内核 API 调用来获取电池信息。我在网上搜索了解决方案,并且我还探索了 Linux 内核源代码和 Michael Meskes 的程序“acpi”的源代码以获取想法。

这些是我认为可以使用的一些技术:

  1. 读取和解析/proc/acpi/battery/BAT0/state/proc/acpi/battery/BAT0/info
  2. 读取/sys/class/power_supply/BAT0/charge_now并且charge_full不涉及解析。
  3. 如果我能弄清楚如何公开接口,我可以尝试使用来自 Linux 内核源驱动程序/acpi/battery.c 的调用。我可能需要这些方法acpi_battery_get_statusacpi_battery_get_info
  4. 我还注意到在驱动程序/acpi/sbs.c 中有一个方法acpi_battery_read,在它的正上方有一条评论说“驱动程序接口”。如果有人知道如何使用它,这可能是另一种方式。

我认为在内核模块中读取文件可能是一个坏主意,但我不确定这些文件如何映射到内核函数调用,所以它可能没问题。

那么,你们能给我一些建议/建议吗?

编辑:我在下面的答案中包含了我的解决方案。

0 投票
1 回答
320 浏览

linux - ACPI 脚本,如何知道当前向用户显示的 TTY?

我在 acpi 中运行一个脚本,如果当前显示的虚拟终端,切换回终端 X11 正在运行;否则切换到 tty1。

所以唯一的问题是,我如何使用程序来获取当前显示终端的名称?

有什么建议么 ?tty无济于事,因为它只获取终端,它正在运行,而不是显示终端。

非常感谢 !

0 投票
1 回答
3012 浏览

linux - linux内核如何处理对/sys/power/state的写入

我想找出处理写入 /sys/power/state 的 Linux 内核(x86、2.6.18 或类似版本)的源文件。我用谷歌搜索并尝试sysfs_create_file在源代码中搜索(和目录)。但到目前为止我没有发现任何有用的东西。有人知道吗?谢谢!

0 投票
1 回答
131 浏览

assembly - 导致机器进入 S3 睡眠的最后一条指令是什么?

从 ACPI Spec 4.0 第 299 页,有一些示例代码展示了如何让机器进入 S3 睡眠状态。我只是想知道导致硬件休眠的最后指令是什么?遵循代码后会发生什么,为什么?

0 投票
1 回答
322 浏览

linux - Linux 何时以及如何将 VGA 内存保存到 RAM?它在 pm-suspend 脚本中吗?或在 echo mem > /sys/power/state 之后的内核中

有谁知道Linux何时将VGA内存保存到RAM?在将 mem 回显到 /sys/power/state 之前是否在 pm-suspend 脚本中?echo -n "mem" > /sys/power/state 之后是否在内核中?或两者?

我看过 pm-suspend 脚本,它使用 vbetool 来保存视频状态

vbe vbestate 保存 > /var/run/vbestate

这是将 VGA 内存保存到 RAM 的正确位置吗?

但是如果我只运行 echo mem > /sys/power/state(skip pm-suspend script in userspace),系统仍然可以使用正确的 GUI 唤醒。

谢谢,

0 投票
2 回答
1900 浏览

sleep - 有谁知道当操作系统进入睡眠模式时如何修改/禁用闪烁的电源 LED?

有谁知道当操作系统进入睡眠模式时如何修改/禁用闪烁的电源 LED?或者通过使用操作系统来做到这一点是否可行?电源 LED 是否仅由硬件控制?或者操作系统可以修改它?

谢谢,

0 投票
1 回答
2233 浏览

windows-7 - 操作系统中的 ACPI 方法暴露

我想为 Windows 操作系统编写一个 ACPI 方法,作为我大学项目的一部分,我是这个汇编级编程的新手。

我想知道 ACPI 方法是在 BIOS 中还是在 OS 中并且 ACPI 驱动程序能够执行它?

另外,ACPI 方法究竟是如何从当前 ACPI 方法的 BIOS 暴露给操作系统的?

0 投票
2 回答
215 浏览

perl - 解析相同语法的不同文件并计算文件到文件的相似度

我有一堆 ACPI 源语言文件,我想计算它们之间的文件到文件的相似性。我想过使用 Perl 的 Parse::RecDescent 之类的东西,但我被困在:

1) 将 ACPI 语法 (www.acpi.info/DOWNLOADS/ACPIspec40a.pdf) 翻译成 Parse::RecDescent 可以理解的内容 2) 有一个度量来比较 2 个解析的文件

有任何想法吗?

0 投票
1 回答
759 浏览

acpi - 远程获取电脑的电源状态(如 LogMeIn)


在设备(iphone、mac、pc 等)上,我想知道是否有 pc(在同一个局域网上并运行 Windows)

1)“开”(表示开机)并与我的设备连接局域网
2)开,但网线已拔下或网卡已禁用
3)“关”(即关机)但已插入局域网(所以我可以用 wol 魔术包将其唤醒)
4)关闭且未插入

我已经完成了问题 #1 执行 ping 命令。有没有更聪明的方法?
但从我的设备的角度来看,其他点都是平等的:我无法与目标电脑通信,但我想知道为什么!

我相信这很像logmein。事实上,它知道我的电脑的电源状态......但如何?!

我查找了 acpi 状态,但实际上,如何以编程方式和远程使用它?!嗯,好像不是这样。
也许有一些“魔术包”(如 wol)可以远程检测这些状态?

你能指出我正确的方式吗?

谢谢

0 投票
1 回答
123 浏览

linux - 确定 ACPI 状态文件的长度

我正在编写一个将电池电量记录到 CSV 文件的工具(我知道这将是一个 bash 单行程序,但这对我来说是另一个 Common Lisp 学习练习)。

我的计划是将整个电池状态文件存储到内存中,因为它保证是一个小文件。但是file-length在文件大小上始终返回 0,同时在其他文件上正常工作:

事实证明,这不仅仅是 SBCL;Perl 的行为方式相同:

但该文件肯定包含一些内容:

所以我假设状态文件有一些特别之处。有人可以告诉我它是什么吗?