三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

VoodooI2C完全指南:从零开始配置Intel I2C控制器驱动

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上完美工作。

📋 系统要求检查

在开始安装前,请确保你的系统满足以下条件:

  1. Intel CPU:至少为Haswell微架构(CPU型号第一位数字≥4)

    • 4xxx系列:Haswell
    • 5xxx系列:Broadwell
    • 6xxx系列:Skylake
    • 7xxx系列:Kaby Lake
    • 8xxx及以上:Coffee Lake/Whiskey Lake等
  2. 支持的I2C控制器:需包含以下设备ID之一

    • Haswell: INT33C2, INT33C3
    • Broadwell: INT3432, INT3433
    • Skylake: pci8086,9d60-9d63
    • Kaby Lake: pci8086,a160-a163
    • 其他 newer 平台: pci8086,9de8-9deb, a368-a36b等
  3. 操作系统:macOS 10.10 Yosemite或更高版本

  4. 引导程序:Clover或OpenCore

🔧 准备工作

获取源代码

首先克隆VoodooI2C仓库到本地:

git clone https://gitcode.com/gh_mirrors/vo/VoodooI2C

安装必要工具

  • MaciASL:用于DSDT补丁编辑
  • Xcode命令行工具:用于编译驱动

🛠️ DSDT补丁配置

添加VoodooI2C补丁仓库

  1. 打开MaciASL,进入偏好设置
  2. 在"Sources"标签中点击"+"按钮
  3. 名称填写"VoodooI2C",URL填写http://raw.github.com/alexandred/VoodooI2C-Patches/master
  4. 点击"OK"保存设置

识别I2C设备ACPI ID

在Windows设备管理器中,你可以找到I2C设备的ACPI ID,常见的设备类型及其ACPI ID如下:

  • 触摸板:TPDX, ELAN, SYNA, CYPR
  • 触摸屏:TPLX, ELAN, ETPD, SYNA, ATML
  • 传感器 hub:SHUB

I2C设备ACPI ID查看

应用必要补丁

根据你的系统情况,应用以下补丁:

  1. Windows补丁:选择与你设备预装Windows版本对应的补丁
  2. Skylake系统:应用"I2C Controllers [SKL]"补丁
  3. GPIO控制器启用:Skylake及更新平台需应用"GPIO Controller Enable"补丁

🔍 GPIO引脚配置

确定中断引脚情况

使用IORegExplorer搜索你的ACPI ID,查看是否有IOInterruptSpecifiers条目:

IOReg引脚情况

如果APIC引脚号(十六进制)大于0x2F,需要进行GPIO引脚配置:

  1. 在DSDT中找到设备条目,检查是否有SBFG资源模板
  2. 如无,添加以下代码到设备根级别:
Name (SBFG, ResourceTemplate () { GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } })
  1. 确定正确的GPIO引脚号并更新Pin list
  2. 确保_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),仅供参考

← 返回列表