Jump to content

[GUIDE] USB Fix El Capitan 10.11


830 posts in this topic

Recommended Posts

I tried to make Injection xHC to my Z170-HD3, thanks to Rehabman.

But, my SS01 - SS10 are not functions. :(  (at my old motherboard Z97, it's called SSP1-SSP6). It looks SSDT-5.aml is related to USB Port.
So when,, i put my External Harddrive USB 3.0 / Flashdisk USB 3.0 at USB Port USB 3.0 no mount,, there are many error about AppleUSBXHCIPort i saw at console.

Here my IOREG, DSDT + SSDT and Screenshot.

Thanks before

 

 

 

 

Edited by Andres ZeroCross
Link to comment
Share on other sites

I tried to make Injection xHC to my Z170-HD3, thanks to Rehabman.

 

But, my SS01 - SS10 are not functions. :(  (at my old motherboard Z97, it's called SSP1-SSP6). It looks SSDT-5.aml is related to USB Port.

So when,, i put my External Harddrive USB 3.0 / Flashdisk USB 3.0 at USB Port USB 3.0 no mount,, there are many error about AppleUSBXHCIPort i saw at console.

 

Here my IOREG, DSDT + SSDT and Screenshot.

 

Thanks before

The port addresses you're using are wrong for 100-series.

 

100-series SS ports start at 0x11. You can look at USBInjectAll.kext and/or your IOACPIPlane.

Link to comment
Share on other sites

Port addresses depend on chipset.

 

In the future, google can help you find things... perhaps you've heard of it?

 

https://github.com/RehabMan/OS-X-USB-Inject-All

I think it's issue because El Capitan 10.11 itself. You can see here https://discussions.apple.com/thread/7253828

 

Same issue  :)

Link to comment
Share on other sites

Hi all,

 

im still having troubles with my USB in general on my skylake plattform

Im running a mini-itx z170 which seems to have issues compared to the atx board.

 

Following many guides it just like to wrap up what i got from the different sources and explain what i tried so far:

 

First of I patched my bios to run it without extended IO/APIC registers similar to Pikes fix for skylake and also enabled XHCI handoff in bios.

 

As clover settings I added SMBios iMac 17,1 + recommended config for Skylake:

I patched my AppleUSBXHCIPCI and added it as DummyUSBXHCIPCI.kext to EFI/kext/Other

Basically i modified IONameMatch even if it shouldnt look for it (it looks for hardware id's > usb 2.0)

In Addition i modified the port connections stated in my DSDT.

 

I also checked my USB chip again and the vendor etc fits to AppleUSBXHCISPT1 routing hence my hardware id is :0xa12f8086

<key>iMac17,1-XHCI</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.driver.AppleUSBMergeNub</string>
			<key>IOClass</key>
			<string>AppleUSBMergeNub</string>
			<key>IONameMatch</key>
			<string>XHC</string>
			<key>IOProviderClass</key>
			<string>AppleUSBXHCIPCI</string>
			<key>IOProviderMergeProperties</key>
			<dict>
				<key>port-count</key>
				<data>
				AgAAAA==
				</data>
				<key>ports</key>
				<dict>
					<key>HS01</key>
					<dict>
						<key>UsbConnector</key>
						<integer>3</integer>
						<key>port</key>
						<data>
						AQAAAA==
						</data>
					</dict>
					<key>HS02</key>
					<dict>
						<key>UsbConnector</key>
						<integer>3</integer>
						<key>port</key>
						<data>
						AgAAAA==
						</data>
					</dict>
				</dict>
			</dict>
			<key>model</key>
			<string>iMac17,1</string>
		</dict>

I identified the ports having a look at my DSDT (DSDT _SB.PCI0 - XHC - RHUB - HS1 HS2 etc..)

Device (HS01)
                {
                    Name (_ADR, One)  // _ADR: Address
                }

                Device (HS02)
                {
                    Name (_ADR, 0x02)  // _ADR: Address
                }

Finally im stuck at Still waiting for root device... but i got the following hints that it is a usb related problem see screenshot:

post-1615419-0-58911900-1446839505_thumb.jpg

 

 

Also my clover logging does not work or i can't tell if my DummyUSBXHCIPCI is actually loaded, it looks like it is not otherwise it wouldn't search for port 3 which failes (while i just have 2 defined in my DummyUSBXHCIPCI file...)

 

I also tried Pikes tip:

 

A few tips for folks who are still getting the dreadful: “Still waiting for root device“. First. Make sure that you have XHCI hand-off enabled in the BIOS and dropping ACPI tables like SaSsdt.aml may cause boot issues with SATA devices!

 

if i disable SSDT - SaSsdt ill get an unable to get device memory note from AppleUSBXHCIPCI.

 

im really puzzled here right now - trying to find a solution for a week now..

 

Hope you can give me some hints in the right direction. - i attached all my used files for a closeup look.

 

 

Regards

 

Jan

DSDT.aml.zip

DummyUSBXHCIPCI.kext.zip

config.plist.zip

Link to comment
Share on other sites

I think it's issue because El Capitan 10.11 itself. You can see here https://discussions.apple.com/thread/7253828

 

Same issue  :)

For now... your port injector is clearly wrong. I would correct that before you go jumping to conclusions.

Hi all,

 

im still having troubles with my USB in general on my skylake plattform

Im running a mini-itx z170 which seems to have issues compared to the atx board.

 

Following many guides it just like to wrap up what i got from the different sources and explain what i tried so far:

 

First of I patched my bios to run it without extended IO/APIC registers similar to Pikes fix for skylake and also enabled XHCI handoff in bios.

 

As clover settings I added SMBios iMac 17,1 + recommended config for Skylake:

I patched my AppleUSBXHCIPCI and added it as DummyUSBXHCIPCI.kext to EFI/kext/Other

Basically i modified IONameMatch even if it shouldnt look for it (it looks for hardware id's > usb 2.0)

In Addition i modified the port connections stated in my DSDT.

 

I also checked my USB chip again and the vendor etc fits to AppleUSBXHCISPT1 routing hence my hardware id is :0xa12f8086

<key>iMac17,1-XHCI</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.driver.AppleUSBMergeNub</string>
			<key>IOClass</key>
			<string>AppleUSBMergeNub</string>
			<key>IONameMatch</key>
			<string>XHC</string>
			<key>IOProviderClass</key>
			<string>AppleUSBXHCIPCI</string>
			<key>IOProviderMergeProperties</key>
			<dict>
				<key>port-count</key>
				<data>
				AgAAAA==
				</data>
				<key>ports</key>
				<dict>
					<key>HS01</key>
					<dict>
						<key>UsbConnector</key>
						<integer>3</integer>
						<key>port</key>
						<data>
						AQAAAA==
						</data>
					</dict>
					<key>HS02</key>
					<dict>
						<key>UsbConnector</key>
						<integer>3</integer>
						<key>port</key>
						<data>
						AgAAAA==
						</data>
					</dict>
				</dict>
			</dict>
			<key>model</key>
			<string>iMac17,1</string>
		</dict>

 

You're only injecting two ports HS01/HS02. Why?

Link to comment
Share on other sites

Hey Rehabman,

i really just wanted to know if i can get 2 ports running for starters.. but even that does not work.. its kinda weird that it still tries to load a third usb port dont you think?

 

I'll get the posted error even with my setup of two ports.. :(

 

edit:

 

and even the usb mantissa protocol error doesn't help me much.

 

so it seems he is not even loading/injecting my DummyUSBXHCIPCI.kext ? is there a good way to determine if my kext is injected properly?

or is it normal that it tries to inject only the first two ports and takes the other ports from the Sassdt ?

Link to comment
Share on other sites

Hey Rehabman,

i really just wanted to know if i can get 2 ports running for starters.. but even that does not work.. its kinda weird that it still tries to load a third usb port dont you think?

But you may not pick the correct two ports. Enable all ports (USBInjectAll.kext) first, then test to find which ones are actually used.

 

so it seems he is not even loading/injecting my DummyUSBXHCIPCI.kext ? is there a good way to determine if my kext is injected properly?

or is it normal that it tries to inject only the first two ports and takes the other ports from the Sassdt ?

I don't recommend use of the "dummy" kexts. Unlike the AppleHDA case, dummy kexts are not needed here.

Link to comment
Share on other sites

But you may not pick the correct two ports. Enable all ports (USBInjectAll.kext) first, then test to find which ones are actually used.

 

 

I don't recommend use of the "dummy" kexts. Unlike the AppleHDA case, dummy kexts are not needed here.

 

Thanks for your fast reply - im on it - just compiled your project/kext and replacing it with my dummmy.

Maybe i should mention that im still in the clover boot to install state not running an full OS yet.

Cheers

Link to comment
Share on other sites

Thanks for your fast reply - im on it - just compiled your project/kext and replacing it with my dummmy.

Maybe i should mention that im still in the clover boot to install state not running an full OS yet.

Cheers

Definitely want to inject all ports. Make sure you read the README. There is a lot of important information (including a link to prebuilt kext!).

 

Note: Your profile contains no hardware information. There may be additional things you need depending on the target hardware.

Link to comment
Share on other sites

Hi all,

 

im still having troubles with my USB in general on my skylake plattform

Im running a mini-itx z170 which seems to have issues compared to the atx board.

 

Following many guides it just like to wrap up what i got from the different sources and explain what i tried so far:

 

First of I patched my bios to run it without extended IO/APIC registers similar to Pikes fix for skylake and also enabled XHCI handoff in bios.

 

As clover settings I added SMBios iMac 17,1 + recommended config for Skylake:

I patched my AppleUSBXHCIPCI and added it as DummyUSBXHCIPCI.kext to EFI/kext/Other

Basically i modified IONameMatch even if it shouldnt look for it (it looks for hardware id's > usb 2.0)

In Addition i modified the port connections stated in my DSDT.

 

I also checked my USB chip again and the vendor etc fits to AppleUSBXHCISPT1 routing hence my hardware id is :0xa12f8086

<key>iMac17,1-XHCI</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.driver.AppleUSBMergeNub</string>
			<key>IOClass</key>
			<string>AppleUSBMergeNub</string>
			<key>IONameMatch</key>
			<string>XHC</string>
			<key>IOProviderClass</key>
			<string>AppleUSBXHCIPCI</string>
			<key>IOProviderMergeProperties</key>
			<dict>
				<key>port-count</key>
				<data>
				AgAAAA==
				</data>
				<key>ports</key>
				<dict>
					<key>HS01</key>
					<dict>
						<key>UsbConnector</key>
						<integer>3</integer>
						<key>port</key>
						<data>
						AQAAAA==
						</data>
					</dict>
					<key>HS02</key>
					<dict>
						<key>UsbConnector</key>
						<integer>3</integer>
						<key>port</key>
						<data>
						AgAAAA==
						</data>
					</dict>
				</dict>
			</dict>
			<key>model</key>
			<string>iMac17,1</string>
		</dict>

I identified the ports having a look at my DSDT (DSDT _SB.PCI0 - XHC - RHUB - HS1 HS2 etc..)

Device (HS01)
                {
                    Name (_ADR, One)  // _ADR: Address
                }

                Device (HS02)
                {
                    Name (_ADR, 0x02)  // _ADR: Address
                }

Finally im stuck at Still waiting for root device... but i got the following hints that it is a usb related problem see screenshot:

attachicon.gifimage1.JPG

 

 

Also my clover logging does not work or i can't tell if my DummyUSBXHCIPCI is actually loaded, it looks like it is not otherwise it wouldn't search for port 3 which failes (while i just have 2 defined in my DummyUSBXHCIPCI file...)

 

I also tried Pikes tip:

 

if i disable SSDT - SaSsdt ill get an unable to get device memory note from AppleUSBXHCIPCI.

 

im really puzzled here right now - trying to find a solution for a week now..

 

Hope you can give me some hints in the right direction. - i attached all my used files for a closeup look.

 

 

Regards

 

Jan

I see HPET error at your verbose log. For my Z170-HD3, i set HPET Enable at bios then tick "Fix HPET, add DTGP, FixHDA, FixRTC, Fix Darwin, Fix Region, Add Newway, Del Unused, Drop OEM USB, Drop OEM HDA, Drop OEM". And try inject 15ports at your InjectionUSB kext. 

Link to comment
Share on other sites

Definitely want to inject all ports. Make sure you read the README. There is a lot of important information (including a link to prebuilt kext!).

 

Note: Your profile contains no hardware information. There may be additional things you need depending on the target hardware.

 

 

I see HPET error at your verbose log. For my Z170-HD3, i set HPET Enable at bios then tick "Fix HPET, add DTGP, FixHDA, FixRTC, Fix Darwin, Fix Region, Add Newway, Del Unused, Drop OEM USB, Drop OEM HDA, Drop OEM". And try inject 15ports at your InjectionUSB kext. 

 

Thx to both of you.!  And sorry for my missing profile infos they have been added.

 

I'll just tried your kext @Rehabman and its definitly injected - thats already something for me today.. :)

 

@Andres thanks for your info too! I have all the settings you recommended but deactivated hpet it in bios.. ! :)

So hpet error is gone now -> now im stuck at bluetooth transport but first i think i have to sort out my usb errors. seems i reached the maximum amount of possible injects.

 

post-1615419-0-52860100-1446845280_thumb.jpg

 

-> im going to go for the readme and precompiled kexts for now thanks guys so far!

Link to comment
Share on other sites

Hey there, just wanna give you a heads-up. 

Thanks again, i could map my usb-ports properly especially by first running Rehabsman's injectAll -> big thanks for that.

 

I ran out of maximum ports pretty quickly while also just listing HS ports not SS ports.

Than i used : uia_exclude=HSXX,HSXY to exclude all unnecessary ports and was able to map my usb 3.0 ports as well.

 

I presume there is no USB 3.1 support in OSX 10.11 yet right? - haven't tried that hard yet but funny is that i connected a usb-stick to one of the ports and after a while the device got mounted.. (2-5 minutes of waiting..) - i ultimately disabled the two 3.1 ports.

 

Thx @ pokenguyen for the detailed explaination and wrapup - this really helped me to understand whats going on

and thx @ Rehabman for the tip to inject all + using your kext.

 

Btw. is there actually a way to keep vanilla SLE with proper USB mappings - presumably by using a patched dsdt right?

 

Regards

Jan

Link to comment
Share on other sites

Hi

 

I know this is not the slickest solution but i have managed to get all of my USB 2 ports working by editing /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBEHCIPCI.kext/Contents/Info.plist directly - I then upgraded to 10.11.1 and applied the edits and all is good.

 

But - in the installer if my edits are applied to the /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBEHCIPCI.kext/Contents/Info.plist of the USB installer my ports do not work. Are the personalities for USB somewhere else during installation? I would presume not but i dont get why the exact same configuration works on an installed system but not via the installer. The system definition in clover is the same also.

 

Any ideas?

 

cheers

Link to comment
Share on other sites

Hello.

I need help as the USB 3.0 ports.
Laptop Dell XPS 15 L502X
It recognizes only the USB 2.0 ports with a USB Injector.

First in the door windows are recognized as follows:
USB 3.0
Renesas Electronics USB 3.0 Root Hub
PCI bus 4, device 0, function 0
Local 0 (Port_ # 0003.Hub_ # 0001)
Local 0 (Port_ # 0004.Hub_ # 0001)
USB 2.0
Generic USB Hub
Port_ # 0001.Hub_ # 0001
Generic USB Hub
Port_ # 0001.Hub_ # 0002
Port_ # 0006.Hub_ # 0004
Port_ # 0002.Hub_ # 0004
Port_ # 0004.Hub_ # 0003
Intel ® 6 Series / C200 Series Chipset Family USB Enhanced Host Controller - 1C26
Intel ® 6 Series / C200 Series Chipset Family USB Enhanced Host Controller - 1C2D


my DSDT.aml -> EHCx to EHC0/1 and XHC1 to XHC -> https://drive.google.com/file/d/0B-Bcaie21dGiVGlpclItZ0t6Y0U/view?usp=sharing

USB Injector -> https://drive.google.com/file/d/0B-Bcaie21dGib2dPR2VHaERCTm8/view?usp=sharing

My IORegistry with Yosemite and running usb 3.0 -> https://drive.google.com/file/d/0B-Bcaie21dGiVTdURXJYcWFfNWM/view?usp=sharing

My IORegistry with El Capitan and not running usb 3.0 -> https://drive.google.com/file/d/0B-Bcaie21dGiNmxHX3o1RUFYNHM/view?usp=sharing

I did not succeed to operate USB 3.0.

Someone please help me to lift the USB 3.0 on my laptop with El Capitan?

Link to comment
Share on other sites

It recognizes only the USB 2.0 ports with a USB Injector.

 

First in the door windows are recognized as follows:

USB 3.0

Renesas Electronics USB 3.0 Root Hub

NEC/Renesas USB3 is not supported with 10.11.

Link to comment
Share on other sites

@RehabMan: Have you figured out how to get the FL1100 card to show the speed and current information in El Cap? I've tried a bunch of things here and can only conclude that El Cap is seeing it as an expansion card despite the usual fixes making it appear as internal in previous system versions.

 

I know it's just cosmetic but it's still a bit annoying at the same time ;)

Link to comment
Share on other sites

@RehabMan: Have you figured out how to get the FL1100 card to show the speed and current information in El Cap? I've tried a bunch of things here and can only conclude that El Cap is seeing it as an expansion card despite the usual fixes making it appear as internal in previous system versions.

 

I know it's just cosmetic but it's still a bit annoying at the same time ;)

It may not be implemented in the driver. I saw the thread on it, but haven't really had time to look at it (cosmetic only).

 

It would be interesting to see what a real Mac with FL1100 shows, and what is in ioreg...

Link to comment
Share on other sites

Hi all, i have a problem with 1 of 2 usb2 on my laptop fujitsu E572.

I tried to modify info.plist of DummyEHCI adding ports without success

How can i make the usb to work?

Where am I wrong?

Attached ioreg with elcap and yose, dsdt and dummyehci

Thanks to all

Archivio.zip

Link to comment
Share on other sites

×
×
  • Create New...