- 积分
- 257
- 最后登录
- 2022-2-16
- 精华
- 0
- 阅读权限
- 30
- 主题
- 42
- UID
- 4341387
- 帖子
- 567
- PB币
- 458
- 威望
- 5
- 贡献
- 0
- 技术
- 0
- 活跃
- 1194
- UID
- 4341387
- 帖子
- 567
- PB币
- 458
- 贡献
- 0
- 技术
- 0
- 活跃
- 1194
|
发表于 2020-3-7 23:15:50
IP属地河北
|显示全部楼层
本帖最后由 tyuan1231 于 2020-3-23 06:24 编辑
基本情况:
联想Miix720/7200U/HD620/8G/西数黑盘1T
引导:OC MOD版 0.56版
系统:WIN10+10.15.3
原帖内容为更换VirtualSMC全家桶后电量不显示,问题已搞定:打上SMBUS的SSDT、BAT0/ADP0的_STA方法修改为返回1F/0F。原内容关闭。
改贴内容: 3.21更新内容:
目前两条报错都已经搞定,不过方法比较粗暴。
LID0._STA有引用ERAM域的EMOD,然后据说是在_REG前调用,因此引起了no handler for region [ERAM]这个问题。
而LID0._STA报错EMOD AE_NOT_EXIST这个,前天看笔记本LID0._STA无相关定义,感觉像是默认返回0x0F了。所以参考BAT0/ADP0的修改方式,直接暴力修改为返回0x0F。
以上,如有更好解决方式,请各位大神指点。
谢谢。
3.21再次更新其实之前就看到了这个帖子的介绍,没去尝试。
- https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1807371
复制代码 首先摘抄一下原帖:
1. EmbeddedControl 是一个Operation Region 在ACPI规范中它的ID值为3,根据ACPI规范中提到,在一个Scope或者Device中的方法不能访问EC等操作域中的字段,除非在一个固有方法_REG中,指明了EC域中的字段可以使用。
用RehanMan大神的解释:_STA不能出现对EC域的调用。
原帖的方式是在_REG中增加一个参数,EC的handler准备好后给其赋值,然后在_STA中增加If判断。虽然折腾之后发现这样会导致相关三个修改的_STA失效,但是确实把标题问题解决了。
感觉Store (ECOK, One)那个语句没能执行。
- DefinitionBlock
- {
- xxxxxx
- Scope(xx.xxxx.xxxx) //EC所在地方
- name (ECOK, Zero) //新建一个原DSDT没有的参数
- Method (_REG)
- {
- If (xxxx)
- {
- xxxx
- Store (One, ECOK)
- xxxx
- }
- }
- Scope (XXXX) //_STA有引用EC域里边参数的Device
- {
- Method (_STA)
- {
- If (LEqual (ECOK, One))
- {
- xxxx //原内容
- }
- }
- }
- }
复制代码
原BAT0/ADP0的_STA方法均有语句If(LEqual (ECON, one))如果不修改,总是无法返回1F/0F这个让设备正常的值。而ECON在Scope (\SB)下定义后,一直到_REG才有赋值语句,如下:
- {
- If (LEqual (Arg0, 0x03))
- {
- Store (Arg1, ECAV)
- }
- If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One)))
- {
- ...
- Store (One, ECON)
- ...
复制代码 我这种完全没相关知识的理解就是Store (One, ECON)这个语句没能执行。
然后开机log里边有错误:no handler for region [ERAM],具体如下:
- No handler for Region [ERAM] (ffffff802590d7d0) [EmbeddedControl]
- ACPI Error:
- Region EmbeddedControl (ID=3) has no handler
复制代码 不知道有没有关联。
另,还有LID0的错误:AE_NOT_EXIST这个怎么修复呢?明明在ERAM里边,还有DSDT最开头OperationRegion (GNVS, SystemMemory, 0x5BD75000, 0x06B2)都有这个EMOD呢。
- [\_SB.PCI0.LPCB.EC0.LID0._STA] (Node ffffff8025e41b40)
- AE_NOT_EXIST
复制代码 附上反编的DSDT
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|