- 积分
- 166
- 最后登录
- 2023-9-22
- 精华
- 0
- 阅读权限
- 20
- 主题
- 68
- UID
- 1620683
- 帖子
- 414
- PB币
- 0
- 威望
- 0
- 贡献
- 0
- 技术
- 54
- 活跃
- 188
- UID
- 1620683
- 帖子
- 414
- PB币
- 0
- 贡献
- 0
- 技术
- 54
- 活跃
- 188
|
发表于 2012-7-17 20:30:52
IP属地云南
|显示全部楼层
本帖最后由 veesolo 于 2012-7-19 12:33 编辑
今天无意中下了国外论坛上跟我同一种主板的DSDT来看,我就想说 试试他的DSDT 发现,他的DSDT 可以让我的山狮 深度睡眠,就是睡眠断电 ,但还是不能唤醒 。之前我的睡眠睡后不断电,就想说研究下他的为什么能深度睡眠。发现我的DSDT少了一些东西,看图对比
请勿使用多线程下载工具下载论坛附件!
这个是我之前的DSDT部分。现在是他的DSDT
请勿使用多线程下载工具下载论坛附件!
。不难发现,我的少了UHC1,UHC2,UHC3,UHC4,UHC5,UHC6,EHC2。之后我加入了这些代码,代码如下:Device (UHC1)
{
Name (_ADR, 0x001D0000)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
UHCW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_PSW, 1, NotSerialized)
{
Multiply (0x03, Arg0, UHCW)
}
Name (_PRW, Package (0x02)
{
0x03,
0x04
})
}
Device (UHC2)
{
Name (_ADR, 0x001D0001)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
UHCW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_PSW, 1, NotSerialized)
{
Multiply (0x03, Arg0, UHCW)
}
Name (_PRW, Package (0x02)
{
0x04,
0x04
})
}
Device (UHC3)
{
Name (_ADR, 0x001D0002)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
UHCW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_PSW, 1, NotSerialized)
{
Multiply (0x03, Arg0, UHCW)
}
Name (_PRW, Package (0x02)
{
0x0C,
0x04
})
}
Device (EHC1)
{
Name (_ADR, 0x001D0007)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x07)
{
"AAPL,current-available",
0x05DC,
"AAPL,current-extra",
0x04B0,
"AAPL,current-in-sleep",
0x09C4,
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Name (_PRW, Package (0x02)
{
0x0D,
0x04
})
}
Device (UHC4)
{
Name (_ADR, 0x001A0000)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
UHCW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_PSW, 1, NotSerialized)
{
Multiply (0x03, Arg0, UHCW)
}
Name (_PRW, Package (0x02)
{
0x0E,
0x04
})
}
Device (UHC5)
{
Name (_ADR, 0x001A0001)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
UHCW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_PSW, 1, NotSerialized)
{
Multiply (0x03, Arg0, UHCW)
}
Name (_PRW, Package (0x02)
{
0x05,
0x04
})
}
Device (UHC6)
{
Name (_ADR, 0x001A0002)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
UHCW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_PSW, 1, NotSerialized)
{
Multiply (0x03, Arg0, UHCW)
}
Name (_PRW, Package (0x02)
{
0x20,
0x04
})
}
Device (EHC2)
{
Name (_ADR, 0x001A0007)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x07)
{
"AAPL,current-available",
0x05DC,
"AAPL,current-extra",
0x04B0,
"AAPL,current-in-sleep",
0x09C4,
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Name (_PRW, Package (0x02)
{
0x0D,
0x04
})
}
我加入这些代码后,一半奇迹出现了,睡眠深度了 睡眠断电了 哈哈。 然后苦恼的是 还是唤醒不了。之前的LPC,RTC等有关睡眠的都已经加载。看之前的帖子,说是苹果睡眠跟S3 有关系,于是我进我BIOS ,查看我的设置是在S3上,我就奇怪了,怎么会唤醒不了呢,我BIOS上有S1,S3和自动。于是我改成自动。哈哈 成功了 深度睡眠加唤醒哈哈。由于DSDT加入了开关键睡眠补丁,USB鼠标和开关机键都可以实现睡眠和唤醒。测试了设置时间睡眠,同样可以实现睡眠唤醒。
睡眠更新 昨天晚上特意睡眠了一个通宵 今早 正常唤醒
|
|