Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

The HSxx port that is associated with the internal hubs should also be marked UsbConnector=255.
May also be a BIOS issue (check settings0.

Finally got it all right now! :) Alle ports run at their speed like they should.
For anyone who want the files here are my Bios Settings, config files and SSDT files.
And the used kext on my system running 10.12.3

Thanks goes to RehabMan for all the good work and directions.
 

Attachments

  • X99-UD5-WIFI-F23C.zip
    8.1 MB · Views: 117
You did not boot from an EFI/Clover that has your SSDT-UIAC.aml.
Note from your bootlog:
Code:
3:716  0:000  Start: Processing Patched AML(s): Sorted
3:716  0:000  Inserting table[0]:SSDT.aml from EFI\CLOVER\ACPI\patched ... Success
3:717  0:001  End: Processing Patched AML(s)
This is very confusing, because when I generate a log (by going to clover configurator and pressing "generate log") I get:
Code:
6:955  0:000  === [ ACPIPatchedAML ] ====================================
6:955  0:000  Start: Processing Patched AML(s): Sorted
6:955  0:000  Inserting table[0]:SSDT.aml from EFI\CLOVER\ACPI\patched ... Success
6:956  0:001  Inserting table[1]:SSDT-UIAC.aml from EFI\CLOVER\ACPI\patched ... Success
6:957  0:000  Inserting table[2]:SSDT-XOSI.aml from EFI\CLOVER\ACPI\patched ... Success
6:957  0:000  End: Processing Patched AML(s)
There's no other way I could be booting than with the drive with the SSDT's included. My other version of clover for Yosemite won't boot Sierra. Are my files in the appropriate places and referenced appropriately in the .plist? The boot.log's time date and kext disables/enables are consistent with what should be enabled/disabled. I haven't restarted since I gave you my EFI folder. So confused???

I don't see what I'm doing wrong.
 
Last edited:
Guide is great, my custom SSDT is working smoothly. Thanks much! I do have a question about the port limit. I'm on a 100-series board, so no EHCI controller. I've got 16 possible ports: HH03-10, 13-14, and SS03-08. Because of the 15-port limit, I have to turn off (comment out) one of the rear SSxx ports so my front USB3 ports work. I'm wondering if there is any way I can get all 16 ports working? I do have the "XHCI Handoff" option in my BIOS enabled ("auto" and "smart-auto" are not options on my board), but since there is no EHCI controller, I'm not sure what difference this would make. Any ideas?

It's certainly workable as is, but if I end up connecting anything else to the other mobo USB headers in the future, I will be running into problems.
 
This is very confusing, because when I generate a log (by going to clover configurator and pressing "generate log") I get:
Code:
6:955  0:000  === [ ACPIPatchedAML ] ====================================
6:955  0:000  Start: Processing Patched AML(s): Sorted
6:955  0:000  Inserting table[0]:SSDT.aml from EFI\CLOVER\ACPI\patched ... Success
6:956  0:001  Inserting table[1]:SSDT-UIAC.aml from EFI\CLOVER\ACPI\patched ... Success
6:957  0:000  Inserting table[2]:SSDT-XOSI.aml from EFI\CLOVER\ACPI\patched ... Success
6:957  0:000  End: Processing Patched AML(s)
There's no other way I could be booting than with the drive with the SSDT's included. My other version of clover for Yosemite won't boot Sierra. Are my files in the appropriate places and referenced appropriately in the .plist? The boot.log's time date and kext disables/enables are consistent with what should be enabled/disabled. I haven't restarted since I gave you my EFI folder. So confused???

I don't see what I'm doing wrong.

I extracted your Clover bootlog from ioreg. If you have made changes, I can check again, but only if you provide "Problem Reporting" files (with a fresh ioreg).
 
Guide is great, my custom SSDT is working smoothly. Thanks much! I do have a question about the port limit. I'm on a 100-series board, so no EHCI controller. I've got 16 possible ports: HH03-10, 13-14, and SS03-08. Because of the 15-port limit, I have to turn off (comment out) one of the rear SSxx ports so my front USB3 ports work. I'm wondering if there is any way I can get all 16 ports working? I do have the "XHCI Handoff" option in my BIOS enabled ("auto" and "smart-auto" are not options on my board), but since there is no EHCI controller, I'm not sure what difference this would make. Any ideas?

