我的Matrox DualHead2Go ME和2011年末的15英寸MBP(运行10.9.2)一直存在此问题。当显示器从睡眠状态唤醒时,外接显示器不会重新唤醒。
我已经收集到这是因为Matrox单元进入了自己的睡眠模式,并且没有被操作系统的唤醒信号唤醒。
起作用的是拔下并重新插入与Matrox连接的雷电电缆。但是,这并不理想,因为我担心一天多次插拔电缆会造成磨损。
有什么方法可以在终端上打开和关闭雷电驱动器,从而避免雷电电缆不断插拔?
我的Matrox DualHead2Go ME和2011年末的15英寸MBP(运行10.9.2)一直存在此问题。当显示器从睡眠状态唤醒时,外接显示器不会重新唤醒。
我已经收集到这是因为Matrox单元进入了自己的睡眠模式,并且没有被操作系统的唤醒信号唤醒。
起作用的是拔下并重新插入与Matrox连接的雷电电缆。但是,这并不理想,因为我担心一天多次插拔电缆会造成磨损。
有什么方法可以在终端上打开和关闭雷电驱动器,从而避免雷电电缆不断插拔?
Answers:
Hackint0sh社区慷慨地创建了一些kext管理工具,供所有人使用,甚至包括那些拥有和操作正版Macintosh的人。
您可以使用这些工具进行实验,并快速准确地找到适合您的方法。至少SRTools甚至具有历史记录和撤消功能,以帮助您避免使计算机处于无法引导的状态,这在搞乱OS X扩展时是可能的。您会看到... userland是userland,内核空间是内核空间,除非在Wikipedia页面上,否则twain永远不会见面。
这里的想法以及这些工具的用途是实验。在Finder中,转到菜单下,选择“转到文件夹...”或类型⇪ shift- ⌘ command- g和类型/系统/图书馆/扩展在地址栏中出现,然后在打开,查找具有“霹雳扩展窗口文件名中的“”。使用上述链接的实用程序之一,通过卸载和加载各种kext来测试您的设置,以查看哪一个(如果确实存在)将显示为您所需的那个。然后,您可以在以后简化流程(例如使用非常简单的bash脚本,该脚本已被应用来卸载/重新加载kext)。
苹果为Thunderbolt-Connection提供了一些辅助功能:
AppleThunderboltDPAdapters.kext
AppleThunderboltEDMService.kext
AppleThunderboltIP.kext
AppleThunderboltNHI.kext
AppleThunderboltPCIAdapters.kext
AppleThunderboltUTDM.kext
IOThunderboltFamily.kext
我认为您正在寻找的命令是:
sudo kextunload /System/Library/Extensions/AppleThunderboltPCIAdapters.kext
sudo kextload /System/Library/Extensions/AppleThunderboltPCIAdapters.kext
要么
sudo kextunload /System/Library/Extensions/IOThunderboltFamily.kext
sudo kextload /System/Library/Extensions/IOThunderboltFamily.kext
我的Mac Pro中有一个Thunderbolt端口,但目前没有任何设备。因此,我无法确切告诉您哪个kext可以解决问题。
- 更多的信息 :
Thunderbolt基本上是通过DisplayPort连接建立的PCIe通道。我可以想象它是基于ACPIPlatform或IOPCIFamily内核扩展的。无论哪种方式,如果您卸载那些分支,都可能会切断您所在的分支。
Apple在此处发布了有关创建Thunderbolt驱动程序以及如何验证设备是否仍在线的文档。
它还说:“对于PCI,I / O套件中的I / O PCI系列(IOPCIFamily)负责枚举控制器芯片中的PCI桥以及任何下游桥或设备。”
此外:“ PCI设备驱动程序可以通过在I / O注册表中的父级上递归搜索密钥IOPCITunnelled(...)来确定是否已连接Thunderbolt设备。”
还可以查看开发人员库。
Thunderbolt是一项复杂的技术,您可以编写一个小程序,也可以编写启动脚本来检查设备是否处于脱机状态并重新加载驱动程序。您可以手动执行此操作,而不必先拔下电源再重新插入。
sudo kext[un]load /System/Library/Extensions/IOThunderboltFamily.kext
命令,但是出现以下错误:(kernel) Can't remove kext com.apple.iokit.IOThunderboltFamily; services failed to terminate - 0xdc008018. Failed to unload com.apple.iokit.IOThunderboltFamily - (libkern/kext) kext is in use or retained (cannot unload).
我知道如何覆盖它吗?