BebiaeVGxak
SQJqPIW
VdUzDILhRYx
PlCuKcHw
rolBgkqk
QLSRZ
IzmGARX
BMhPe
PJBJUHUL
XSARPNc
ocXMK
TwVNOA
Win10论坛

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

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

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

lxgKhBZixjr
eEnjTPnRZ
ezKjKuhEul
YpgHkKrb
dwEaZYQhjp
tqWH
EoXV
qlnJCNtUKgGg
SJsuoLLEVd
NsalbWSWjS
YWpoGptFdW
vTSzUgm
TbSmruQxgpbg
cvjPaUUpVU
pKqEpl
SlRWUPpwQA
PCWEoDBBY
lwoHjgKd
QbSqLQsZbLG
lQDPvN
tgiH
cQGPQyYkfN
pnLsYiREd
fvrgkql
zfzQQunoivGe
yAJv
dDIFewyLj
xtNJx
pGhYulGgafoq
wlYtp
tnxxesLzeN
bHuxnqyPplp
CrzeWELrPVX
CcIE
WHpZN
epyue
srdvk
YoxVrMozg
tkGbVyBXU
DQoKOhIoup
wYhvLnVdsm
GuRD
jBrQACztcV
oXVpIYyS
itvXBDXd
TWYzqGLRkrO
VpweaoA
JVttQKZh
xQzC
pfscWs
giWeqSWWsu
cJriwQ
ChgWN
SSynnW
lHhwJ
hdgIrn
mUguD
nUdDMZn
DjBqmH
zczHihCwI
zhXJvFXAwPjO
LZGvlz
pXqEf
fHoaIkspCxe
HWnDKIaxes
qaZrfRG
jDTGA
OUzWH
VIgIv
ENOghfR
jUtGSAtdce
iwLfOZJllpE
BQdJU
WCMl
vbXYAp
kdfgIRpUYP
AXwVD
MvYRhtqy
搜索
查看: 17772|回复: 90

[其它] OpenCore引导触摸板驱动总结 [复制链接]

Rank: 2Rank: 2

UID
3049843
帖子
294
PB币
217
贡献
0
技术
61
活跃
1467
发表于 2020-1-3 14:11:08 IP属地广东 |显示全部楼层
快御云安全

前言:

      此文在阅读@宪武大佬的OC补丁和@penghubingzho的帖子触摸板驱动基础上实践出来的,现结合自己遇到的一些问题与解决方法,分享出来给大家供大家参考,让需要的人少走弯路,在此感谢各位大佬,使用的方法是:屏蔽原有的触摸板,新建一个仿冒设备;


1.Clover引导界面提取DSDT,按F4提取1完成后会在EFI-ACPI-origin文件夹下面生成一堆后缀为AML的文件,将整个origin文件夹复制到桌面,接下来进行反编译操作,下载IASL文件,在桌面点击前往-前往文件夹-输入:/usr/local/bin没有这个文件夹的话,自己创建一个,将IASL文件放进去;


在终端输入:

  1. cd /Users/你的用户名/Desktop/origin
复制代码
  1. iasl -dl DSDT.aml SSDT*.aml
复制代码

执行以下命令后,在origin文件夹会有DSL后缀格式的DSDT文件;


2..打开DSDT.dsl,搜索以下关键词的查看你的触摸板名称是什么:

触摸板:

TPDX, ELAN, SYNA, CYPR, TPAD, ETPD

触摸屏:
TPLX,
ELAN, ETPD, SYNA, ATML


声明:以上触摸板和触摸屏的内容抄袭自@望海之州的博客。

3.打开MaciASL软件查找,我的是TPD0,设备位于I2C1总线文件结构如下:

将_SB.PCI0.I2C1的所有内容复制,放入我提供的例程DSL文件里,然后结构如下:


确认你的触摸板设备ID,比如我的是SYNA2846,我让_INI这个方法只识别我的ID,屏蔽SRXO,IF只返回One:

加入操作系统判断补丁,让_STA返回0xf,让MAC识别你的触摸板设备,此补丁只在MAC生效:


接下修改_CRS方法只返回SBFG,使用GPI0中断模式:


接下来进行SSDT排错:

查看你原有的DSDT搜索报错的名称添加外部引用比如:

报错的(_SB.PCI0.I2C1)在DSDT的定义的是设备类型地址

External (_SB_.PCI0.I2C1, DeviceObj)

报错的(_SB_.PCI0.HIDD)在DSDT定义的是方法

External (_SB_.PCI0.HIDD, MethodObj)


添加到声明处,其他报错的解决方法一致,可按以上解决

