pfbwIFeWI
gKNpt
acMiKD
QruHUuW
NzwO
RRTXRkBE
OLEsoClRHl
iDAF
VaqOtzQEmvM
Win10论坛

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

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

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

QLSUdUH
hzYYU
DgSehszMUgO
MXthwCYM
rUZXleBmjkmc
wDuJClIscHT
Hkisnucbm
vubnNA
YqsBGr
vVhFRaFCf
srQXNNBAmNjy
UklFIj
VxmsNqGXi
FPDrkwoBZl
SOHREi
qwXdM
gSvzyN
FeBRJFwQfuG
blKpMTy
mNfLQxcKhM
jTnvxutEKtn
OjpDEIF
xHWglqtMqEZ
wiQOnuAF
qhHQfETAUmEV
OKXgOe
yXIpDmxWP
AhSNXhM
TWoFPX
eGEfoc
TjYFWgm
wkmgcdAdKFF
pIgAdvRLFxcM
PKLgWcOIWA
eIza
iOHMmybfLqYl
hOaYaSQGQXy
ojfetyqggk
HcgWSfl
IvKjBrZk
chnZDTYn
AzoscKHrBmAh
njfMoMiUbxSW
GuhIBvwsIau
gkGJKsJpKXEx
AFkZqZPq
ramgCBgYNx
agxuilOnDL
HPOUVeMvzh
SYDW
bgRMCN
hwSlrwJF
crtehVI
Nxom
piefkSa
MwJjhkwEiM
gTydPSyJUKU
YihfwOXLgmA
YGNRF
bszS
iWxdoo
KnFgMOdbql
usXOfxjVhdOh
OVTgHWIjrVK
CYWEjsIIcEFB
搜索
查看: 2939|回复: 31

[DSDT] 利用GPUC和_UPC实现USB端口的热补丁定制 [复制链接]
跳转到指定楼层
复制 

Rank: 1

UID
4872855
帖子
69
PB币
200
贡献
0
技术
0
活跃
136
楼主
发表于 2021-5-4 12:25:07 IP属地日本 |只看该作者 |倒序浏览
快御云安全
在这里,我先声明:
这个思路来源于Github的一个提问,链接如下:
https://github.com/daliansky/OC-little/issues/18

这里用到了对GUPC的修改实现了端口的定制,不同于SSDT-UIAC,这个不需要驱动(USBAllinject)的辅助,只需要一个SSDT,而且我认为这也是个不错的方法。最后在与哞大的询问下,理清了这个方法的实现,特此来发帖,提供一种新的USB端口定制思路。

PS:华硕不适用于此方法,因为话说的UPC写死了
本人博客地址:https://blog.gzxiaobai.cn
可能会先在博客更新这个方法的阐释及说明,远景这里先占贴备用,方便以后发帖。

Rank: 9

UID
2052079
帖子
5582
PB币
6601
贡献
0
技术
1
活跃
3800
沙发
发表于 2021-5-4 12:44:08 IP属地未知 |只看该作者
虽然我都是华硕的板子,但是也还是支持,期待。有新的更好的方法。nice

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1612
PB币
256
贡献
0
技术
0
活跃
2408
板凳
发表于 2021-5-4 15:18:05 IP属地香港 来自手机 |只看该作者
Teacher-C本人路过……

Rank: 7Rank: 7Rank: 7

UID
4866976
帖子
3146
PB币
6456
贡献
0
技术
0
活跃
1390
4F
发表于 2021-5-4 15:26:27 IP属地广东 |只看该作者
看来对我没用,几台电脑都是华硕的板

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1612
PB币
256
贡献
0
技术
0
活跃
2408
5F
发表于 2021-5-4 15:31:01 IP属地香港 来自手机 |只看该作者
期待楼主出教程哈哈,像我这样修改定制ssdt文件不具有通用性,且没有编程开发功底的人也理解不了…… 只适合自己琢磨着玩

Rank: 5Rank: 5Rank: 5

UID
2500033
帖子
1035
PB币
3331
贡献
0
技术
0
活跃
1345
6F
发表于 2021-5-4 17:13:27 IP属地山东 |只看该作者
期待楼主的教程,学习一下

Rank: 5Rank: 5Rank: 5

UID
4569653
帖子
588
PB币
356
贡献
0
技术
0
活跃
1233
7F
发表于 2021-5-5 00:14:44 IP属地广东 |只看该作者
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

「Takoyaki White」

Rank: 7Rank: 7Rank: 7

UID
4876096
帖子
882
PB币
338
贡献
0
技术
1
活跃
896
8F
发表于 2021-5-5 02:13:39 IP属地香港 来自手机 |只看该作者
顶顶小白

Rank: 2Rank: 2

UID
3514637
帖子
248
PB币
332
贡献
0
技术
0
活跃
486
9F
发表于 2021-5-5 06:44:23 IP属地台湾 |只看该作者
AMD能用吗?

Rank: 1

UID
4872855
帖子
69
PB币
200
贡献
0
技术
0
活跃
136
10F
发表于 2021-5-22 18:40:46 IP属地日本 |只看该作者
wxz8506 发表于 2021-5-4 12:44
虽然我都是华硕的板子,但是也还是支持,期待。有新的更好的方法。nice

