Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
The two solutions are mutually exclusive. _OSI->XOSI+SSDT is a way to avoid having a patched DSDT in ACPI/patched. If you're already simulating "Windows 2012" (Windows8) for "Darwin" (OS X) via OS Check Fix patch, no need for the XOSI trick.

Most laptops will end up having a patched DSDT because of the complexity of the patches required. But desktops tend to have simpler patches and can be done via other methods.

I understand, it is what I expected, but now I'm sure


Note: Advanced users can do all patches on-the-fly on laptops too. But it gets tricky. I've done it for my u430, ProBook 4530s, ProBook 4540s (and my BRIX desktop, DH67GD desktop). Eventually, I might write an article on it for advanced users only...

I've been following your Lenovo U430 repo.
seems to me a more difícel way to do maintenance, after writing a program in shellscript to apply patches in a s / dsdt


Most often it is non-working USB after wake.

this is related to your HP-Envy-K Enable USB3 post wake patch?


Code:
<dict>
	<key>Comment</key>
	<string>Enable USB3 post wake</string>
	<key>Find</key>
	<data>xoDIAAAAAQ==</data>
	<key>Name</key>
	<string>#AppleUSBXHCI</string>
	<key>Replace</key>
	<data>xoDIAAAAAA==</data>
</dict>


Easier patch...
Code:
into method label XWAK replace_content begin //nothing end;



FakePCIID_XHCIMux routes USB2 on XHCI to EHCI. It can be useful in these scenarios:
- your DSDT assumes this configuration
- you you have a device that behaves better when it is connected to EHCI/EHCI drivers
- you have more ports on XHCI than are allowed by the 15 port limit

ok, thanks for clarifying
 
I've been following your Lenovo U430 repo.
seems to me a more difícel way to do maintenance, after writing a program in shellscript to apply patches in a s / dsdt

Once you have it, maintenance is not really required. But yes, it is more difficult initially (in fact it requires you patch the old way first, then convert).

The advantage is no patched ACPI, so the config.plist+SSDT_HACK.aml can be used on any compatible machine without the process of extract/patch. BIOS updates, hardware updates, and BIOS options can be changed at any time without repatching.

this is related to your HP-Envy-K Enable USB3 post wake patch?

Not sure. I don't use that patch anymore.
 
No solution for NEC/Renasas USB. I will add this to post #1 so people stop asking...

Disproving the old adage that the squeaky werfel gets the oil.
 
Can't make webcam to work... Installed FakePCIID_XHCIMux.kext along with FakePCIID, renamed EHC1 -> EH01, EHC2 -> EH02 still can't see my webcam, it doesn't work

Attached ioreg and DSDT

 

Attachments

  • DSDT.aml
    76.5 KB · Views: 90
  • MacBook.ioreg
    7.6 MB · Views: 98
Can't make webcam to work... Installed FakePCIID_XHCIMux.kext along with FakePCIID, renamed EHC1 -> EH01, EHC2 -> EH02 still can't see my webcam, it doesn't work

Attached ioreg and DSDT


FakePCIID+FakePCIID_XHCIMux is not installed. Try it.
 
FakePCIID+FakePCIID_XHCIMux is not installed. Try it.

I installed them via kext wizard and sudo touch /System/Library/Extensions && sudo kextcache -u /
Do i need to patch anything in DSDT for my webcam to work?

EDIT: reinstalled kexts from terminal and everything works. thanks :D
 
RehabMan,
The problem I am having is none of the USB devices I plug in show up under XHC in IORegistry/IOJones. They show up under EHC1 (PR01), EHC2 (PR01), and PCI0 (RP07). This includes USB 2.0 and 3.0 devices. I have not seen any reference to PCI0 (RP07) in any USB-fix guides. I am also confused as no devices show up under HS0_ or SSP_ within XHC1 ACPI kext (within IOUSBHostFamily). BTW, my DSDT has XHC, not XHC1.

8 USB 3.0 ports (2 are on ASMedia controller)
6 USB 2.0 ports

I thought maybe it had something to do with the DSDT, but I can't extract or save my DSDT because of a couple of errors. This nightmare has caused me to switch back to a Time Machine backup of Yosemite, but I'm keeping another hard drive running El Capitan for hacking until it works. I can't find any DSDT patches for my motherboard, and I don't know the first thing about getting the "current" DSDT to work.

Another issue is I think either the DSDT or IORegistry/IOJOnes show iMac14,2 when my SMBios is set to iMac15,1. I'm not sure if this has anything to do with these issues. I do know each configuration has different USB port listings within the IOUSBHostFamily kext.

I hope you have some good feedback. Thanks.
 
RehabMan,
The problem I am having is none of the USB devices I plug in show up under XHC in IORegistry/IOJones. They show up under EHC1 (PR01), EHC2 (PR01), and PCI0 (RP07). This includes USB 2.0 and 3.0 devices. I have not seen any reference to PCI0 (RP07) in any USB-fix guides. I am also confused as no devices show up under HS0_ or SSP_ within XHC1 ACPI kext (within IOUSBHostFamily). BTW, my DSDT has XHC, not XHC1.

You probably have a non-Intel USB controller on the board.

As for the Intel ports not working, read post #1 wrt port injectors/etc.

8 USB 3.0 ports (2 are on ASMedia controller)

AsMedia not supported, AFAIK.

Most people disable it and ignore.

Another issue is I think either the DSDT or IORegistry/IOJOnes show iMac14,2 when my SMBios is set to iMac15,1.

IOreg never lies. If it says iMac14,2, that's what you're using.

Stay tuned to this thread... I'm working on a kext that will automatically inject all ports. It can be a useful tool to create a port injector with only the ports you need.
 
You're an absolute genius! When are you taking over the world?

Great write up....Thank you :)
 
Status
Not open for further replies.
Back
Top