搜索
查看: 5414|回复: 28

[DSDT] I2C GPIO补丁工具(辅助,热补丁,四叶草改名txt) [复制链接]

Rank: 7Rank: 7Rank: 7

UID
1631664
帖子
1587
PB币
5132
贡献
0
技术
0
活跃
1962
发表于 2019-2-3 11:40:47 |显示全部楼层
快御云安全
本帖最后由 penghubingzhou 于 2019-2-5 10:49 编辑

注意:自动化工具不可代替手动制作热补丁,本方法仅供参考!!!!!!




此乃VoodooI2C驱动补丁工具

特别说明:
本小工具测试阶段,使用过程遇到问题或者任何高见,欢迎回帖共同讨论(希望与大家共同找出通用补丁)
本小工具,是Windows 程序不是mac app(在下不才,不懂好像python高端语言)
本小工具虽然是Windows程序,还是可以在mac os使用CrossOver(mac os运行Windows程序)运行生成补丁
(压缩包,包含此工具)




(图1)




0.APCI文件
制作ssdt(hotpatch)补丁所需的AML文件(I2C所在AML文件,一般在dsdt)
*需要选择第4条 生成补丁类型为ssdt才可用
1.I2C设备
触摸板所在设备HID的I2C设备
*一些 I2C HID 设备在I2C0,一些在 I2C1 ,请根据自己情况选择
2.设备名称
触摸板所在设备HID的名称(补丁所在设备的_CRS)
3.设备id
*在Mac os 使用 IORegistryExplorer查看HID设备id(不用手动转换工具自动对应,通常制作成功后值有两个!根据自己选择)
*.打了补丁,可能查看不了设备ID ,要删除补丁才可以!保留禁用独显补丁即可
4. 生成补丁类型
类型有两种,第一种TXT补丁用于I2C所在APCI文件,第两种ssdt(hotpatch)补丁
*制作Ssdt(hotpatch)补丁
需要提供I2C所在AML文件
需要四叶草 ACPI/DSDT/Patches补丁,工具自动提取AML文件16进制码
(目的将原来的设备的_CRS屏蔽,就是_CRS改为XCRS,其他_CRS不会受影响,但补丁可能比较长,因为工具提取是唯一16进制码,I2C的_CRS代码相似比较高,所以比较长,当然可以加伪代码减少码的长度)
5.换行符类型
第一种,Windows的CR+LF, 第二种,Mac os 的LF(建议)
工具下载地址:

备注:
本小工具以:
https://voodooi2c.github.io/#GPIO Pinning/GPIO Pinning
理论基础制作成


本小工具由AutoIt编译而成(如同AutoIt名称 让it自动化)
本小工具因为Windows程序,可能会某安全软件报毒!(用与不用全你看自己选择)


dsdt,ssdt 请在四叶草启动菜单 按F4 提取


教程不是通用,所以好多论友遇到问题!
GPIO补丁制作中文教程(翻译)
http://bbs.pcbeta.com/viewthread-1797378-1-1.html
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
3

查看全部评分

Rank: 2Rank: 2

UID
4038121
帖子
292
PB币
282
贡献
0
技术
3
活跃
888

8周年庆典勋章

发表于 2019-2-3 12:29:34 |显示全部楼层
膜拜大神

正当疯头!

Rank: 5Rank: 5Rank: 5

UID
122465
帖子
785
PB币
2575
贡献
0
技术
0
活跃
1567
发表于 2019-2-3 14:10:52 |显示全部楼层
,这样的工具太棒。

Rank: 7Rank: 7Rank: 7

UID
4842671
帖子
2789
PB币
3388
贡献
0
技术
10
活跃
1019
发表于 2019-2-3 14:14:48 |显示全部楼层
好东西,能不能简要说一下使用方法和要注意的地方

Rank: 7Rank: 7Rank: 7

UID
713168
帖子
1639
PB币
169
贡献
0
技术
6
活跃
2676
发表于 2019-2-3 14:20:08 |显示全部楼层
谢谢楼主分享

Rank: 2Rank: 2

UID
4840704
帖子
163
PB币
1
贡献
0
技术
0
活跃
308
发表于 2019-2-3 14:34:23 |显示全部楼层
谢谢楼主分享

嫉恶如仇,是非分明的冰境泽

UID
3081083
帖子
2562
PB币
50812
贡献
0
技术
15
活跃
2119

巡察使 7周年庆典勋章 我是大学生!

发表于 2019-2-3 15:38:06 |显示全部楼层
我去win测试下我的,如果效果可以就给评分!!!

Rank: 7Rank: 7Rank: 7

UID
1631664
帖子
1587
PB币
5132
贡献
0
技术
0
活跃
1962
发表于 2019-2-3 15:59:30 |显示全部楼层
云朵有点甜 发表于 2019-2-3 14:14
好东西,能不能简要说一下使用方法和要注意的地方

