wangdongfreesky
发表于 2023-2-15 19:29
jianghu_y 发表于 2023-2-15 19:13 https://bbs.pcbeta.com/static/image/common/back.gif
麻烦问下! OSX 下关闭电脑 无法通过开机键开机!拔掉电源插头,再次插上才能正常开机!这个是什么问题! WIN下就 ...
你这是关机不断电啊!下一个就是解决关机不断电的问题
Tian羽
发表于 2023-2-15 19:38
问题4搜索dsdt后发现UAR1设备但是没有if判断这两行
Device (UAR1)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */)// _HID: Hardware ID
Name (_UID, Zero)// _UID: Unique ID
Name (LDN, 0x07)
Method (_STA, 0, NotSerialized)// _STA: Status
{
Return (^^SIO1.DSTA (Zero))
}
我不要用户名
发表于 2023-2-15 19:39
不错,楼主分享精神可嘉,很多人都会,但是懒得写。。
wangdongfreesky
发表于 2023-2-15 19:57
问题八:关机不断电!问题原理是DSDT中控制关机状态的_PTS函数出现问题,需要修补
解决办法分两步
步骤一,将_PTS函数重命名使其失效
打开OCC的ACPI选项添加补丁
表名:DSDT
查找:5F505453 01
替换为:5A505453 01
然后我一般会添加一条注释_PTS to ZPTS & SSDT-Shutdown 意思是将_PTS更名为ZPTS并配合SSDT-Shutdown.aml使用,当然这条注释你可以改成你自己能够理解的意思
步骤二,编写SSDT-Shutdown.aml
代码如下:
DefinitionBlock ("", "SSDT", 2, "hack", "ShutDown", 0x00000000)
{
External (_SB_.PCI0.XHC_.PMEE, FieldUnitObj)
External (ZPTS, MethodObj) // 1 Arguments
Method (_PTS, 1, NotSerialized)// _PTS: Prepare To Sleep
{
ZPTS (Arg0) //如果不是macOS系统仍然执行原来的pts函数,也就是对其他操作系统不影响
If (_OSI ("Darwin"))
{
If ((0x05 == Arg0))
{
If (CondRefOf (\_SB.PCI0.XHC.PMEE))
{
\_SB.PCI0.XHC.PMEE = Zero //关键的方法就是给PMEE一个0参数
}
OperationRegion (PMRS, SystemIO, 0x1830, One)
Field (PMRS, ByteAcc, NoLock, Preserve)
{
, 4,
SLPE, 1
}
SLPE = Zero
Sleep (0x10)
}
}
}
}
然后将ssdt文件拷贝至efi中的acpi目录,并打开配置文件加载
wangdongfreesky
发表于 2023-2-15 20:03
本帖最后由 wangdongfreesky 于 2023-2-15 20:11 编辑
Tian羽 发表于 2023-2-15 19:38 https://bbs.pcbeta.com/static/image/common/back.gif
问题4搜索dsdt后发现UAR1设备但是没有if判断这两行
Device (UAR1)
{
那你就得看这个函数^^SIO1.DSTA是怎么传递参数的了。或者通过补丁来直接破坏,返回0即可。还可以把这段代码Device (UAR1)范围内的代码原封不动抄下来改成
Device (UAR2)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */)// _HID: Hardware ID
Name (_UID, Zero)// _UID: Unique ID
Name (LDN, 0x07)
Method (_STA, 0, NotSerialized)// _STA: Status
{
if(_OSI ("Darwin"))
{
Return(Zero)
}
else
{
Return (^^SIO1.DSTA (Zero))
}
}
然后打补丁搜索PNP0501改成XXXXXX,从而使UAR1的设备定义失效。
总之,方法有很多,你试试
frontways
发表于 2023-2-15 21:19
这个疑难杂症:
手动休眠可以,自动休眠唤醒重启或第一次可以;第二次,屏幕黑屏,但主机电源依旧通电。
wangdongfreesky
发表于 2023-2-15 22:34
frontways 发表于 2023-2-15 21:19 https://bbs.pcbeta.com/static/image/common/back.gif
这个疑难杂症:
手动休眠可以,自动休眠唤醒重启或第一次可以;第二次,屏幕黑屏,但主机电源依旧通电。
睡眠问题涉及到的设备很多需要一一排查,
1.先检查电源管理是否加载,方法是用IOreg查找X86PlatformPlugin,如果没有记载,找ssdt-plug
2.PMCR是否加载,方法是用IOreg查找PMCR,PMCR下存在AppleACPIPMC。
3.PWRB是否加载,方法类似不再多说
4.SLPB是否记载
5.网卡是否内建,用hackintool可以查看是否内建。如果是不使用的网卡或不能驱动的网卡,请屏蔽
6.USB设备,如果存在XHC且接口正常,屏蔽不用的EHCI设备,XHC下的USB各个端口需要定制完善
7.SBUS设备正常加载,方法仍然是使用IOreg,加载后下面会有AppleSMBusPCI
8.IMEI设备加载,核显要驱动,如果不能驱动的核显比如10代以上核显或着AMD平台的APU集成显卡,要使用ssdt或者OC属性将其屏蔽。
请按照如上的顺序去检查你的设备驱动和加载情况,只有设备正常驱动和加载,才能睡眠正常,不能驱动的设备不要放着不管,屏蔽它,否则影响睡眠
wangdongfreesky
发表于 2023-2-15 23:01
Tian羽 发表于 2023-2-15 19:38 https://bbs.pcbeta.com/static/image/common/back.gif
问题4搜索dsdt后发现UAR1设备但是没有if判断这两行
Device (UAR1)
{
另外你得用IOreg去确认是不是这个设备的问题,如果是,那么它一定加载了,也就是它下面有东西,我另一台设备有UAR1、一直到UAR4,四个串口设备的定义,但是主板上没有实际的电路,因此并不加载,白果上没有的设备但是却加载了,这个需要屏蔽
wangdongfreesky
发表于 2023-2-15 23:02
frontways 发表于 2023-2-15 21:19 https://bbs.pcbeta.com/static/image/common/back.gif
这个疑难杂症:
手动休眠可以,自动休眠唤醒重启或第一次可以;第二次,屏幕黑屏,但主机电源依旧通电。
如果就是你签名的那个电脑的配置,不出意外的话,应该是核显的问题,需要屏蔽
jianghu_y
发表于 2023-2-16 07:37
wangdongfreesky 发表于 2023-2-15 19:29 https://bbs.pcbeta.com/static/image/common/back.gif
你这是关机不断电啊!下一个就是解决关机不断电的问题
非常感谢 终于有救了! 有时间研究下!
wepen
发表于 2023-2-16 08:45
技术好贴,顶楼主。
小白菜就是我
发表于 2023-2-16 09:09
技术大佬,看来要火了。
joridan
发表于 2023-2-16 09:30
收藏一下待用
snear
发表于 2023-2-16 09:34
谢谢分享,收藏
cchcch252
发表于 2023-2-16 10:10
USB口3.0不定不知能不能打上
shbin0713
发表于 2023-2-16 11:35
使用DSDT或SSDT定制USB端口要是有个详细的教程就好了,我的Z690主板上的两个usb2.0插口,在mac下只有一个能用,在win下就是正常的都能用
蛋疼王子
发表于 2023-2-16 11:47
需要你这样的人
shhtea
发表于 2023-2-16 12:10
好贴!学习一下。
wangdongfreesky
发表于 2023-2-16 12:30
本帖最后由 wangdongfreesky 于 2023-2-16 12:37 编辑
shbin0713 发表于 2023-2-16 11:35 https://bbs.pcbeta.com/static/image/common/back.gif
使用DSDT或SSDT定制USB端口要是有个详细的教程就好了,我的Z690主板上的两个usb2.0插口,在mac下只有一个能 ...
看这两个usb2.0插口是原生插口,还是属于一个hub端口插在原生端口上,如果是外接的hub端口,可能无解。外接的hub接口要兼容的才行。而主板上带控制器的usb原生端口基本都能驱动和定制好。有一个很好的例子就是我的小主机AMD平台的hx90G。前面板的usb3和typec就是通过一个via品牌的hub接在原生端口上,也就是说这两个接口不管你接什么,在hackintool里只显示2.0hub和3.0hub。即使定制了该hub所在的原生端口,但是在系统休眠后总提示磁盘没有正常推出,而我的显示器也带了一个usb hub,显示器的usb hub插在主机的后面板,后面板是原生端口(也就是插不同的设备hackintool能显示品牌类型等),后面板的原生端口定制好以后,显示器的usb端口设备可以正常休眠唤醒没有提示磁盘未正常推出。就是因为显示器带的hub是兼容macos的,在系统中显示的也是通用usb hub
shbin0713
发表于 2023-2-16 12:37
wangdongfreesky 发表于 2023-2-16 12:30 https://bbs.pcbeta.com/static/image/common/back.gif
看这两个usb2.0插口是原生插口,还是属于一个hub端口插在原生端口上,如果是外接的hub端口,可能无解。外 ...
蓝牙插在上面的,从蓝牙信息看就是个hub
页:
1
[2]
3
4
5
6
7
8
9
10