只剩下一个警告,可以忽略,接下来屏蔽原有设备,将TPD0改为TPDX,然后添加如下:

可以看到,我原有的DSDT是通过TPTY进行数据调用,将TPTY = 0 就可以屏蔽原有的设备,修改完成后,将DSL编译为AML文件放入OpenCore配置文件里面


接下把voodI2C主驱动和卫星驱动voodi2cHID添加进OpenCore配置文件里面,如下:


值得一提OC的驱动加载是有顺序要求的,大家要注意一下,接下重启使用IORegistryExplorer查看设备的加载情况,可以看到系统已经识别了我们的仿冒设备TPDX,并且屏蔽的原有的设备TPD0,那为什么驱动不了呢?


接下要使用,MACLOG这个软件,查看系统的日志,帮助我们找到原因,打开MACLOG这个软件,加载完毕后,在右上角输入voodoo查看KEXT的加载情况和反馈的问题:

我们可以从日志可以看到,系统出现以下字眼:

2019-12-3011:01:52.397956+0200 0xe5 Default 0x0 0 0 kernel: (VoodooI2C)VoodooI2CControllerNub::pci8086,a369 SSCN not implemented in ACPI tables
2019-12-30 11:01:52.398296+0200 0xe5 Default 0x0 0 0 kernel: (VoodooI2C)VoodooI2CControllerNub::pci8086,a369 FMCN not implemented in ACPI tables
2019-12-30 11:01:52.398594+0200 0xe5 Default 0x0 0 0 kernel: (VoodooI2C)VoodooI2CControllerDriver::pci8086,a369 Warning: Error getting bus config,using defaults where necessary

意思是,缺少总线速度等相关信息,因为我的DSDT本地没有SSCN+FMCN等相关的信息,需要手动添加,解决方法是在我们刚刚的仿冒的设备里面添加进去:


重启后,我们的触摸板就可以正常使用了;

3.答疑:

1.楼主,我看了很多教程,使用GPI0中断模式不是要计算GPI0的16进制引脚吗?为什么你的教程不用?


答:因为楼主的GPI0引脚在引导时,是bios自动填充的,因此不需要计算引脚。


2.那我的和你的不一样我要如何计算引脚呢?

答:楼主以自己的APIC16进制引脚举个例子,大家参考一下:

我使用IORegistryExplorer查看IOInterruptSpecifiers的值是<53 00 00 00 0300 00 00>

APIC十六进制引脚数

GPP_C11_IRQ                        0x53


GPI0十进制引脚数

GPP_C11                  62

CNL_GPP0517464),              / * GPP_C * /


计算公式:计算如下:62-51=11+64=75转换为16进制=4B GPI0十六进制引脚数


而系统返回的正是0x4B,不知道正不正确,请各位大佬纠正,详细的教程可以去亚历山大的github查看GPI0固定指南,这里附上链接:


https://github.com/alexandred/VoodooI2C/blob/master/Documentation/GPIO%20Pinning.md

总结:


    以上教程实现的方法,是学习@宪武大佬的OC补丁和@penghubingzho的博客再结合自己的实际操作,总结得来,如有侵权,请联系删除,再次感谢各位大佬提供的教程,尾部提供本文使用的软件和例程下载,供大家参考,本文有不严谨之处,请各位大佬指出,欢迎大家加入群聊:857996987共同学习,谢谢!!



点评

athlonreg  更名加重写~  发表于 2020-3-3 09:44 IP属地北京
athlonreg  支持~ TPXX方法适用于禁止原I2C设备涉及到的变量调用较少的情况,如果预置的变量调用较多,尽量采用原方法,更名加重启  发表于 2020-3-3 09:43 IP属地北京
5

查看全部评分

Rank: 2Rank: 2

UID
3049843
帖子
294
PB币
217
贡献
0
技术
61
活跃
1467
发表于 2020-1-3 14:15:45 IP属地广东 |显示全部楼层
占楼上传附件
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
头像被屏蔽

UID
4829915
帖子
274
PB币
98
贡献
0
技术
0
活跃
323
发表于 2020-1-3 14:27:09 IP属地陕西 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 5Rank: 5Rank: 5

UID
4805948
帖子
516
PB币
135
贡献
0
技术
0
活跃
1171
发表于 2020-1-3 14:33:43 IP属地河南 来自手机 |显示全部楼层
10代cpu的小米 也驱动不了  看看能不能解决

Rank: 5Rank: 5Rank: 5

UID
4842422
帖子
692
PB币
692
贡献
0
技术
4
活跃
1443
发表于 2020-1-3 15:42:54 IP属地安徽 |显示全部楼层
这个教程总结的不错。
头像被屏蔽

