抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

背景

都9102年了,雷电三(ThunderBolt3)仍然没有被普及,而黒苹果相关的驱动方法更是少得可怜。除了tonymacx86有看到不少硬核交流帖,国内的中文论坛的帖子基本都是晦涩难懂的,而且是同一篇文章的各种洗稿(原文见此),而这篇文章其实主要是为了介绍热插拔。所以写这篇文章稍微分析一下那**不通的文章到底在说什么。

环境

设备:依然是我在维护的机型——HP ZHAN99 WorkStation G1 (惠普战99,i7版本,非Xeon)

系统:macOS 10.15 Catalina developerBeta4 (19A512f)

雷电3型号:JHL6340

正文

驱动只需要两个文件,分别为ssdt和IOElectrify.kext

所需文件

IOElectrify解决的事热插拔的问题,这个驱动可以自编译也可以直接下载编译好的,实测哪怕是在10.13sdk下编译的版本,也完全可以在10.15中使用。当然我也提供了10.15sdk的编译版本。

另外,虽然没有确认是否有必要,但是建议修改IOElectrify的info.plist的 IOKitPersonalities-IOElectrifyBridge-IOPCIPrimaryMatch 。【即在该属性原来基础上加上 “(空格)你的bridgeID”】。bridgeID可以通过 Hackintool-PCI设备 来找到,其组成为 设备+供应商(去掉0x),比如我的供应商是0x8086,我的设备是0x15DA,那么我的bridgeID是0x15da8086

hackintool

ssdt只需要根据自己的情况修改雷电三路径即可。但这就是坑的开始之处。通常我们通过IOReg来定位设备的路径。但是你会发现在IOReg里面搜索thunderbolt无法找到设备。此处有个trick,就是将IOElectrify放入kext/other之后关机,重启。之后你就可以在IOReg中找到thunderbolt所在的位置,从而确定你的路径。比如我的路径是RP01,则将ssdt.dsl中的所有RP05改为RP01,然后compile确认无误后保存为.aml文件,放入ACPI/patched。

IOReg

之后重启确认一下你的顶部栏是否出现了ExpressCard设备,并同时去往关于本机-系统报告-PCI中观察是否出现了相关设备信息。

顶栏ExpressCard设备

被识别为PCI设备的雷雳三

另外你可以在config.list-Devices-Properties中定制你的描述

下面为连接HP thunderbolt3 Dock后的其他几处截图:

Dock自带的有线网卡

Dock的音频输入/输出

Dock的USB总线

补充

2019-08-06更新:

经过实机测试,现在的ssdt应该更换为源自tonymacx86的SSDT-TB,而原帖的老补丁会造成严重的bug。

关于链接速度问题的说明:

在系统报告中你会发现链接速度为2.5GT/s,这看起来是雷电1的速度而非雷电3。经过我在win下查看得知,其Current速度的确仅为2.5GT/s,但是其max速度可为8GT/s。换言之macOS中显示的只是未连接设备时的默认速度。而实际使用中雷电三接口的表现是正常的。

关于只出现USB控制器而缺少了NHI0设备

  • 如果你未连接设备开机却出现这个情况,请使用关机来完全断电后再启动系统以解决这个问题。
  • 如果你是连接着外置设备开机,请确定你连接的是雷电三设备而非普通的typeC设备。

存留的问题

  • 冷启动开机时必须连接雷电三设备,否则热插拔失效,只能当作普通typeC使用。
  • 睡眠唤醒后热插拔失效。
  • 不允许点击关闭卡,否则将导致系统crash而死机重启。
  • 注意由于雷电三接口与USB有关系,所以定制USB要记得将其设置为typeC+sw,此处不赘述如何定制USB。

附录

必需文件下载链接:

Github

建议搭配的软件列表:

  • Hackintool
  • IORegistryExplorer
  • CloverConfigurator
  • MaciASL
  • Xcode(自编译时需要)

参考:

rockjesus

tonymacx86

评论