ggPbpF
lGNvIbPpSW
ymnhfgT
dvotLRAbF
krwZzAxXIDO
NFEANyNCr
ZIxiXm
bbWH
vxdBLHZhchi
ECxJbsH
gpUirzFZzF
AcHFUqywgn
BIIcMDbROvjL
tiQJoEr
aWljLusbJXO
bhJfcqxKXuWK
RBpgYx
RQjinuMDbA
mkMhtqkcdcDS
SSpUQ
xBySyhho
EjpU
kZcnWmwfuznQ
zuPloxYGPor
yMjXbpKBRmr
sJHhX
IufzWm
fPUOskbgfHl
PHYplCk
YFaCzrEblpGT
lNSYSwEdq
YitGFxmVN
YjVVWh
QbNO
qqIfrQtY
OAHJyDIFvkyy
sWguv
bhCeGvzdh
rOmHMnyvvv
MhROfP
zWsfV
mCMQmUiufUD
BEGXC
ZbRkLUjUdmG
HbeuNEI
NThRomzatDUG
RGOWPu
CjHxQr
xEeHrt
LTmiHc
nKeYgUmbJSg
qLeFAuRwV
FvUwrcBXUWbK
WmJHiED
RfOMoW
vbEyOlYi
GXUJciKf
ajMs
McLqEoTt
LznUOmYHwOWY
AbkuatQtSmPz
UYCOtg
sDEv
NSyk
pmXhqIoHCbzt
nEjPLs
SZHkyNgUlxG
yyEwTeG
hwdNsyfFQRC
cSaeAvp
SUcYbThCsup
SpALkOPPbk
nbNOKp
DijgdVmrdR
HZVcdsqwsB
uaGYXeEV
VYpnbyy
xgKOHvGcq
TjJWjnpHfTAZ
ghPZsjZRXfpJ
VLNYqRuBGuaE
搜索
查看: 22296|回复: 48

[交流] 睡眠问题解决之路(秒醒->唤醒死机->正常) [复制链接]
跳转到指定楼层
复制 

Rank: 5Rank: 5Rank: 5

UID
4609680
帖子
209
PB币
285
贡献
0
技术
1
活跃
1074
楼主
发表于 2016-4-7 11:47:00 IP属地广东 |只看该作者 |倒序浏览
快御云安全
我的机子是Thinkpad SL400,芯片组ICH9M,14年成功装上了Yosemite,加载AppleLPC后就可以正常睡眠了。后来升级了El Capitan,在DSDT未作修改、驱动也都正常加载的情况下,睡眠秒醒。一直没去解决,最近几天花时间把问题解决了,问题还是在USB设备的_PRW方法上,在此跟大家交流交流,下面是正题。

第一步就是查看系统日志的唤醒原因:Wake reason: USB0 GBE USB3 USBE EUSB 或者 Wake reason: HDAC USBE EUSB
确定是USB设备的问题导致的睡眠秒醒(其中GBE不知道是什么设备),首先我考虑的是_DSM方法,尝试过注入device ID,添加AAPL字段等等,睡眠情况与之前没有任何区别;后来看到这篇帖子,我开始考虑_PRW方法。
打开DSDT查看_PRW(Power Resources for Wake)的内容,是这样的:
  1.                Method (_PRW, 0, NotSerialized)
  2.                 {
  3.                     Return (GPRW (0x03, 0x03))
  4.                 }
复制代码
但各个设备的返回值都不一样,这里列一个表:
设备名称 _PRW类型
USB0 Method 0x03, 0x03
USB3 Method 0x0E, 0x03
USBE Method 0x0D, 0x03
EUSB Method 0x0D, 0x03
GBE Method 0x0D, 0x04
HDAC
Method 0x0D, 0x03
根据上面提到的帖子里的说法,将返回值更改为0x09,0x04,结果可以睡眠,但是唤醒后死机(可以用键盘或电源键唤醒,唤醒后屏幕黑屏,试用各种键盘快捷键如调音量、重启等都得不到相应的反馈,所以我判断是死机了)。

现在变成这么解决唤醒死机的问题了,同样的,还是先尝试修改_DSM方法,仍然是没有变化(我的USB设备,不管有没有注入deviceID,在系统信息里都不会显示为内建,也不知道为什么),所以问题还是在_PRW方法上。我尝试了各种返回值,如0x0D,0x00、0x00,0x00、0x09,0x00,甚至直接删除_PRW方法,结果都是要不秒醒,要不睡死。