It's certainly workable as is, but if I end up connecting anything else to the other mobo USB headers in the future, I will be running into problems.

You cannot make 16 ports work unless you use the port limit patch. But we already know that using the port limit patch causes memory corruption (seems to corrupt the power properties... the port limit must be related to a fixed size array), so it should be avoided. Until Apple updates their kext to handle more ports (would be likely should Apple start making a Mac that needs more than 15 ports), you will need to sacrifice at least one port to stay within the 15 limit.
 
I extracted your Clover bootlog from ioreg. If you have made changes, I can check again, but only if you provide "Problem Reporting" files (with a fresh ioreg).
I appreciate your help. Got it working. I noticed I used both decimal AND hex values for the port section to match what I was seeing from IoReg. I re-did it and I completely ignored editing the port values and it worked. Everything is working as normal.

I did notice my USB ports under "About this mac" no longer say "Super Speed" or "High Speed" but instead "USB 2.0 hub" and "USB 3.0". Is that normal? Just cosmetic?

Thanks for everything.
 
I appreciate your help. Got it working. I noticed I used both decimal AND hex values for the port section to match what I was seeing from IoReg. I re-did it and I completely ignored editing the port values and it worked. Everything is working as normal.

You should not change the port addresses... ever...

I did notice my USB ports under "About this mac" no longer say "Super Speed" or "High Speed" but instead "USB 2.0 hub" and "USB 3.0". Is that normal? Just cosmetic?

No idea without "Problem Reporting" files.
 
You should not change the port addresses... ever...

Although I do not disagree with this, since all my USB ports are working with my present SSDT as built using RehabMan's template, I still have a question regarding the port numbering. On the one hand, the port numbers are supposed to be in hexadecimal format. Yet, the numbering in the SSDT template appears to be in decimal format. There is no issue from "0" through "9," but in hexadecimal format the next integer is "a," yet the template lists "10." In hexadecimal, "10" = decimal "16." So using the template assuming hexadecimal, converting to decimal the numbering goes 0-9, then jumps to 16, 17, etc and up. In my IORegistry, the "10" in the SSDT template shows up as "0a," the "11" in the SSDT template shows up as "0b" and so forth. It looks as if the IORegistry "knows" that the SSDT template port numbers are actually decimal numbers, and somehow converts them to hex. How is this possible?

And is the Apple restriction of "15" ports the decimal number? If it is the hex number "15" that would be actually 21 ports (decimal), not 15.
 
Although I do not disagree with this, since all my USB ports are working with my present SSDT as built using RehabMan's template, I still have a question regarding the port numbering. On the one hand, the port numbers are supposed to be in hexadecimal format. Yet, the numbering in the SSDT template appears to be in decimal format.

The compiler will convert everything to binary.

There is no issue from "0" through "9," but in hexadecimal format the next integer is "a," yet the template lists "10." In hexadecimal, "10" = decimal "16." So using the template assuming hexadecimal, converting to decimal the numbering goes 0-9, then jumps to 16, 17, etc and up.

You have a misunderstanding about hex vs. decimal.
This might help to clear it up.
10 = 0x0a.

In my IORegistry, the "10" in the SSDT template shows up as "0a," the "11" in the SSDT template shows up as "0b" and so forth. It looks as if the IORegistry "knows" that the SSDT template port numbers are actually decimal numbers, and somehow converts them to hex. How is this possible?

Don't confuse number representation (hex vs. decimal) with the actual value.

And is the Apple restriction of "15" ports the decimal number? If it is the hex number "15" that would be actually 21 ports (decimal), not 15.

15 decimal is the port limit, not 21.
 
I'm a newbie and I'm having trouble finding the answer to this question:

How do I know if my system's default implementation of _PLD and _UPC are broken? What's the best way to test that?

Thanks and sorry for the repeat of a question if this is alr day answered elsewhere.
 
Back
Top