积分 8994 最后登录 2022-10-4 精华 0 阅读权限 100 主题 327 UID 197429 帖子 16229 PB币 266 威望 417 贡献 0 技术 163 活跃 4671
UID 197429 帖子 16229 PB币 266 贡献 0 技术 163 活跃 4671
发表于 2015-10-3 11:23:17
IP属地美国
| 显示全部楼层
如何解决在OS X 11中英特尔USB端口
经过一段时间尝试解决在10.11 USB接口,我只是意识到,10.11有一个新的机制来约束的USB端口,您的SMBIOS。如果您的英特尔USB端口停止工作在10.11,这可能是你的端口SMBIOS没有定义。
该端口可以正常工作后,要切换到另一个SMBIOS用合适的端口,但是你可以为你的SMBIOS编辑的端口。
1.将USB kext文件
新的kext USB控制在10.11有AppleUSBEHCIPCI.kext和AppleUSBXHCIPCI.kext内IOUSBHostFamily.kext。您可以通过打开这些文件查看当前SMBIOS的端口:
USB 2.0
/System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBEHCIPCI.kext/Contents/Info.plist
USB 2.0和USB 3.0
/System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBXHCIPCI.kext/Contents/Info.plist
系统将立即连接AppleUSBEHCIPCI内核扩展到设备名称EHC1和EHC2在默认情况下,您可以检查的info.plist:
因此,请确保您的USB 2.0设备名称已在KEXT。您可以更改IONameMatch在DSDT符合USB 2.0的名称,也可以重新命名USB 2.0设备的DSDT到EHC1 / EHC2(取决于SMBIOS在info.plist中)
对于USB 3.0,这是不同的。如果不使用名称(IOMatch)的,AppleUSBXHCIPCI会用ID来KEXT连接到USB 3.0设备的DSDT
因此,即使您的USB 3.0设备被重命名XHC1或XHC,如果您的设备ID匹配的KEXT将加载。
2.端口限制
即使在USB kext文件是负载,它仍然并不意味着在你的系统中工作的所有端 口,因为苹果公司已经实施了新的方法来控制哪些端口,可为SMBIOS。
请注意,如果您的USB 3.0设备没有命名XHC1(通常XHC),没有端口限制在默认情况下,但如果所有的端口都不能完全正常工作,您可能需要启用端口限制和手动添加端口。
例如,在的iMac 13,1 SMBIOS:
默认情况下,EHC1,有一个可用的端口(端口数01000000 = 00000001位翻转)和端口地址1,注意端口名称并不重要。如果系统中有其他地址多个端口,这些端口将被禁用!
同样为XHC1,9,2的MacBookPro将仅具有地址1,2,5,6可用端口:
为了解决这些问题,有两种方法:清除端口限制或添加端口。
2A。删除端口限制
这是最简单的方式,你只需要删除端口数和端口在info.plist中,系统会自动从你的DSDT抢口!
对于USB 3.0,您也可以删除端口数和端口,或者只是命名您的USB 3.0的DSDT来XHC设备(实际上任何名义,出XHC1的)。
像iMac14有些SMBIOS,X没有端口限制为USB 2.0,所以你可以设置这些SMBIOS如果你“还在等待根设备”造成的不工作的USB 2.0端口
不过,苹果设定的15端口,一个USB设备的限制,所以如果你的DSDT定义超过15个端口,只有第一个15端口会被系统识别!在这种情况下,您必须启用端口限制,如引导下2b中添加端口。
2B。添加端口,端口限制
在这种方法中,您将启用端口限制并添加端口。
要启用端口限制:
- 对于USB 2.0,重新命名您的USB转EHC1 / EHC2或更改IONameMatch。
- 对于USB 3.0,重新命名您的USB转XHC1或更改IONameMatch。
然后,你必须确定你在你的DSDT哪些端口。例如,我的XHC1在1具有口,2,3,4:
但是,SMBIOS MacBookPro9,2我使用的是只包含端口1,2,5,6(注意端口名称并不重要):
因此,我不得不添加端口3月4日和港口工作了!
请注意,仍然有15个端口的限制(通过发现VCH888)。例如:如果你的DSDT定义14个USB 2.0端口HS01-> HS14和6个USB 3.0接口SS01-> SS06,OS X只能识别HS01-> HS14和SS01。
要解决这个问题,你必须确定哪些端口是真实的,哪些端口是不可用的,然后添加唯一有效的端口。你可以找到例子在这里:HTTP://www.insanelym...1/#entry2147401
3.虚拟USB kext文件
相反,直接编辑kext文件,这将OS X更新后丢失的,你可以用虚拟的kext(由Piker阿尔法发现)。
我为你准备了2虚设的kext对EHCI(感谢stinga11)和XHCI(感谢 VHC888)。您只需编辑的info.plist并安装kext文件到/ S / L / E。该kext文件不能放在四叶草kext文件夹中。
请注意,您必须改变那些kext文件你的需要之前安装!
展开阅读全文​