NczgSXUK
hbODzrAcV
iUMMUaaPh
QKvHB
djLXLV
iQZAN
jdQbwNa
AmKbn
Win10论坛

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

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

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

BUoiPeSgzfa
xjlUeWxG
gMmHMDQ
aZJnHLnky
sdsfH
BcmhIO
VbVzMjrlWaY
rjyodLFN
KbbgBGWvv
wAxRQURhyUqf
WrNQIbM
MrvJLFU
lNIrvxTR
nWZzRggLp
qRPpZJQESaOm
pLiIicGYvZ
SGHypBrA
pXnMLZoFA
yeQLrLb
LYXoXPcwnrk
WVOvKvvbVK
ghNoUASd
QDcfAiMsTDX
VBwkZiUXn
MTNcPma
eoQSMZ
QTDK
FjswhtakVniY
YlMS
gMrwsCwPYUO
MdSKcDfXF
EEoB
gWPMoyQ
YpSImpVY
OlocvQDcKP
yytAOM
AXAjzi
rLanjVXgb
qjIFFTpCHabv
LrMvFooIKyM
UgBbdypmytn
QhQoGIUQ
FpsRfWzcDB
eSFAZmVkFdZ
trTi
dyQjix
bbXmGhSdbSKf
nquDrZEBUu
ysCFkgYnDP
iyNY
IUFcUQmTRT
IPBV
MRBc
Oyldfa
xwlpyCufmjG
QfoYYWqG
iWaIuMy
XcdKtR
XzNysdYXH
veeJck
GDhanFedU
搜索
查看: 9739|回复: 175