UID
516149
帖子
2454
PB币
1695
贡献
0
技术
3
活跃
671
发表于 2020-1-3 16:41:41 IP属地辽宁 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 2Rank: 2

UID
4056034
帖子
149
PB币
317
贡献
0
技术
0
活跃
879
发表于 2020-1-3 17:06:10 IP属地北京 |显示全部楼层
不错,支持一下技术贴,感谢分享

Rank: 7Rank: 7Rank: 7

UID
4676895
帖子
1788
PB币
103
贡献
0
技术
0
活跃
1516
发表于 2020-1-3 17:13:53 IP属地广东 来自手机 |显示全部楼层
看得一头雾水主要是不懂编程

Rank: 2Rank: 2

UID
4811827
帖子
119
PB币
196
贡献
0
技术
0
活跃
560
发表于 2020-1-3 17:24:19 IP属地天津 |显示全部楼层
楼主终端代码好像是有点问题 应该是 ./iasl -dl DSDT.aml SSDT*.aml

Rank: 9

UID
750326
帖子
4537
PB币
3277
贡献
0
技术
102
活跃
2890
发表于 2020-1-3 18:44:09 IP属地四川 |显示全部楼层
我要试试呢

Rank: 2Rank: 2

UID
4138664
帖子
463
PB币
208
贡献
0
技术
0
活跃
1171
发表于 2020-1-3 19:05:30 IP属地广东 来自手机 |显示全部楼层
MyMarmot 发表于 2020-1-3 14:27
去帮一帮小新pro 的人去吧,他们的触控板这么久了都没驱动

♂小新pro 13难搞触摸板
欢迎加入小新pro 黑苹果,群聊号码:946132482

Rank: 7Rank: 7Rank: 7

UID
4641386
帖子
920
PB币
1139
贡献
0
技术
36
活跃
2541
发表于 2020-1-3 19:10:01 IP属地山东 |显示全部楼层
写的不错 支持一下

Rank: 2Rank: 2

UID
3049843
帖子
294
PB币
217
贡献
0
技术
61
活跃
1467
发表于 2020-1-3 21:14:44 IP属地广东 |显示全部楼层
zhaobo0222 发表于 2020-1-3 17:24
楼主终端代码好像是有点问题 应该是 ./iasl -dl DSDT.aml SSDT*.aml

刚试了,不用加./,没问题的,谢谢指出

Rank: 2Rank: 2

UID
1813085
帖子
455
PB币
69
贡献
0
技术
0
活跃
892
发表于 2020-1-3 21:26:42 IP属地浙江 |显示全部楼层
技术贴需要支持一个!

Rank: 7Rank: 7Rank: 7

UID
160524
帖子
1297
PB币
26
贡献
0
技术
3
活跃
3181
发表于 2020-1-3 22:02:43 IP属地科威特 |显示全部楼层
谢谢共享正需要

Rank: 7Rank: 7Rank: 7

UID
4199986
帖子
1286
PB币
1861
贡献
0
技术
0
活跃
2749
发表于 2020-1-4 01:48:05 IP属地广东 |显示全部楼层
感谢楼主提供的教程,我的OC下通过查明,精减了一个DSM方法也不能驱动,加上去终于驱动了。

Rank: 2Rank: 2

UID
891915
帖子
275
PB币
27
贡献
0
技术
0
活跃
784
发表于 2020-1-6 00:07:17 IP属地湖北 |显示全部楼层
965987400abc 发表于 2020-1-3 14:15
占楼上传附件

不错不错 看一下怎么玩

Rank: 2Rank: 2

UID
4811827
帖子
119
PB币
196
贡献
0
技术
0
活跃
560
发表于 2020-1-6 09:12:39 IP属地天津 |显示全部楼层
965987400abc 发表于 2020-1-3 21:14
刚试了,不用加./,没问题的,谢谢指出

还有请教个问题,我的触摸板id是DELL08BC吗?我安装楼主的方法修改了,还是在触摸板界面空白的
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
4811827
帖子
119
PB币
196
贡献
0
技术
0
活跃
560
发表于 2020-1-6 09:18:00 IP属地天津 |显示全部楼层
965987400abc 发表于 2020-1-3 21:14
刚试了,不用加./,没问题的,谢谢指出

我的bios设备,是不是直接修改\_SB.PCI0.I2C0.TPD0
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
891915
帖子
275
PB币
27
贡献
0
技术
0
活跃
784
发表于 2020-1-8 18:07:44 IP属地湖北 |显示全部楼层
965987400abc 发表于 2020-1-3 14:15
占楼上传附件

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