Linux acpi off报告ACPI bug处理方法

Linux acpi off有自己的邮件列表(linux-acpi@vger.kernel.org),你也可以在那里讨论问题。另外,Intel的Linux/ACPI组 也有一个邮件地址(acpi@linux.intel.com),如果你的问题不方便公开,可以发到这儿。

Linux acpi off如果你报告一个bug,请提交如下信息:
产生bug的kernel版本
以前的kernel有没有这样的bug。如果这是一个regression,最近可以工作的kernel版本是什么。如果你能使用git-bisect找到哪个patch带来regression,那问题基本上就等于解决了。
出错的kernel和最近工作kernel的dmesg信息。你可能需要使用serial console来得到这些信息。
如果这是中断相关的问题,可能的话请提供kernel出错和工作的时候/proc/interrupts的输出。/sbin/lspci –vvv和/sbin/lspci -xxx的输出也很有用。
请提供acpidump的输出。Acpidump是一个工具,它可以将系统中的ACPI表打出来。你可以在http://ftp.kernel.org /pub/linux/kernel/people/lenb/acpi/utils/找到这个工具。注意acpidump输出的是BIOS的表,不同的 BIOS版本可能会有不同的表。

如果我们发现BIOS有问题,我们可以将此系统列入黑名单,在这种情况下需要提供dmidecode(通常在/usr/sbin/下)工具的输出。
产生bug的kernel配置文件
如何使用ACPI工具

http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils/,按照包里面的README编译。使用步骤如下:
导出所有的表,这些表都是二进制的
$ acpidump > acpidump.out
上面的输出包含了很多个ACPI表,如果你希望将它们分离开,使用
$ acpixtract -a acpidump.out
反汇编某个表
$ iasl -d TABLE.dat
这样就得到类C的AML代码。

Linux acpi off参考文档

 
 
  1. ACPI in Linux – Myths vs. Reality(OLS 2007)
  2. paper: https://ols2006.108.redhat.com/2007/Reprints/brown_1-Reprint.pdf
  3. presentation: http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/doc/OLS2007-acpi-myths-web/
  4. ACPI in Linux – Architecture, Advances, and Challenges(OLS 2005)
  5. paper: http://www.linuxsymposium.org/2005/linuxsymposium_procv1.pdf
  6. presentation: http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/doc/ACPI_OLS_2005.pdf
  7. The State of ACPI in the Linux Kernel(OLS 2004)
  8. http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/doc/Reprint-Brown-OLS2004.pdf

TODO列表

Suspend/resume的稳定性。Suspend-to-ram在很多笔记本电脑上不能工作。很多驱动程序没有实现.suspend/.resume方法或者实现有问题。
Hotkey的支持。很多笔记本电脑厂商使用完全不同的方法来支持hotkey,现在Linux支持IBM,Asus,Toshiba等。但是还有很多厂商的不支持,即使支持的厂商也有很多笔记本型号不支持。
运行时设备电源管理。Linux还缺乏一个框架在系统运行时对设备进行电源管理,例如在某个设备空闲时将它关闭而不影响整个系统的运行。
Device model方面的改进。Linux仍然缺乏一个好的机制将ACPI设备和它对应的物理设备统一起来处理。
Bugzilla上有很多Linux acpi off的bug

[@more@]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ACPI (Advanced Configuration and Power Interface) 是一种能够管理电源和其他硬件功能的标准。在 Linux 操作系统中,ACPI 由内核模块进行管理。要控制 ACPI,可以使用以下命令: 1. acpid:这是一个守护进程,用于处理 ACPI 事件。当 ACPI 事件发生时,acpid 会运行预定义的脚本来处理该事件。可以使用以下命令来启动、停止、重启 acpid: ``` sudo systemctl start acpid sudo systemctl stop acpid sudo systemctl restart acpid ``` 2. acpi_listen:这个命令用于监听 ACPI 事件。可以在终端中运行此命令,然后触发 ACPI 事件(例如按下电源按钮),看看 acpi_listen 是否会输出相应的事件信息。 3. /proc/acpi:这是一个虚拟文件系统,它包含了系统的 ACPI 信息。可以使用以下命令查看某些信息: - 查看电池信息:`cat /proc/acpi/battery/BAT0/info` - 查看电池状态:`cat /proc/acpi/battery/BAT0/state` - 查看 CPU 温度:`cat /proc/acpi/thermal_zone/THM0/temperature` 4. acpi_call:这是一个内核模块,它允许用户从用户空间控制 ACPI 方法。可以使用此命令来执行 ACPI 方法,例如调节亮度、设置风扇速度等。使用此命令需要先安装 acpi_call 模块,然后加载该模块: ``` sudo modprobe acpi_call ``` 然后可以使用以下命令来执行 ACPI 方法: ``` echo "method_name parameter" | sudo tee /proc/acpi/call ``` 其中,`method_name` 为 ACPI 方法的名称,`parameter` 为方法的参数。例如,要设置亮度为 50%,可以执行以下命令: ``` echo "\_SB.PCI0.LPCB.PS2M._BCM 5" | sudo tee /proc/acpi/call ``` 注意,每个系统的 ACPI 方法都不同,需要根据自己的系统进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值