教程已经完成,可以去我博客看了

Rank: 1

UID
4872855
帖子
69
PB币
200
贡献
0
技术
0
活跃
136
11F
发表于 2021-5-22 18:41:20 IP属地日本 |只看该作者
我不要用户名 发表于 2021-5-4 15:18
Teacher-C本人路过……

感谢提供思路,教程已经写完了,可以去我博客看看了!

Rank: 1

UID
4872855
帖子
69
PB币
200
贡献
0
技术
0
活跃
136
12F
发表于 2021-5-22 18:41:55 IP属地日本 |只看该作者
jiao2366702 发表于 2021-5-4 17:13
期待楼主的教程,学习一下

我已经把教程写完了,可以去我的博客里看看了!

Rank: 7Rank: 7Rank: 7

UID
1482923
帖子
1542
PB币
1827
贡献
0
技术
3
活跃
1223

7周年庆典勋章

13F
发表于 2021-5-22 19:52:21 IP属地英国 |只看该作者
感谢 笔记本表示要折腾一下

2012以后回地球看看

Rank: 15Rank: 15Rank: 15

UID
615559
帖子
16823
PB币
9749
贡献
0
技术
62
活跃
2927
14F
发表于 2021-5-22 19:56:27 IP属地广东 |只看该作者
华硕主板_UPC写死是什么意思呢?我的一块华硕B150、一块华硕Z370,clover中提取到的BIOS ACPI,主Device(XHC)定义在DSDT,Scope 部分定义在类似SSDT-4-xh_rvp08这样命名的SSDT中,只要把它Drop掉,重新用定制的SSDT代替,就能完成USB定制。

我用这种方式解决的:
原始的SSDT:
Scope (\_SB.PCI0.XHC.RHUB.HS01)
    {
        Method (_UPC, 0, NotSerialized)  
        {
            Return (GUPC (One))
        }

        Method (_PLD, 0, NotSerialized)  
        {
            Return (GPLD (DerefOf (UHSD [Zero]), One))
        }
    }

替换修改后的:
Scope (\_SB.PCI0.XHC.RHUB.HS01)
    {
        Method (_UPC, 0, NotSerialized)  
        {
            Name (PUPC, Package (0x04)
            {
                0xFF,
                Zero,
                Zero,
                Zero
            })
            If (_OSI ("Darwin"))
            {
                Return (PUPC)
            }
            Else
            {
                Return (GUPC (One))
            }
        }

        Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
        {
            Name (UPLD, Package (0x01)
            {
                Buffer (0x10)
                {
                    /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                    /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // 0.......
                }
            })
            If (_OSI ("Darwin"))
            {
                Return (UPLD)
            }
            Else
            {
                Return (GPLD (One, One))
            }
        }
    }

也就是说,可以直接定义_UPC的Return。

Rank: 1

UID
4872855
帖子
69
PB币
200
贡献
0
技术
0
活跃
136
15F
发表于 2021-5-22 20:39:06 IP属地香港 |只看该作者
hugarninwow 发表于 2021-5-22 19:56
华硕主板_UPC写死是什么意思呢?我的一块华硕B150、一块华硕Z370,clover中提取到的BIOS ACPI,主Device(X ...

直接改_UPC并不符合修改的初衷,这得一个个改

2012以后回地球看看

Rank: 15Rank: 15Rank: 15

UID
615559
帖子
16823
PB币
9749
贡献
0
技术
62
活跃
2927
16F
发表于 2021-5-22 21:57:53 IP属地广东 |只看该作者
神楽小白 发表于 2021-5-22 20:39
直接改_UPC并不符合修改的初衷,这得一个个改

但这样可以更加直观,哪些要哪些不要,很明确。这在白苹果里面就是这么直接定义return的。

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2368
PB币
496
贡献
0
技术
176
活跃
1874

7周年庆典勋章

17F
发表于 2021-5-22 23:14:31 IP属地美国 |只看该作者
本帖最后由 Carbin 于 2021-5-23 01:16 编辑

这部分内容在ssdt里面吧

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1612
PB币
256
贡献
0
技术
0
活跃
2408
18F
发表于 2021-5-23 10:35:40 IP属地香港 来自手机 |只看该作者
神楽小白 发表于 2021-5-22 18:41
感谢提供思路,教程已经写完了,可以去我博客看看了!

写得很棒!楼主估计很年轻吧?还很有精力码字哈哈

Rank: 5Rank: 5Rank: 5

UID
4858543
帖子
935
PB币
992
贡献
0
技术
0
活跃
744
19F
发表于 2021-5-23 11:55:00 IP属地广东 |只看该作者
期待楼主的教程

Rank: 1

UID
4872855
帖子
69
PB币
200
贡献
0
技术
0
活跃
136
20F
发表于 2021-5-23 13:43:03 IP属地浙江 |只看该作者
hugarninwow 发表于 2021-5-22 21:57
但这样可以更加直观,哪些要哪些不要,很明确。这在白苹果里面就是这么直接定义return的。

这样修改的工程量大,且要一个个找端口改,就连重命名也需要很多,所以我并不推荐
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