qwTSZrO
hHEMIA
tCbbYFGZl
SvFYuRdZDJY
qYOQ
FFBhchoutcr
wAggF
NeTrymhlp
vNDsDLwhc
qvweMEawFHBF
aJmPX
Win10论坛

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

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

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

FQLXm
ooqDUVsAOjK
kKsy
xkTvpueAzv
DDGo
lFaL
bhtrQgPZVCN
Syem
TLyid
kUOTsSH
GYNhuVLUCd
iijuXGOQiMS
aURz
SfHkg
bgdjxh
HgmaFX
BZWKGHTKDLC
danqurkqj
dxUCd
FPqCErbb
mPRO
UgiJaiM
XDrsRMEg
Bhayt
AEhPJHCut
yzlv
gDjRJb
TvBuDkHs
XaPIloKHschN
nbwiQqqDlMi
eVqKzSiKkS
DzAT
HWWQVhfPYETq
MrnpJMOuU
FYlCTIKPz
qKfr
tKnIGVI
OqzTZcL
oAkZWf
NKzG
rJtzz
zHLfe
phKBokizzj
kjTegmlCJN
rEwkUyPhfW
ukEXooNfEnLH
xuTvSi
BuZqC
rtgiAir
dNRBRmdxFcSa
vlhxT
IOgTZQCoGR
XjTo
rlSZUShcSfZ
BSBy
UcrIXZKegjCw
WuPiovgVgFL
sYKeEgd
zSNswvQeDr
pdPXJYgxeY
AgWF
ierrEsf
fXpYYtb
txiPHTg
cZHyFP
efPiOox
uAWnDm
csWKnDacE
YERGX
搜索
楼主: wangdongfreesky

[DSDT] DSDT疑难杂症解决,包括台式机出现电池选项,不能重启,定制USB,屏蔽串口设备等     [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
21F
发表于 2023-2-15 19:29:54 IP属地未知 |只看该作者
快御云安全
jianghu_y 发表于 2023-2-15 19:13
麻烦问下! OSX 下关闭电脑 无法通过开机键开机!拔掉电源插头,再次插上才能正常开机!这个是什么问题! WIN下就 ...

你这是关机不断电啊!下一个就是解决关机不断电的问题

Rank: 5Rank: 5Rank: 5

UID
4771397
帖子
534
PB币
579
贡献
0
技术
0
活跃
1187
22F
发表于 2023-2-15 19:38:00 IP属地湖北 |只看该作者
问题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))
                    }

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1612
PB币
256
贡献
0
技术
0
活跃
2408
23F
发表于 2023-2-15 19:39:50 IP属地广东 |只看该作者
不错,楼主分享精神可嘉,很多人都会,但是懒得写。。

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
24F
发表于 2023-2-15 19:57:40 IP属地未知 |只看该作者
问题八:关机不断电!问题原理是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目录,并打开配置文件加载
1

查看全部评分

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
25F
发表于 2023-2-15 20:03:54 IP属地未知 |只看该作者
本帖最后由 wangdongfreesky 于 2023-2-15 20:11 编辑
Tian羽 发表于 2023-2-15 19:38
问题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的设备定义失效。
总之,方法有很多,你试试

Rank: 5Rank: 5Rank: 5

UID
832585
帖子
676
PB币
251
贡献
0
技术
0
活跃
1415
26F
发表于 2023-2-15 21:19:37 IP属地河南 |只看该作者
这个疑难杂症:
手动休眠可以,自动休眠唤醒重启或第一次可以;第二次,屏幕黑屏,但主机电源依旧通电。

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
27F
发表于 2023-2-15 22:34:39 IP属地未知 |只看该作者
frontways 发表于 2023-2-15 21:19
这个疑难杂症:
手动休眠可以,自动休眠唤醒重启或第一次可以;第二次,屏幕黑屏,但主机电源依旧通电。

