黑苹果日记五(USB)

设定为SMBios中的机型后,该研究一下USB接口的问题了。

之前加了USBInjectAll.kext还是有作用的,可以驱动所有USB口。

原生的USB驱动文件在以下目录:/S/L/E/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBEHCIPCI.kext

打开下面的Contents/Info.plist,可以找到一堆与机型相关的配置。

结合之前部分USB接口能用的现象,反复观察后,认为与下面的内容有关:

MacBookPro7,1-EHC1
		
			CFBundleIdentifier
			com.apple.driver.AppleUSBMergeNub
			IOClass
			AppleUSBMergeNub
			IONameMatch
			EHC1
			IOProviderClass
			AppleUSBEHCIPCI
			IOProviderMergeProperties
			
				port-count
				
				BgAAAA==
				
				ports
				
					PRT1
					
						UsbConnector
						0
						port
						
						AQAAAA==
						
					
					PRT6
					
						UsbConnector
						255
						port
						
						BgAAAA==
						
					
				
			
			model
			MacBookPro7,1
		
		MacBookPro7,1-EHC2
		
			CFBundleIdentifier
			com.apple.driver.AppleUSBMergeNub
			IOClass
			AppleUSBMergeNub
			IONameMatch
			EHC2
			IOProviderClass
			AppleUSBEHCIPCI
			IOProviderMergeProperties
			
				port-count
				
				BgAAAA==
				
				ports
				
					PRT1
					
						UsbConnector
						255
						port
						
						AQAAAA==
						
					
					PRT3
					
						UsbConnector
						255
						port
						
						AwAAAA==
						
					
					PRT4
					
						UsbConnector
						0
						port
						
						BAAAAA==
						
					
					PRT5
					
						UsbConnector
						255
						port
						
						BQAAAA==
						
					
					PRT6
					
						UsbConnector
						255
						port
						
						BgAAAA==
						
					
				
			
			model
			MacBookPro7,1
		

其中EHC1和EHC2即是本机的USB控制器名称,在Windows系统下用USBTree工具查看USB设备信息如下:

黑苹果日记五(USB)_第1张图片

可以看到有两个USB控制器,分别连接了一个USB Root Hub,而USB Root Hub下面有3个端口,其中只有PORT1是有用的,PORT2和PORT3都是空的,而PORT1下面又连接了一个USB 2.0 Hub。

其中右边的信息还显示了控制器的地址:0x1D0000,另一个是0x1A0000,

在DSDT文件里能搜索到这个地址。分别对应EHC1和EHC2。

再联想到刚才的机型配置文件,有描述EHC1/PRT1 UsbConnector=0,而EHC2/PRT1 UsbConnector=255,这里的PRT1就是端口1的意思,连接参数0和255,我猜测0表示连接了USB HUB,而255表示是直接对外的接口。

所以把配置文件里的255改为0,删除PRT2,3,4,5,6这些无用的端口,重启电脑,发现所有的USB口都可以用了。

这样不需要USBInjectAll.kext也可以驱动所有的USB2.0接口了。

不过修改了Info.plist会导致驱动的签名信息被破坏,在MAC系统里查找系统报告,扩展功能,会显示这个驱动的签名是未知的。

 

 

你可能感兴趣的:(学习笔记,MacOS)