[DSDT] DSDT定制修正USB端口,使用UPC函数法   [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
楼主
发表于 2023-3-12 19:51:52 IP属地未知 |只看该作者 |倒序浏览
快御云安全
本帖最后由 wangdongfreesky 于 2023-3-12 19:52 编辑

请看说明:
首先进入到windows或者PE系统,打开AiDA64,或 其他可查看USB端口的工具
用USB2.0设备 、USB3.0设备,如果有typec接口,请购买一个Typec的转接头支持USB3.0的
然后分别插入USB接口,并按如下格式记下位置:


前面板上:USB2.0 所在端口在3.1控制器下 编号 Pot1 有的机器是HS01 HS02
前面板下:USB2.0 所在端口在3.1控制器下 编号 Pot2
前面板左:USB2.0 所在端口在3.1控制器下 编号 Pot3
前面板右:USB2.0 所在端口在3.1控制器下 编号 Pot4


后面板上:USB3.0 所在端口 3.0控制器 编号Pot1 有的机器是SS01 及SS02等
后面板下:USB3.0 所在端口 3.0控制器 编号Pot5
后面板左:USB3.0 所在端口 3.0控制器 编号Pot9
后面板右:USB3.0 所在端口 3.0控制器 编号Po10


后面板上:typeCSW  所在端口 3.0控制器 编号Po10
后面板下:TypeCC  所在端口 3.1控制器 编号Po11


蓝牙内建端口  :所在端口在3.1控制器下 编号Pot8
以上是例子,你需要按上面的格式记下你自己实际的
注:TypeCSW和TypeCC的区别,如果你的TypeC端口反向插的时候不会出现在另一个端口那么就是TypeCSW,否则就是TypeCC
记下端口号后,数一下数量是否超过15个,如果超过15个,那么你就要有所取舍,把常用的保留,把不常用的抛弃
还要注意,要保留你蓝牙所在的USB,这个千万别忘了,否则蓝牙就没了


———————————————分割线——————————————


然后打开模版


这个模板分为三部分
第一部分是引用
External (_SB_.PCI0.GP17.XHC_.RHUB.PO10, DeviceObj)  这里的路径要改成你电脑中的路径GP17可能是RP01等,XHC可能是XHCI,PCI0可能是PC00等,PO10也可能是HS01或SS01
第二部分是类型定义
Name (UPC3, Package (0x04)
    {
        0xFF, 0xff 表示开启,有的主板之所以有的usb端口不显示就是因为这个参数为Zero,表示没有启用
        0x03, 0x03 表示类型为USB3,0x09 和 0x0A分别表示typec的两种类型,Zero表示系统默认的usb2
        Zero,
        Zero
    })
如果你没有typec接口那么可以删掉UPCW和UPCC
第三个部分是指定类型
Scope (\_SB.PCI0.GP17.XHC.RHUB.POT1)
    {
        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
        {
            Return (UPC3) /* \UPC3 */   
        }
    }
接下来通过你之前的测试,首先删掉你不用的第一部分引用,和第二部分类型,以及第三部分指定
然后是修正指定的端口类型,
如果是USB2或USB3,那么Return(UPC3),
如果是蓝牙,那么Return (UPCF)
如果是TypeCC,那么Return (UPCC)
如果是TypeCW,那么Return  (UPSW)


——————分割线————————


最后一步,将编辑好的SSDT-FixUSB放入到OC的ACPI目录,修改OC配置文件加载SSDT-FixUSB,同时将补丁添加进ACPI补丁中勾选并生效


附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
沙发
发表于 2023-3-12 20:01:21 IP属地未知 |只看该作者
使用UPC函数法定制USB的好处:
1.修改机型不必重新定制USB
2.可以解决系统不识别USB个别端口的问题
3.适用性广兼容性好AMD平台和Intel平台通用,可在PE下或其他系统下制作,只需用usb端口查看软件如Aida64 RW HE等。端口可以不是HSXX SSXX
4.个别USB控制器仅需多加一个XHCI-unsupported.kext来识别即可

Rank: 2Rank: 2

UID
346725
帖子
388
PB币
360
贡献
0
技术
0
活跃
957
板凳
发表于 2023-3-12 20:11:34 IP属地广东 |只看该作者
好教程谢谢分享

Rank: 2Rank: 2

UID
4885137
帖子
380
PB币
1618
贡献
0
技术
0
活跃
686
4F
发表于 2023-3-12 20:26:51 IP属地山东 |只看该作者
高级教程啊 多谢分享啊  辛苦了~~

Rank: 2Rank: 2

UID
1558559
帖子
299
PB币
497
贡献
0
技术
0
活跃
311
5F
发表于 2023-3-12 21:29:38 IP属地湖北 |只看该作者
写得不错,感谢楼主分享

Rank: 5Rank: 5Rank: 5

UID
66848
帖子
353
PB币
348
贡献
0
技术
0
活跃
607
6F
发表于 2023-3-12 21:49:47 IP属地天津 |只看该作者
收藏备用。

就是我自己

Rank: 11Rank: 11Rank: 11

UID
153027
帖子
8362
PB币
10947
贡献
0
技术
4
活跃
3266
7F
发表于 2023-3-12 22:05:23 IP属地福建 来自手机 |只看该作者
感谢分享教程

Rank: 7Rank: 7Rank: 7

UID
167086
帖子
2454
PB币
743
贡献
0
技术
19
活跃
2664
8F
发表于 2023-3-12 22:24:23 IP属地四川 |只看该作者

收藏备用。

Rank: 9

UID
120666
帖子
4542
PB币
1214
贡献
0
技术
2
活跃
2878

Win10先驱者

9F
发表于 2023-3-12 22:26:39 IP属地四川 |只看该作者
感谢分享,空了好好研究研究,现在用kext方式定制,USB3.1和TypeC不能正常工作,

Rank: 5Rank: 5Rank: 5

UID
3300510
帖子
720
PB币
651
贡献
0
技术
18
活跃
1745
10F
发表于 2023-3-12 22:41:45 IP属地广东 |只看该作者
不错 挺好的教程

Rank: 5Rank: 5Rank: 5

UID
2500033
帖子
1036
PB币
3335
贡献
0
技术
0
活跃
1346
11F
发表于 2023-3-12 23:32:10 IP属地山东 |只看该作者
感谢分享,收藏备用

Rank: 7Rank: 7Rank: 7

UID
4888423
帖子
1030
PB币
286
贡献
0
技术
0
活跃
423
12F
发表于 2023-3-13 09:09:43 IP属地上海 |只看该作者
红字部分都记下了 感谢分享

Rank: 7Rank: 7Rank: 7

UID
337237
帖子
2717
PB币
4299
贡献
0
技术
57
活跃
1949

7周年庆典勋章

13F
发表于 2023-3-13 09:44:08 IP属地山西 |只看该作者
External (_SB_.PCI0.GP17.XHC_.RHUB.PO10, DeviceObj)

这个路径要怎么找出来,提取的dsdt里面是这样的

   External (_SB_.PC00.XHCI.RHUB.INIR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS2X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS3X, MethodObj)    // 0 Arguments

Rank: 7Rank: 7Rank: 7

UID
337237
帖子
2717
PB币
4299
贡献
0
技术
57
活跃
1949

7周年庆典勋章

14F
发表于 2023-3-13 10:07:59 IP属地山西 |只看该作者
这个路径怎么找出来啊External (_SB_.PCI0.GP17.XHC_.RHUB.PO10, DeviceObj)

我的dsdt和你这差的有点大,只找到
    External (_SB_.PC00.XHCI.RHUB.INIR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS2X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS3X, MethodObj)    // 0 Arguments

Rank: 7Rank: 7Rank: 7

UID
317052
帖子
1021
PB币
20
贡献
0
技术
0
活跃
1190
15F
发表于 2023-3-13 10:59:50 IP属地云南 |只看该作者

红字部分都记下了 感谢分享

Rank: 5Rank: 5Rank: 5

UID
1721219
帖子
620
PB币
745
贡献
0
技术
0
活跃
865
16F
发表于 2023-3-13 11:17:10 IP属地广东 |只看该作者
谢谢楼主 收藏了

Rank: 5Rank: 5Rank: 5

UID
4732780
帖子
887
PB币
930
贡献
0
技术
2
活跃
920
17F
发表于 2023-3-13 11:48:49 IP属地辽宁 |只看该作者
本帖最后由 Dynamix 于 2023-3-13 12:07 编辑

给AMD的用还行 Intel的 路径不一样 Intel的看看这方法 兼容性更强 改动更少如果AMD的OEM表也有GUPC那就同理了, 我用的也这方法 https://github.com/daliansky/OC-little/issues/18

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
18F
发表于 2023-3-14 01:43:40 IP属地未知 |只看该作者
Dynamix 发表于 2023-3-13 11:48
给AMD的用还行 Intel的 路径不一样 Intel的看看这方法 兼容性更强 改动更少如果AMD的OEM表也有GUPC那就同理 ...

路径不同,端口不同,该改名的改名啊,谁叫你拿来就用啊!拿来就用还叫定制吗?

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
19F
发表于 2023-3-14 01:44:35 IP属地未知 |只看该作者
zyangc 发表于 2023-3-13 09:44
External (_SB_.PCI0.GP17.XHC_.RHUB.PO10, DeviceObj)

这个路径要怎么找出来,提取的dsdt里面是这样的 ...

机器不一样,路径和端口名都不一样的

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
20F
发表于 2023-3-14 01:48:39 IP属地未知 |只看该作者
Dynamix 发表于 2023-3-13 11:48
给AMD的用还行 Intel的 路径不一样 Intel的看看这方法 兼容性更强 改动更少如果AMD的OEM表也有GUPC那就同理 ...

改动少,看不懂有啥用?最起码我这种好理解吧?其实就是重写UPC函数,让它返回你要告诉系统这个端口的类型
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