Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
Ok, now figured the USB ports, I have 6 active USB ports:

HP14 USB2 left bottom
HP13 USB2 right bottom
HP22 USB2 left top
HP21 USB2 right top
HP16 USB3 left
HP15 USB3 right

So now, I cut away HP16 and HP15 from SSDT-UIAC-all.aml, so these 2 ports are not handed-off to usb2 anymoar? Is that correct?

HPxx ports are ports on your EHCI internal hubs.
Disabling such ports with FakePCIID_XHCIMux loaded, will disable the ports for USB2 use entirely.

If you don't want to route HSxx ports on XHC, don't use FakePCIID_XHCIMux.kext.
 
That port limit patch seems to be available only for 100-series and 9-series, but AFAIK my board is 8-series?

The patch is not specific to a chipset.
 
The guide is linked from post #1, but since you seem to have trouble reading carefully...

Believe it or not, I can read, but that doesn't mean I fully understand it. Honesty, you provide so much information on many different places, that it somehow becomes a complex puzzle game to find the right path. I really don't get why you instead do not write a "simple" step-by-step guide with reduced sentences and reduced side notes/infos. Wouldn't that be in your own interest, too, since you answer so many questions all the time...

Also it seems you really want to prevent a novice user to configure a hackintosh, due the style of provided information. So only script kids and hackers are able to do this. I find this quite counterproductive, since we all know that Apple does not provide any serious good hardware anymore for a long time now, but that's another topic.

Examples:
- On the one hand, you say use the port limit patch, on the other hand you write that it is not a long term solution and causes erratic behaviour on usb. Huh? So what, I conclude not to use that patch then? Since it seems all ports are available in the ACPIPlane...

- You write "- if you have an existing SSDT for USBInjectAll, use -uia_ignore_rmcf" in your SSDT for USBInjectAll.kext guide. On another place you write "you can always use -uia_ignore_rmcf to disable the override code in SSDT"... So it seems to me the opposite of the first statement...
 
Believe it or not, I can read, but that doesn't mean I fully understand it. Honesty, you provide so much information on many different places, that it somehow becomes a complex puzzle game to find the right path. I really don't get why you instead do not write a "simple" step-by-step guide with reduced sentences and reduced side notes/infos. Wouldn't that be in your own interest, too, since you answer so many questions all the time...

Step-by-step guide for creating SSDT-UIAC.aml already linked in post #1 and, specially for you, in post #2290.
The guide has images and a clear description of the process.

Also it seems you really want to prevent a novice user to configure a hackintosh, due the style of provided information. So only script kids and hackers are able to do this. I find this quite counterproductive, since we all know that Apple does not provide any serious good hardware anymore for a long time now, but that's another topic.

Hackintosh is not easy... and quite technical. It is not for everyone.

- On the one hand, you say use the port limit patch, on the other hand you write that it is not a long term solution and causes erratic behaviour on usb. Huh? So what, I conclude not to use that patch then? Since it seems all ports are available in the ACPIPlane...

As per guide, you use the port limit patch only for port discovery. After port discovery, you eliminate ports such that you're within the 15-port limit such that you can remove the port limit patch.

- You write "- if you have an existing SSDT for USBInjectAll, use -uia_ignore_rmcf" in your SSDT for USBInjectAll.kext guide. On another place you write "you can always use -uia_ignore_rmcf to disable the override code in SSDT"... So it seems to me the opposite of the first statement...

Not opposite.
The RMCF method in SSDT-UIAC.aml (which is derived from SSDT-UIAC-ALL.dsl) provides configuration data for USBInjectAll.kext. Without the SSDT, USBInjectAll.kext gets the data from its own Info.plist. And if you have the SSDT, but wish to temporarily ignore it (because you made a mistake with it), you can boot with -uia_ignore_rmcf to ignore it without actually removing the file.

The most common case of using -uia_ignore_rmcf would be the following:
- you created an SSDT-UIAC.aml
- installed it
- rebooted and discovered you made a mistake (for example all USB ports not working, or USB2 not working, making it difficult to control the computer)
- reboot with -uia_ignore_rmcf so you can correct your mistake
 
Ok thanks for those detailed answers!

Now I have another problem: I removed HP15 and HP16 from the usb2 hub in SSDT-UIAC (against your suggestion). After reboot, still HP15 and HP16 are listed in the ACPIPlane under the usb2 controller and functional usb2 ports...