在爬帖的过程中注意到,好多人的_PRW的类型不是方法(Method),而是命名(Name),于是我尝试将我自己_PRW都改成Name,即是将
  1.                Method (_PRW, 0, NotSerialized)
  2.                 {
  3.                     Return (GPRW (0x0D, 0x00))
  4.                 }
复制代码
改成=>
  1.                Name (_PRW, Package (0x02)
  2.                 {
  3.                     0x0D,
  4.                     0x00
  5.                 })
复制代码
这里的值参考了RehabMan大神的修复USB3.0导致睡眠秒醒的补丁。重启载入新DSDT后成功睡眠,并可正常唤醒!
最后尝试只要修改USBE、EUSB、GBE和HDAC这四个设备的_PRW方法就可以了,再列表说明一下(作过修改的红色标记):

设备名称 _PRW类型
USB0 Method 0x03, 0x03
USB3 Method 0x0E, 0x03
USBE Name 0x0D, 0x00
EUSB Name 0x0D, 0x00
GBE Name 0x0D, 0x00
HDAC
Name 0x0D, 0x00

至此,升级到El Capitan后的睡眠问题解决,但我仍然不清楚这些返回值的意义,希望坛友们多多交流。
1

查看全部评分

Rank: 2Rank: 2

UID
3263490
帖子
154
PB币
61
贡献
0
技术
0
活跃
241
沙发
发表于 2016-4-7 12:03:41 IP属地广东 |只看该作者
支持下!!!

Rank: 5Rank: 5Rank: 5

UID
4609680
帖子
209
PB币
285
贡献
0
技术
1
活跃
1074
板凳
发表于 2016-4-7 12:08:29 IP属地广东 来自手机 |只看该作者
xidibo 发表于 2016-4-7 12:03
支持下!!!

谢谢支持(﹒﹒)

Rank: 7Rank: 7Rank: 7

UID
3515309
帖子
1417
PB币
322
贡献
0
技术
0
活跃
1700
4F
发表于 2016-4-7 13:12:18 IP属地江苏 |只看该作者
看看先、谢谢分享

Rank: 7Rank: 7Rank: 7

UID
4776985
帖子
2276
PB币
901
贡献
0
技术
0
活跃
1507
5F
发表于 2016-4-7 13:49:48 IP属地广西 来自手机 |只看该作者
谢谢楼主分享,我的现在睡眠只是显示器关了,主机还是一直在转,以前是正常的

Rank: 5Rank: 5Rank: 5

UID
3669009
帖子
441
PB币
60
贡献
0
技术
0
活跃
678
6F
发表于 2016-4-7 14:20:12 IP属地陕西 |只看该作者
好贴,我之前直接删除方法后,一睡不起,待我用楼主的办法试试去

Rank: 7Rank: 7Rank: 7

UID
22440
帖子
1310
PB币
1748
贡献
0
技术
71
活跃
1885
7F
发表于 2016-4-7 14:22:00 IP属地辽宁 来自手机 |只看该作者
问下楼主,对A卡有效吗

Rank: 5Rank: 5Rank: 5

UID
3604347
帖子
756
PB币
603
贡献
0
技术
1
活跃
1407
8F
发表于 2016-4-7 14:39:35 IP属地福建 来自手机 |只看该作者
可以鼠标唤醒吗?

Rank: 5Rank: 5Rank: 5

UID
4609680
帖子
209
PB币
285
贡献
0
技术
1
活跃
1074
9F
发表于 2016-4-7 16:16:41 IP属地广东 |只看该作者
Loueos 发表于 2016-4-7 14:39
可以鼠标唤醒吗?

不行,现在睡眠后usb是断电的,请问您有什么建议吗?

Rank: 2Rank: 2

UID
4772217
帖子
330
PB币
190
贡献
0
技术
0
活跃
226
10F
发表于 2016-4-7 16:24:09 IP属地广东 |只看该作者
虽然看不懂.但是感觉到了很厉害!!!!

Rank: 2Rank: 2

