远景论坛 - 微软极客社区

标题: 解决hm55平台下笔记本的睡眠问题 [打印本页]

作者: jisare    时间: 2010-10-17 20:58     标题: 解决hm55平台下笔记本的睡眠问题

适用于神舟电脑a460,asus g51/g60等等,其它pm55平台,ibex peak系列笔记本都可以试一试
睡眠成功以后,我的A460-i5d3已经达到可以日常使用的状态了

问题关键在于dsdt 中usb信息变成RHUB+PRT方式

症状:sleep后,lcd黑屏, 但并未睡眠,只能强行关机
现状:fakesmc 405, 原生电源管理(appleintelpm, applelpc,没有disabler,没有nullintelpm),chameleon rc5 rev218, kernel 10.4.1
步骤:
1.EHCI内建,
2,Scope (\_SB.PCI0.EHC0)中的Device(RHUB)移到Device (EHC0),Scope (\_SB.PCI0.EHC1)中的Device(RHUB)移到Device (EHC1)
具体看下面

1.高速usb内建:添加下面代码到Name (_ADR, 0x001D0000)和Name (_ADR, 0x001A0000)下方

                Name (_S1D, 0x02)
                Name (_S3D, 0x02)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0B)
                        {
                            "AAPL,clock-id",
                            Buffer (One)
                            {
                                0x01
                            },

                            "device_type",
                            Buffer (0x05)
                            {
                                "EHCI"
                            },

                            "AAPL,current-available",
                            0x04B0,
                            "AAPL,current-extra",
                            0x02BC,
                            "AAPL,current-in-sleep",
                            0x03E8,
                            Buffer (One)
                            {
                                0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
注意,这一段和论坛以前的内建方式不一样,多出下面一段

                Name (_S1D, 0x02)
                Name (_S3D, 0x02)

2.device (RHUB)移到对应的 device (EHC1) device (EHC2)

找到类似下面的地方

    Scope (\_SB.PCI0.EHC0)
    {
        Name (UPCN, Package (0x04)
        {
            0x00,
            0xFF,
            0x00,
            0x00
        })
        Device (RHUB)
        {
            Name (_ADR, 0x00)
            Device (PRT1)
            {
                Name (_ADR, 0x01)
                Method (_UPC, 0, NotSerialized)
                {
                    Return (UPCN)
                }
            }

            Device (PRT2)
            {
                Name (_ADR, 0x02)
                Method (_UPC, 0, NotSerialized)
                {
                    Return (UPCN)
                }
            }
        }
    }

将Device (RHUB)移至上面的EHC0中
同理,将Scope (\_SB.PCI0.EHC1)中的Device (RHUB)移到EHC1中

因为这个方法只是参考了projectosx,insanelymac上相关资料,并自己摸索修改,并不是直接翻译过来成形的方法,还请大家多多测试
作者: daiyonghai    时间: 2010-10-17 21:22

回复 1# jisare


   睡眠后你现在能用键盘或鼠标唤醒吗?
作者: chenjars    时间: 2010-10-17 23:19

有空我要试试
作者: jisare    时间: 2010-10-18 09:26

回复 2# daiyonghai


    还不能,不过可以试试紫米ex58贴子里的方法
作者: cserft    时间: 2010-10-18 11:33

可惜我4741g试过了,还是不行…
作者: daiyonghai    时间: 2010-10-18 12:17

回复 5# jisare


   我没有像你这样改DSDT,只是换成了最新的变色龙,就能睡眠了。。。。不过唤醒只能用电源键。。。。
作者: jisare    时间: 2010-10-18 16:29

回复 6# cserft


   
内核10.4.1
fakesmc405
chameleon rc5 > rev218

我觉得以上条件都很重要
原生电源管理是更不必说了
作者: jisare    时间: 2010-10-18 16:32

回复 7# daiyonghai


   
chameleon 是哪个版本的?
rev518经常随机kp
最新的还没试过
作者: daiyonghai    时间: 2010-10-18 16:37

回复 9# jisare


   RC5 Ver569,现在最新的好像是596
作者: weizh126    时间: 2010-10-18 16:48

本帖最后由 weizh126 于 2010-10-18 16:52 编辑

usb唤醒的话 可以试试添加这个到usb装置下
  1. Name (_PRW, Package (0x02)
  2.                 {
  3.                     0x0C,
  4.                     0x03
  5.                 })
复制代码
里面的具体数值可以参看ACPI spec
_PRW (Power Resources for Wake)
This object evaluates to a list of power resources that are dependent on this device and additional information needed for wake, including wake GPE and sleep state information. _PRW is only required for devices that have the ability to wake the system from a system sleeping state.

由于是笔记本 合盖睡眠后 要是usb唤醒了的话 似乎不太好 所以我就把以上代码删除 即可去除usb装置唤醒 要是添加上的话 不知能否实现usb装置唤醒 另外 GPE下不知道是否需要对应的添加 我是为了去除唤醒 所以添加唤醒就没有去测试 有兴趣的就试试吧
作者: cserft    时间: 2010-10-18 17:01

回复 8# jisare


    你的dsdt发上来吧,我全部满足了,还是不用
作者: jisare    时间: 2010-10-19 15:11

回复 10# daiyonghai


   
在用rev59*,目前还没五国过
作者: jisare    时间: 2010-10-19 15:13

回复 11# weizh126


   
多谢补充,感兴趣的还可以选择clamshell fix的方法,insanelymac上有
作者: jisare    时间: 2010-10-19 15:15

回复 12# cserft


   
给你个aml吧

附件: dsdt.aml.zip (2010-10-19 15:15, 26.8 KB) / 下载次数 14
https://bbs.pcbeta.com/forum.php?mod=attachment&aid=MjQyNDIyM3w5NDcwMTEyNnwxNzE0MzA0ODk4fDB8MA%3D%3D
作者: weizh126    时间: 2010-10-19 15:25

回复 14# jisare


  
感兴趣的还可以选择clamshell fix的方法
 这个是什么意思呢? 没看懂
 合盖睡眠这一块 我基本上都搞明白并实现了 但”还可以“是指? 还望请教
作者: jisare    时间: 2010-10-20 22:11

回复 16# weizh126


   
不好意思,没说清楚
我只不过是想多提供一种唤醒的方法而已
个人不太喜欢usb唤醒的方式
作者: weizh126    时间: 2010-10-20 22:13

回复  weizh126


   
不好意思,没说清楚
我只不过是想多提供一种唤醒的方法而已
个人不太喜欢usb ...
jisare 发表于 2010-10-20 22:11



   我也不喜欢usb唤醒 尤其是笔记本盒盖睡眠以后。。。
作者: 柳逸风    时间: 2010-10-20 23:55

我的是能睡不醒,我郁闷了
作者: eminem0203    时间: 2010-10-21 01:04

謝謝樓主 !!!!
作者: jisare    时间: 2010-10-21 16:42

回复 19# 柳逸风


   
能讲一下具体症状吗?
也可能是lcd关闭而已,散热风扇还转吗?
作者: 柳逸风    时间: 2010-10-21 17:51

回复 21# jisare


   就是正常睡后,唤醒硬盘 开始 转,但屏是黑的,好像 系统 也没进吧,,只能关机重启
作者: jisare    时间: 2010-10-24 23:00

回复 22# 柳逸风


   
现象感觉和我的差不多,其实是没睡着
看一下原生电源管理实现了没
而且你签名中的配置不是hm55平台的吧
作者: 柳逸风    时间: 2010-10-25 17:14

回复 23# jisare


   我的原生电源都用起来了,睡是睡了,ASUS的好多有这个问题。。。不是一个平台的,,




欢迎光临 远景论坛 - 微软极客社区 (https://bbs.pcbeta.com/) Powered by Discuz! X2