压缩里有更详细说明,如果在mac os 使用可以用CrossOver运行!(不过麻烦一些)
使用遇到问题有说明不明的地方,回帖反馈!这工具测试阶段!
对的,通常 Pin list 有两,至于是哪一个,需要自己测试
建议,先看GPIO补丁制作中文教程,找出自己  I2C HID和APIC pin,再去制作补丁

Rank: 7Rank: 7Rank: 7

UID
1631664
帖子
1587
PB币
5132
贡献
0
技术
0
活跃
1962
发表于 2019-2-3 16:04:20 |显示全部楼层
penghubingzhou 发表于 2019-2-3 15:38
我去win测试下我的,如果效果可以就给评分!!!

可以,不用在Windows使用 !在mac os 使用 CrossOver 运行工具一样 生成补丁的(就是运行一点麻烦咯,可以免了一次重启)

嫉恶如仇,是非分明的冰境泽

UID
3081083
帖子
2562
PB币
50812
贡献
0
技术
15
活跃
2119

巡察使 7周年庆典勋章 我是大学生!

发表于 2019-2-3 16:26:20 |显示全部楼层
a2295926 发表于 2019-2-3 16:04
可以,不用在Windows使用 !在mac os 使用 CrossOver 运行工具一样 生成补丁的(就是运行一点麻烦咯,可以 ...

我现在卡在最后一步那里,没法生成SSDT,还有那个第六个到底应该怎么写。

Rank: 7Rank: 7Rank: 7

UID
2411714
帖子
1680
PB币
287
贡献
0
技术
17
活跃
1792
发表于 2019-2-3 17:04:42 |显示全部楼层
这么高端大气上档次的工具 牛

机佬

Rank: 7Rank: 7Rank: 7

UID
4812243
帖子
1290
PB币
693
贡献
0
技术
0
活跃
816
发表于 2019-2-3 17:12:35 |显示全部楼层
6啊,老铁,我来试试试试看。

Rank: 2Rank: 2

UID
1754988
帖子
318
PB币
472
贡献
0
技术
0
活跃
757
发表于 2019-2-3 17:36:55 |显示全部楼层
好多工具,都不会用。

Rank: 7Rank: 7Rank: 7

UID
1631664
帖子
1587
PB币
5132
贡献
0
技术
0
活跃
1962
发表于 2019-2-3 17:40:09 |显示全部楼层
penghubingzhou 发表于 2019-2-3 16:26
我现在卡在最后一步那里,没法生成SSDT,还有那个第六个到底应该怎么写。

第六那个,不用写的!作用创建GPIO.ini配置文件,和工具放在同一个文件夹下就可以 (作用转IORegistryExplorer查看到ID,所以没有介绍使用方式),压缩包已经有!
成生 ssdt(hotpatch)
提供I2C所在的AML文件
要提供正确 I2C HID 名称 ,名称不对无法生成补丁的
需要打四叶草 ACPI/DSDT/Patches补丁,将原AML的I2C HID下_CRS失去作用
(工具会自动反编译AML文件,
通过表达式搜索,找到 I2C HID 代码,
计算出设备的_CRS位置,转换,唯一的16进制码供四叶草 ACPI/DSDT/Patches补丁)

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2269
PB币
150
贡献
0
技术
176
活跃
1463

7周年庆典勋章

发表于 2019-2-3 20:10:49 来自手机 |显示全部楼层
mark一下,备用

Rank: 2Rank: 2

UID
752092
帖子
490
PB币
1690
贡献
0
技术
3
活跃
813
发表于 2019-2-3 20:28:59 |显示全部楼层
竟然不懂是干嘛用的

Rank: 2Rank: 2

UID
1365679
帖子
344
PB币
7
贡献
0
技术
0
活跃
1000
发表于 2019-2-4 09:13:50 |显示全部楼层
谢谢楼主分享

Rank: 2Rank: 2

UID
4721292
帖子
304
PB币
34
贡献
0
技术
1
活跃
1207
发表于 2019-2-4 13:06:12 |显示全部楼层
多谢大神分享,体验一下

Rank: 7Rank: 7Rank: 7

UID
4841127
帖子
1416
PB币
926
贡献
0
技术
0
活跃
1214
发表于 2019-2-4 22:18:22 |显示全部楼层
谢谢,前来一试

嫉恶如仇,是非分明的冰境泽

UID
3081083
帖子
2562
PB币
50812
贡献
0
技术
15
活跃
2119

巡察使 7周年庆典勋章 我是大学生!

发表于 2019-2-5 09:49:21 |显示全部楼层
本帖最后由 penghubingzhou 于 2019-2-5 10:38 编辑

今天终于导出了热补丁,但是应用到四叶草的时候并没起作用(我已经添加了改名)
问题出在加载VoodooI2CControllerDevice驱动上。这个驱动无法从热补丁中正确获取I2C的转存信息,从而无法初始化I2C HID设备。目前我还在思考问题的原因。
另外,这个程序不能给GPIO 打补丁,这是一个非常大的问题。中断模式下,如果不给GPIO打补丁,部分机型将因无法获取GPIO信息而导致中断无法工作。后续问题我再继续补充。
回顶部
Copyright (C) 2005-2021 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