But I can see in MaciASL that my SSDT is included correctly...

Why it is still listed?
 
The patch is not specific to a chipset.
Code:
           <dict>
               <key>Comment</key>
               <string>change 15 port limit to 20 in XHCI kext (9-series)</string>
               <key>MatchOS</key>
               <string>10.11.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g72M/v//EA==</data>
               <key>Replace</key>
               <data>g72M/v//FQ==</data>
           </dict>
           <dict>
               <key>Comment</key>
               <string>change 15 port limit to 26 in XHCI kext (100-series)</string>
               <key>MatchOS</key>
               <string>10.11.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g72M/v//EA==</data>
               <key>Replace</key>
               <data>g72M/v//Gw==</data>
           </dict>
           <dict>
               <key>Comment</key>
               <string>change 15 port limit to 20 in XHCI kext (9-series)</string>
               <key>MatchOS</key>
               <string>10.12.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g710////EA==</data>
               <key>Replace</key>
               <data>g710////FQ==</data>
           </dict>
           <dict>
               <key>Comment</key>
               <string>change 15 port limit to 26 in XHCI kext (100-series)</string>
               <key>MatchOS</key>
               <string>10.12.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g710////EA==</data>
               <key>Replace</key>
               <data>g710////Gw==</data>
           </dict>

From your patches list. It only mentions "100-series" and "9-series", but I have 8-series... Or not?
 
Ok thanks for those detailed answers!

Now I have another problem: I removed HP15 and HP16 from the usb2 hub in SSDT-UIAC (against your suggestion). After reboot, still HP15 and HP16 are listed in the ACPIPlane under the usb2 controller and functional usb2 ports...

But I can see in MaciASL that my SSDT is included correctly...

Why it is still listed?

Unfortunately, I'm not clairvoyant.
No "Problem Reporting" files attached.
Read post #1 (either guide), "Problem Reporting".
 
Code:
           <dict>
               <key>Comment</key>
               <string>change 15 port limit to 20 in XHCI kext (9-series)</string>
               <key>MatchOS</key>
               <string>10.11.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g72M/v//EA==</data>
               <key>Replace</key>
               <data>g72M/v//FQ==</data>
           </dict>
           <dict>
               <key>Comment</key>
               <string>change 15 port limit to 26 in XHCI kext (100-series)</string>
               <key>MatchOS</key>
               <string>10.11.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g72M/v//EA==</data>
               <key>Replace</key>
               <data>g72M/v//Gw==</data>
           </dict>
           <dict>
               <key>Comment</key>
               <string>change 15 port limit to 20 in XHCI kext (9-series)</string>
               <key>MatchOS</key>
               <string>10.12.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g710////EA==</data>
               <key>Replace</key>
               <data>g710////FQ==</data>
           </dict>
           <dict>
               <key>Comment</key>
               <string>change 15 port limit to 26 in XHCI kext (100-series)</string>
               <key>MatchOS</key>
               <string>10.12.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g710////EA==</data>
               <key>Replace</key>
               <data>g710////Gw==</data>
           </dict>

From your patches list. It only mentions "100-series" and "9-series", but I have 8-series... Or not?

The patches are not specific to a chipset, contrary to what you might assume by the comments.
The only difference between the patches is what the new port limit is (20 or 26 ports).
For your hardware, it does not matter which one you use.
Your XHC has 20 ports...
 
Unfortunately, I'm not clairvoyant.
No "Problem Reporting" files attached.
Read post #1 (either guide), "Problem Reporting".
Heh :)

Ok. I finally added the remove-usb3-port-limit-kext-patch, and HP15/HP16 are now discovered as SSP5/SSP6.

So next step for me would be to nuke away most of the other USB3 ports, e.g. HS07-HS15, is that correct? And afterwards remove the remove-limit...?

Do I have to add the SSDT-UIAC to clovers "sortedOrder" section, and if so, do I have to add all other SSDTs there, too?

Since my edits in SSDT-UIAC do not seem to be activated, though I can see it via MaciASL...
 

Attachments

  • ioreg.zip
    747.4 KB · Views: 74
  • OEM.zip
    3.1 MB · Views: 82
Status
Not open for further replies.
Back
Top