Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 32124|回复: 73

[教程] 解决7系列主板usb引起的睡眠唤醒问题,包含usb3.0内建及3.0转2.0方法。 [复制链接]

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2139
PB币
19
贡献
0
技术
175
活跃
1013

7周年庆典勋章

发表于 2012-11-12 13:19:17 |显示全部楼层
解决7系列主板usb引起的睡眠唤醒问题,包含usb3.0内建及3.0转2.0方法。
各位有睡眠自动唤醒的而且日志里面有

Wake reason: EHC1  
Wake reason: EHC2
Wake reason: XHC

这种情况的往下看。

之前有个解决办法,将所有EHC和XHC删除,但是会造成唤醒后usb意外推出以及usb识别为扩展的问题。以下办法会解决这个问题。


通常主板dsdt中会有Device (EHC1)及Device (EHC2)和Device (XHC),其中前两个为usb2.0,后一个为usb3.0.。

首先,关于usb2.0内建

只需要在Device (EHC1)及Device (EHC2)下的
  1. Method (_PRW, 0, NotSerialized)
  2.             {
  3.                 Return (GPRW (0x0D, 0x03))
  4.             }
复制代码
后加入
  1. Method (_DSM, 4, NotSerialized)
  2.             {
  3.                 Store (Package (0x13)
  4.                     {
  5.                         "device-id",
  6.                         Buffer (0x04)
  7.                         {
  8.                              0x26, 0x1C, 0x00, 0x00
  9.                         },
  10.                         "built-in",
  11.                         Buffer (One)
  12.                         {
  13.                              0x00
  14.                         },
  15.                         "AAPL,clock-id",
  16.                         Buffer (One)
  17.                         {
  18.                              0x01
  19.                         },
  20.                         "device_type",
  21.                         Buffer (0x05)
  22.                         {
  23.                             "EHCI"
  24.                         },
  25.                         "AAPL,current-available",
  26.                         0x0834,
  27.                         "AAPL,current-extra",
  28.                         0x0898,
  29.                         "AAPL,current-extra-in-sleep",
  30.                         0x0640,
  31.                         "AAPL,device-internal",
  32.                         0x02,
  33.                         "AAPL,max-port-current-in-sleep",
  34.                         0x0834,
  35.                         Buffer (One)
  36.                         {
  37.                              0x00
  38.                         }
  39.                     }, Local0)
  40.                 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  41.                 Return (Local0)
  42.             }
复制代码
其中device id 部分自行更换为自己usb的id。7系列估计都这个id。
7系列的原生usb3.0部分同样在Device (XHC)下的
  1. Method (_PRW, 0, NotSerialized)
  2.             {
  3.                 Return (GPRW (0x0D, 0x03))
  4.             }
复制代码
后面加入
  1. Method (_DSM, 4, NotSerialized)
  2.             {
  3.                 Store (Package (0x13)
  4.                     {
  5.                         "device-id",
  6.                         Buffer (0x04)
  7.                         {
  8.                              0x31, 0x1E, 0x00, 0x00
  9.                         },
  10.                         "built-in",
  11.                         Buffer (One)
  12.                         {
  13.                              0x00
  14.                         },
  15.                         "AAPL,clock-id",
  16.                         Buffer (One)
  17.                         {
  18.                              0x01
  19.                         },
  20.                         "device_type",
  21.                         Buffer (0x05)
  22.                         {
  23.                             "XHC"
  24.                         },
  25.                         "AAPL,current-available",
  26.                         0x0834,
  27.                         "AAPL,current-extra",
  28.                         0x0898,
  29.                         "AAPL,current-extra-in-sleep",
  30.                         0x0640,
  31.                         "AAPL,device-internal",
  32.                         Zero,
  33.                         "AAPL,max-port-current-in-sleep",
  34.                         0x0834,
  35.                         Buffer (One)
  36.                         {
  37.                              0x00
  38.                         }
  39.                     }, Local0)
  40.                 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  41.                 Return (Local0)
  42.             }
复制代码
这里面的device id为原生usb3.0的id。

大家都有发现原生usb3.0只认键盘鼠标和3.0的设备。
要认2.0的设备只能把usbxhci的kext删除。其实dsdt也能直接把usb3.0降级为2.0。
方法就是把上面提到过的Device (XHC)下新加入代码里的device id改为usb 2.0的id即可。是不是很简单呢?



最后:诚征无线网卡睡眠唤醒后不能联网的解决方案。
表现错误如下:

  1. kernel[0]: ARPT cannot assert wake from D3cold
复制代码


