|
今天翻检旧迹,发现了修改我的神州承运M726E中DSDT错误导致kernel中acpi
模块定期出现电源指示错误的BUG,想想可能对大家有用,所以贴出来,日记:
”今天将linux下笔记本电源的显示问题解决了。
首先,下午发现cat /proc/acpi/dsdt > dsdt.dat
./iasl -d dsdt.dat
生成的dsdt.dsl文件中_OS默认为:"Microsoft Windows NT",
在启动内核境象语句后加acpi_os_name="Microsoft Windows XP"
启动后,调试信息反而显示非windows类的系统,且除了拔插电源
时显示不正确外,其它电源百分比和内核信息都正常,于是修改
了dsdt.dsl中判断系统的函数,使其全部返回为非win32系统。
其次,到晚上也解决了电源拔插时图标不准确的问题,是在
"AC Change"这个函数中将原Notify (\_SB.PCI0.AC0, 0x00)改
为:Notify (\_SB.PCI0.AC0, 0x80)
Notify (\_SB.PCI0.BAT0, 0x80)
翻spec发现:AC0->"ACPI0003"实际是电源管理的适配器;
BAT0->"PNP0C0A"是电源设备对象。
Notify (\_SB.PCI0.AC0, 0x00)是叫适配器重新扫描联接pci
和pnp上的电源设备。
而 Notify (\_SB.PCI0.AC0, 0x80)
Notify (\_SB.PCI0.BAT0, 0x80)
才是提醒适配器和电源设备,电源的状态已更改。 “
相关的资料网上有下,补丁见附件。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|