- 积分
- 66
- 最后登录
- 2023-12-7
- 精华
- 0
- 阅读权限
- 20
- 主题
- 11
- UID
- 158988
- 帖子
- 164
- PB币
- 1911
- 威望
- 0
- 贡献
- 0
- 技术
- 1
- 活跃
- 804
- UID
- 158988
- 帖子
- 164
- PB币
- 1911
- 贡献
- 0
- 技术
- 1
- 活跃
- 804
|
发表于 2015-2-11 18:01:57
IP属地内蒙古
|显示全部楼层
华硕 K45V 笔记本 休眠后瞬间被USB设备唤醒 详细解决方法
系统是10.10.2
用的 s1025xfei 的教程安装的 https://bbs.pcbeta.com/viewthread-1432534-1-1.html
安装完成后又安装了
VoodooPS2Controller.kext 2014-10-16 v1.8.13 (先删除了原来的两个PS2kext)
GenericUSBXHCI.kext 1.2.8d9(兼容10.10)
RealtekRTL8111-Binary-f
RehabMan-Battery-2014-0207
VoodooHDA-v2.8.7
声卡杂音是根据 zlowin 的帖子调整的。 https://bbs.pcbeta.com/viewthread-1555597-1-1.html
==============================
下面说说休眠后瞬间被USB设备唤醒
华硕K45V的休眠键是 fn + f1 ,按下休眠键,屏幕关闭,硬盘响一会熄灭,电源指示灯由常亮变为闪烁,
进入休眠,但1~2秒之后,硬盘灯与电源灯亮起,苏醒,屏幕是黑的,按键盘能提亮屏幕。
在论坛搜索说是USB唤醒休眠。所以就进入BIOS中(启动时按F2),将usb设备关闭(lock),果然休眠正常了,
但所有的usb设备都不能用了。于是就开始了在dsdt中删除usb的旅程。
下载
MaciASL.zip
(3.43 MB, 下载次数: 3)
运行后 MaciASL 会自动读取当前系统中的System dsdt ,
选择 文件—save as 保存为 dadt.dsl
点击窗口中间的 Compile ,会出现许多错误,改正一个Compile编译一次。直到 0错误 0警告
在 _SB.PCI0 分支下 删除 GLAN EHC1 EHC2 XHC HDEF
例如: 删除GLAN
//从此处开始
Device (GLAN)
{
Name (_ADR, 0x00190000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
//从此结束
有的要删除的范围很大,可以用鼠标指针放在第一个花括号上,指针不动,用滚轮滚动到对应的下一个花括号上。
成对括号的缩进是一样的。
Compile 编译 直到 0错误 0警告。
选择 文件—save as 保存为 dsdt.aml
将文件放置到 /Extra (我用的是变色龙引导)
重新启动系统,看看效果吧!
将/Extra/dsdt.aml 删除就取消了修改。所以放心的去改吧!
========================================
我遇到的编译错误:(参照了 绝情奶牛 与 P2Baby 的帖子)
Name already exists in scope (\TNOT)
External (\TNOT)
处理办法:直接删除上面一行
Use of compiler reserved name (_T_0)
Name (_T_0, Zero)
处理办法:将 _T_0 替换为 T_0 ,类似的还有
_T_1 -> T_1
_T_2 -> T_2
_T_3 -> T_3
_T_4 -> T_4
Not all control paths return a value (_DSM)
Method (_DSM, 4, Serialized)
{
。。。。。
。。。。。
Return (Zero) //后添加的
}
处理办法:在对应的最后一个花括号上面添加 Return (Zero)
Invalid object type for reserved name (found BUFFER, requires Package)
Name (_PLD, Buffer (0x10)
{
0x81, 0x00, 0x30, 0x00
})
处理办法: //下面是处理后的
Name (_PLD, Package(1){ Buffer (0x10) //加入 Package(1){ 放在逗号与Buffer中间
{
0x81, 0x00, 0x30, 0x00
} } ) // 加入 } 放在 }与)之间
Possible operator timeout is ignored
Acquire (MUTE, 0x03E8)
处理办法:将 0x03E8 替换为 0xFFFF , 有很多类似的 都替换为 0xFFFF
Statement is unreachable
Return (Local2)
While (LEqual (And (P6CH, 0x02), 0x02))
{
Sleep (0x0A)
}
Store (0xFF, P6CH)
}
处理办法:将 Return (Local2) 下面几行删除,直到有缩进的花括号。
Unknown reserved name (_WDG)
处理办法:去掉 _WDG 前面的 _
Result is not used, operator has no effect
Add (ShiftLeft (QDEV (0x02), 0x02), Local0)
Add (ShiftLeft (QDEV (0x04), 0x04), Local0)
Add (ShiftLeft (QDEV (0x08), 0x06), Local0)
处理办法:删除行
删除 GLAN EHC1 EHC2 XHC HDEF 后会出现大量错误,主要是使用 EHC1 EHC2 XHC 这些名字的
语句找不名字了,我直接都删除了包含错误名称的语句块。
如 if else 块。
Object not found or not accessible from scope (_SB.PCI0.EHC1)
Scope (_SB.PCI0.EHC1) 范围很大,但也直接删除
Scope (_SB.PCI0.EHC2) 范围很大,但也直接删除
====================================
写了这么多,为第一次编辑 dsdt 文件做个备忘。
补充内容 (2015-2-12 18:08):
删除 GLAN EHC1 EHC2 XHC HDEF 是根据电源管理日志中
Darkwake的提示。 每次删除一个,最终到删除HDEF后,睡眠正常。 |
|