VoodooI2C完全指南:从零开始配置Intel I2C控制器驱动
VoodooI2C完全指南:从零开始配置Intel I2C控制器驱动
【免费下载链接】VoodooI2CIntel I2C controller and slave device drivers for macOS项目地址: https://gitcode.com/gh_mirrors/vo/VoodooI2C
VoodooI2C是一款针对macOS系统的Intel I2C控制器和从设备驱动程序,专为高级用户和黑苹果爱好者设计。通过本指南,你将学习如何从零开始配置VoodooI2C驱动,让你的触摸板、触摸屏等I2C设备在macOS上完美工作。
📋 系统要求检查
在开始安装前,请确保你的系统满足以下条件:
Intel CPU:至少为Haswell微架构(CPU型号第一位数字≥4)
- 4xxx系列:Haswell
- 5xxx系列:Broadwell
- 6xxx系列:Skylake
- 7xxx系列:Kaby Lake
- 8xxx及以上:Coffee Lake/Whiskey Lake等
支持的I2C控制器:需包含以下设备ID之一
- Haswell: INT33C2, INT33C3
- Broadwell: INT3432, INT3433
- Skylake: pci8086,9d60-9d63
- Kaby Lake: pci8086,a160-a163
- 其他 newer 平台: pci8086,9de8-9deb, a368-a36b等
操作系统:macOS 10.10 Yosemite或更高版本
引导程序:Clover或OpenCore
🔧 准备工作
获取源代码
首先克隆VoodooI2C仓库到本地:
git clone https://gitcode.com/gh_mirrors/vo/VoodooI2C安装必要工具
- MaciASL:用于DSDT补丁编辑
- Xcode命令行工具:用于编译驱动
🛠️ DSDT补丁配置
添加VoodooI2C补丁仓库
- 打开MaciASL,进入偏好设置
- 在"Sources"标签中点击"+"按钮
- 名称填写"VoodooI2C",URL填写
http://raw.github.com/alexandred/VoodooI2C-Patches/master - 点击"OK"保存设置
识别I2C设备ACPI ID
在Windows设备管理器中,你可以找到I2C设备的ACPI ID,常见的设备类型及其ACPI ID如下:
- 触摸板:TPDX, ELAN, SYNA, CYPR
- 触摸屏:TPLX, ELAN, ETPD, SYNA, ATML
- 传感器 hub:SHUB
I2C设备ACPI ID查看
应用必要补丁
根据你的系统情况,应用以下补丁:
- Windows补丁:选择与你设备预装Windows版本对应的补丁
- Skylake系统:应用"I2C Controllers [SKL]"补丁
- GPIO控制器启用:Skylake及更新平台需应用"GPIO Controller Enable"补丁
🔍 GPIO引脚配置
确定中断引脚情况
使用IORegExplorer搜索你的ACPI ID,查看是否有IOInterruptSpecifiers条目:
IOReg引脚情况
如果APIC引脚号(十六进制)大于0x2F,需要进行GPIO引脚配置:
- 在DSDT中找到设备条目,检查是否有SBFG资源模板
- 如无,添加以下代码到设备根级别:
Name (SBFG, ResourceTemplate () { GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } })- 确定正确的GPIO引脚号并更新Pin list
- 确保_CRS方法返回
Return (ConcatenateResTemplate (SBFB, SBFG))
💾 安装驱动
编译驱动
进入项目目录,使用Xcode编译VoodooI2C驱动:
cd VoodooI2C xcodebuild -project VoodooI2C.xcodeproj安装Kext文件
将编译好的Kext文件复制到Clover的kext目录:
- 核心驱动:
VoodooI2C.kext - 卫星驱动:根据设备类型选择(如
VoodooI2CHID.kext用于HID设备)
⚙️ 配置引导参数
根据需要添加以下引导参数到config.plist:
- 强制轮询模式:
-vi2c-force-polling - 设备属性设置:在
DeviceProperties中添加force-polling属性
🐛 常见错误及解决方法
| 错误信息 | 解决方法 |
|---|---|
| Could not find GPIO controller | 应用GPIO控制器启用补丁 |
| Pin cannot be used as IRQ | 检查DSDT中的GPIO引脚设置是否正确 |
| Could not get interrupt event source | 确保设备有正确的APIC或GPIO中断定义 |
| Unknown Synopsys component type | 应用I2C控制器补丁 |
📚 更多资源
- 官方文档:Documentation/
- 故障排除指南:Documentation/Troubleshooting.md
- 轮询模式说明:Documentation/Polling Mode.md
通过以上步骤,你应该能够成功配置VoodooI2C驱动,让你的I2C设备在macOS上正常工作。如果遇到问题,请参考故障排除文档或在相关社区寻求帮助。
【免费下载链接】VoodooI2CIntel I2C controller and slave device drivers for macOS项目地址: https://gitcode.com/gh_mirrors/vo/VoodooI2C
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