6

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
367177
帖子
1781
PB币
7705
贡献
0
技术
372
活跃
13
发表于 2012-11-12 13:30:19 |显示全部楼层
看来USB2.0与3.0还是无法自动切换。

最近两天人气不怎样,是不是都血拼去了

UID
2409498
帖子
27335
PB币
926
贡献
4
技术
1339
活跃
694
发表于 2012-11-12 13:51:13 |显示全部楼层
这个方法,和以前的dsdt patch没发现有何不同
而且下面类似这些代码
  1. "AAPL,current-available",
复制代码
是苹果的标准,好像我们的机器不是一样的

最后个问题,ARPT我也有这个提示,不过唤醒继续使用
那个东西就算删了PRW还是一样会出现,估计是和无线网卡的kext里面的代码有关

UID
2409498
帖子
27335
PB币
926
贡献
4
技术
1339
活跃
694
发表于 2012-11-12 13:52:42 |显示全部楼层
vinclone 发表于 2012-11-12 13:30
看来USB2.0与3.0还是无法自动切换。

最近两天人气不怎样,是不是都血拼去了

我也发现最近比较少
我上次不是和你说最近那个笔记本的更新么
它里面说改进了USB设备兼容性,当时我就在想,会不会和这个usb3.0有关
可惜我木有usb3.0的接口,也没u盘,很想测试却不能啊。 苦逼

Rank: 7Rank: 7Rank: 7

UID
367177
帖子
1781
PB币
7705
贡献
0
技术
372
活跃
13
发表于 2012-11-12 14:04:13 |显示全部楼层
p.H 发表于 2012-11-12 13:52
我也发现最近比较少
我上次不是和你说最近那个笔记本的更新么
它里面说改进了USB设备兼容性,当时我就在 ...

我的H61芯片组也没有原生USB3.0,连板载第三方芯片都没有,同样无法测试啊。

12C3006的结果可能会跟12C2034一样,后者也有提及USB3.0稳定性的改善,
已经遇到合适的景友,帮忙测试过了,问题依旧。

USB2.0与3.0切换,估计跟苹果的双显卡切换一样,都是由硬件进行控制的,
因此跟PC通过软件或驱动控制切换的方式有所不同,黑果对此问题也就束手无策了。

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2139
PB币
19
贡献
0
技术
175
活跃
1013

7周年庆典勋章

发表于 2012-11-12 14:05:14 |显示全部楼层
本帖最后由 Carbin 于 2012-11-12 14:06 编辑
p.H 发表于 2012-11-12 13:51
这个方法,和以前的dsdt patch没发现有何不同
而且下面类似这些代码是苹果的标准,好像我们的机器不是一样 ...

还真没发现是一样的~以前我不用改睡眠不会有这个问题。
关键是我是9285~别人都没这个问题~貌似就我的唤醒过后找不到网络。

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14351
PB币
82851
贡献
0
技术
711
活跃
1309

7周年庆典勋章 荣誉会员 8周年庆典勋章

发表于 2012-11-12 14:10:15 来自手机 |显示全部楼层
p.H 发表于 2012-11-12 13:52
我也发现最近比较少
我上次不是和你说最近那个笔记本的更新么
它里面说改进了USB设备兼容性,当时我就在 ...

那个更新对3。0支持没什么改善 至少我这原生插2。0 u盘还是没反应

Rank: 7Rank: 7Rank: 7

UID
367177
帖子
1781
PB币
7705
贡献
0
技术
372
活跃
13
发表于 2012-11-12 14:13:15 |显示全部楼层
Carbin 发表于 2012-11-12 14:05
还真没发现是一样的~以前我不用改睡眠不会有这个问题。
关键是我是9285~别人都没这个问题~貌似就我的唤醒过后找不到网络。

不知道这样手动操作是否有效:

在系统偏好设置的网络中,左侧设备列表选中该无线网卡,
然后点开列表下方的齿轮,下拉菜单第三项:“使服务处于不活跃状态”,后按“应用”,
等网卡的灯变灰暗后,重新按齿轮,同样选第三项“使服务处于活跃状态”,再次“应用”。

这样看网卡能否重新自己连接上去。

我的有线网卡在VMware Fusion退出后无法上网,目前也是这样操作的。

UID
2409498
帖子
27335
PB币
926
贡献
4
技术
1339
活跃
694
发表于 2012-11-12 14:21:10 |显示全部楼层
hellozhangxin 发表于 2012-11-12 14:10
那个更新对3。0支持没什么改善 至少我这原生插2。0 u盘还是没反应

原来是这样。  哎,只有默默的等了