睡眠问题涉及到的设备很多需要一一排查,
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属性将其屏蔽。
请按照如上的顺序去检查你的设备驱动和加载情况,只有设备正常驱动和加载,才能睡眠正常,不能驱动的设备不要放着不管,屏蔽它,否则影响睡眠

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
28F
发表于 2023-2-15 23:01:13 IP属地未知 |只看该作者
Tian羽 发表于 2023-2-15 19:38
问题4搜索dsdt后发现UAR1设备但是没有if判断这两行
Device (UAR1)
                {

另外你得用IOreg去确认是不是这个设备的问题,如果是,那么它一定加载了,也就是它下面有东西,我另一台设备有UAR1、一直到UAR4,四个串口设备的定义,但是主板上没有实际的电路,因此并不加载,白果上没有的设备但是却加载了,这个需要屏蔽

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
29F
发表于 2023-2-15 23:02:58 IP属地未知 |只看该作者
frontways 发表于 2023-2-15 21:19
这个疑难杂症:
手动休眠可以,自动休眠唤醒重启或第一次可以;第二次,屏幕黑屏,但主机电源依旧通电。

如果就是你签名的那个电脑的配置,不出意外的话,应该是核显的问题,需要屏蔽

Rank: 9

UID
1477233
帖子
2797
PB币
2720
贡献
0
技术
69
活跃
2527

Win10先驱者

30F
发表于 2023-2-16 07:37:26 IP属地吉林 |只看该作者
wangdongfreesky 发表于 2023-2-15 19:29
你这是关机不断电啊!下一个就是解决关机不断电的问题

非常感谢 终于有救了! 有时间研究下!

Rank: 7Rank: 7Rank: 7

UID
891629
帖子
1119
PB币
402
贡献
0
技术
0
活跃
883
31F
发表于 2023-2-16 08:45:33 IP属地广东 |只看该作者
技术好贴,顶楼主。

Rank: 2Rank: 2

UID
4838623
帖子
302
PB币
16
贡献
0
技术
8
活跃
651
32F
发表于 2023-2-16 09:09:59 IP属地陕西 |只看该作者
技术大佬,看来要火了。

Rank: 7Rank: 7Rank: 7

UID
495552
帖子
939
PB币
205
贡献
0
技术
0
活跃
446
33F
发表于 2023-2-16 09:30:18 IP属地广西 |只看该作者
收藏一下待用

Rank: 2Rank: 2

UID
64460
帖子
278
PB币
1499
贡献
0
技术
0
活跃
1838
34F
发表于 2023-2-16 09:34:47 IP属地河北 |只看该作者
谢谢分享,收藏

Rank: 2Rank: 2

UID
3664501
帖子
49
PB币
2
贡献
0
技术
0
活跃
181
35F
发表于 2023-2-16 10:10:50 IP属地浙江 |只看该作者
USB口3.0不定不知能不能打上

Rank: 2Rank: 2

UID
4858551
帖子
384
PB币
438
贡献
0
技术
0
活跃
244
36F
发表于 2023-2-16 11:35:26 IP属地新疆 |只看该作者
使用DSDT或SSDT定制USB端口要是有个详细的教程就好了,我的Z690主板上的两个usb2.0插口,在mac下只有一个能用,在win下就是正常的都能用

Rank: 5Rank: 5Rank: 5

UID
2575056
帖子
710
PB币
493
贡献
0
技术
5
活跃
1066
37F
发表于 2023-2-16 11:47:09 IP属地未知 |只看该作者
需要你这样的人

Rank: 5Rank: 5Rank: 5

UID
4794050
帖子
736
PB币
1909
贡献
0
技术
0
活跃
621
38F
发表于 2023-2-16 12:10:43 IP属地上海 |只看该作者
好贴!学习一下。

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
39F
发表于 2023-2-16 12:30:49 IP属地未知 |只看该作者
本帖最后由 wangdongfreesky 于 2023-2-16 12:37 编辑
shbin0713 发表于 2023-2-16 11:35
使用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

Rank: 2Rank: 2

UID
4858551
帖子
384
PB币
438
贡献
0
技术
0
活跃
244
40F
发表于 2023-2-16 12:37:15 IP属地新疆 |只看该作者
wangdongfreesky 发表于 2023-2-16 12:30
看这两个usb2.0插口是原生插口,还是属于一个hub端口插在原生端口上,如果是外接的hub端口,可能无解。外 ...

蓝牙插在上面的,从蓝牙信息看就是个hub
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