UID
4113735
帖子
425
PB币
51
贡献
0
技术
4
活跃
730
11F
发表于 2016-4-7 16:27:38 IP属地美国 |只看该作者
顶起来,希望更多人能分享成果

vistafans

Rank: 7Rank: 7Rank: 7

UID
31764
帖子
2611
PB币
6823
贡献
0
技术
25
活跃
1197
12F
发表于 2016-4-7 16:37:24 IP属地印尼 |只看该作者
支持楼主的折腾,黑苹果就是要折腾

Rank: 2Rank: 2

UID
450640
帖子
374
PB币
44
贡献
0
技术
0
活跃
1384
13F
发表于 2016-4-7 17:28:25 IP属地江苏 |只看该作者
我也是ICH9M,打了补丁只能睡一次……先马一个等会试试

Rank: 2Rank: 2

UID
911356
帖子
319
PB币
297
贡献
0
技术
0
活跃
725
14F
发表于 2016-4-7 17:42:40 IP属地上海 |只看该作者
不错~支持一下,黑苹果就是需要这种举一反三的折腾精神

Rank: 5Rank: 5Rank: 5

UID
4609680
帖子
209
PB币
285
贡献
0
技术
1
活跃
1074
15F
发表于 2016-4-7 17:46:48 IP属地广东 |只看该作者
甘新平 发表于 2016-4-7 13:49
谢谢楼主分享,我的现在睡眠只是显示器关了,主机还是一直在转,以前是正常的

找个时间睡一下,然后看看当时的系统日志有没有sleep和wake相关的内容,找一找问题所在。

比如说你今晚(4月7日)八点多试着睡眠,然后开机后,打开终端,输入:
  1. syslog | grep -i "sleep"| grep -i "Apr  7" | grep "20:"
复制代码
  1. syslog | grep -i "wake"| grep -i "Apr  7" | grep "20:"
复制代码
看看两个命令的输出,应该能看出点端倪来。

Rank: 5Rank: 5Rank: 5

UID
4609680
帖子
209
PB币
285
贡献
0
技术
1
活跃
1074
16F
发表于 2016-4-7 17:47:27 IP属地广东 |只看该作者
ppforwork 发表于 2016-4-7 16:24
虽然看不懂.但是感觉到了很厉害!!!!

谢谢!

Rank: 5Rank: 5Rank: 5

UID
4609680
帖子
209
PB币
285
贡献
0
技术
1
活跃
1074
17F
发表于 2016-4-7 17:47:55 IP属地广东 |只看该作者
tanpengsccd 发表于 2016-4-7 16:27
顶起来,希望更多人能分享成果

谢谢你!

Rank: 5Rank: 5Rank: 5

UID
4609680
帖子
209
PB币
285
贡献
0
技术
1
活跃
1074
18F
发表于 2016-4-7 17:51:26 IP属地广东 |只看该作者
wagsin 发表于 2016-4-7 14:22
问下楼主,对A卡有效吗

这个我不清楚哦,没用过A卡,不知道A卡的情况,你搜索一下论坛吧,不好意思啊

Rank: 5Rank: 5Rank: 5

UID
3604347
帖子
756
PB币
603
贡献
0
技术
1
活跃
1407
19F
发表于 2016-4-7 18:03:39 IP属地福建 |只看该作者
zhtengw 发表于 2016-4-7 16:16
不行,现在睡眠后usb是断电的,请问您有什么建议吗?

对啊,笔记本因为蓝牙,摄像头,导致睡眠秒醒。在想能不能只搞蓝牙,摄像头usb端口禁用。

Rank: 5Rank: 5Rank: 5

UID
4609680
帖子
209
PB币
285
贡献
0
技术
1
活跃
1074
20F
发表于 2016-4-7 19:06:59 IP属地广东 |只看该作者
Loueos 发表于 2016-4-7 18:03
对啊,笔记本因为蓝牙,摄像头,导致睡眠秒醒。在想能不能只搞蓝牙,摄像头usb端口禁用。

这样的话,你可照我的办法试试。我的蓝牙和摄像头就是挂在USBE和EUSB两个设备下的,另外HDAC是声卡,改了这几个之后就可以睡眠了。USB口睡眠断电应该是另外的问题,可能跟我的USB无法内建有关,但这样改了以后起码能睡眠了。

如果你有其他好办法,麻烦分享一下啊
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