UID
2409498
帖子
27335
PB币
926
贡献
4
技术
1339
活跃
694
发表于 2012-11-12 14:22:15 |显示全部楼层
Carbin 发表于 2012-11-12 14:05
还真没发现是一样的~以前我不用改睡眠不会有这个问题。
关键是我是9285~别人都没这个问题~貌似就我的唤 ...

9285路过
如果不是一样的,我就不会用AAPL那些东西,系统默认的就好
这个不影响我睡眠

UID
2409498
帖子
27335
PB币
926
贡献
4
技术
1339
活跃
694
发表于 2012-11-12 14:22:49 |显示全部楼层
vinclone 发表于 2012-11-12 14:04
我的H61芯片组也没有原生USB3.0,连板载第三方芯片都没有,同样无法测试啊。

12C3006的结果可能会跟12 ...

有可能,一个更新是为笔记本,一个为台式机
可以这么认为

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2139
PB币
19
贡献
0
技术
175
活跃
1013

7周年庆典勋章

发表于 2012-11-12 14:26:10 |显示全部楼层
hellozhangxin 发表于 2012-11-12 14:10
那个更新对3。0支持没什么改善 至少我这原生插2。0 u盘还是没反应

没反应~白果子能用2.0么

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2139
PB币
19
贡献
0
技术
175
活跃
1013

7周年庆典勋章

发表于 2012-11-12 14:28:08 |显示全部楼层
vinclone 发表于 2012-11-12 14:13
不知道这样手动操作是否有效:

在系统偏好设置的网络中,左侧设备列表选中该无线网卡,

无效,很悲剧的说。

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2139
PB币
19
贡献
0
技术
175
活跃
1013

7周年庆典勋章

发表于 2012-11-12 14:30:55 |显示全部楼层
vinclone 发表于 2012-11-12 14:04
我的H61芯片组也没有原生USB3.0,连板载第三方芯片都没有,同样无法测试啊。

12C3006的结果可能会跟12 ...

12C3006我这提示更新了,更新完了也没变化,不过在线更新完成一样会提示更新失败,重启会发现更新其实完成了。

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14351
PB币
82851
贡献
0
技术
711
活跃
1309

7周年庆典勋章 荣誉会员 8周年庆典勋章

发表于 2012-11-12 14:31:30 |显示全部楼层
Carbin 发表于 2012-11-12 14:26
没反应~白果子能用2.0么

木有白果
表示不清楚

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2139
PB币
19
贡献
0
技术
175
活跃
1013

7周年庆典勋章

发表于 2012-11-12 14:36:53 |显示全部楼层
hellozhangxin 发表于 2012-11-12 14:31
木有白果
表示不清楚

表示我的蓝牙和摄像头都在usb3上面~不能识别,然后改成2.0就能识别了~纠结的问题

Rank: 7Rank: 7Rank: 7

UID
367177
帖子
1781
PB币
7705
贡献
0
技术
372
活跃
13
发表于 2012-11-12 14:41:38 |显示全部楼层
p.H 发表于 2012-11-12 14:22
有可能,一个更新是为笔记本,一个为台式机
可以这么认为

12C2034针对的机型也有一个本本的,Macmini用的也是移动平台,视网膜iMac的话只有独显N卡是移动版。

Rank: 7Rank: 7Rank: 7

UID
367177
帖子
1781
PB币
7705
贡献
0
技术
372
活跃
13
发表于 2012-11-12 14:45:04 |显示全部楼层
Carbin 发表于 2012-11-12 14:30
12C3006我这提示更新了,更新完了也没变化,不过在线更新完成一样会提示更新失败,重启会发现更新其实完成 ...

还是那个问题啊。

另,无线网卡可以手动设定ip吗,不过估计帮助不大,这个找不到网络的问题比Fusion的严重多了。

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2139
PB币
19
贡献
0
技术
175
活跃
1013

7周年庆典勋章

发表于 2012-11-12 14:47:20 |显示全部楼层
vinclone 发表于 2012-11-12 14:45
还是那个问题啊。

另,无线网卡可以手动设定ip吗,不过估计帮助不大,这个找不到网络的问题比Fusion的 ...

可以~但是没用啊~唤醒了不是找不到硬件,是找不到网络,我手动添加无线网络也没用。只能重启

UID
2409498
帖子
27335
PB币
926
贡献
4
技术
1339
活跃
694
发表于 2012-11-12 15:11:18 |显示全部楼层
vinclone 发表于 2012-11-12 14:41
12C2034针对的机型也有一个本本的,Macmini用的也是移动平台,视网膜iMac的话只有独显N卡是移动版。

真不知道Apple这样到底是想搞什么了
回顶部
Copyright (C) 2005-2020 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件