首页
学习
活动
专区
圈层
工具
发布

_OSC控制
EN

Ask Ubuntu用户
提问于 2012-10-18 00:31:19
回答 1查看 8K关注 0票数 2

我注意到来自dmesg输出的一个错误,即ubuntu无法启用ASPM:

代码语言:javascript
复制
[    0.192722]  pci0000:00: ACPI _OSC support notification failed, disabling PCIe ASPM
[    0.192728]  pci0000:00: Unable to request _OSC control (_OSC support mask: 0x08)

虽然我知道这不是一个错误,但我想问一下是否有一种方法来纠正它并启用ASPM,原因是它应该提高电池寿命(powertop显示PCIe总是100%打开)。

编辑:我正在使用最新的bios版本(1401)运行在ASUS eee pc 1015 pc上。

EN

回答 1

Ask Ubuntu用户

发布于 2012-11-29 22:48:23

我把它粘贴在我的博客中(加上一些修改),因为它为这个问题添加了一些上下文。

基于Power的串行连接设备可以由Active State Power Management (ASPM)管理,以延长笔记本和上网本等移动设备上的电池寿命。ASPM是一种电源管理协议,它允许操作系统的电源管理将链路物理层置于低功耗模式,并能够指示链路上的其他设备也进入低功耗模式。

好处是,我们使用ASPM节省电力,然而,它将引入一些延迟,因为总线需要时间唤醒时,在低功耗状态。PCIe规范(Version2.0)定义了两种电源模式:

  • L0s,它在链路上设置低功耗模式(通常来自物理链路层控制器下游)。
  • L1,它在链路的两个方向设置低功耗模式,但是有更大的唤醒延迟。

不幸的是,您的固件似乎向内核表明它确实不支持硬件上的ASPM。内核使用ACPI _OSC控件查询固件,以查看是否支持ASPM,并通知它不支持,因此禁用了ASPM。禁用此功能的原因是特定于供应商的。这可能是因为在Windows上,如果启用了ASPM,某些东西就会挂起或不可靠,所以固件会完全禁用它。

Linux还提供了一些ASPM驱动程序内核参数,以允许某种程度的可调整性。可以使用以下内核参数:

禁用ASPM:

代码语言:javascript
复制
pcie_aspm=off

使用默认固件配置:

代码语言:javascript
复制
pcie_aspm=default

禁用ASPM和时钟电源管理:

代码语言:javascript
复制
pcie_aspm=performance

最高省电模式,启用ASPM和时钟电源管理:

代码语言:javascript
复制
pcie_aspm=powersave

强制执行ASPM:

代码语言:javascript
复制
pcie_aspm=force

您可能希望修改最后一个设置,看看是否可以覆盖默认的ASPM设置。

票数 6
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/202308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档