Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

However those kexts move things around and your IOReg output reflects that.

:)
I went back and just followed your guide. Thank you.

High Sierra on my Sabertooth x79 is working with all USB. IOReg shows the correct number of HPxx USB2 ports. I used uia_exclude to remove the extra HPxx ports. The USB3 ASMedia ports are working. The EH01 & EH02 nodes show a bunch of PRxx entries. Will these affect my USB setup?

I've attached a set of problem reporting files. Do you see any issues now that USB is working. My past experience is that my USB was buggy... worked fine for awhile then my mouse or keyboard stopped working for a bit but always started after a short time. Or is the fact that it's working all that I need right now?

Again, thank you for your invaluable help.
 

Attachments

  • debug_3939.zip
    1.9 MB · Views: 62
I went back and just followed your guide. Thank you.

High Sierra on my Sabertooth x79 is working with all USB. IOReg shows the correct number of HPxx USB2 ports. I used uia_exclude to remove the extra HPxx ports. The USB3 ASMedia ports are working. The EH01 & EH02 nodes show a bunch of PRxx entries. Will these affect my USB setup?

I've attached a set of problem reporting files. Do you see any issues now that USB is working. My past experience is that my USB was buggy... worked fine for awhile then my mouse or keyboard stopped working for a bit but always started after a short time. Or is the fact that it's working all that I need right now?

Again, thank you for your invaluable help.

Well done on getting to grips with the task at hand. This is a complex subject. :thumbup:

Okay ...

1) Your new SSDT-USB looks very good.

2) I notice that you've used the "uia_exclude" command-line to remove extra ports BUT they haven't been configured in your SSDT-USB, so they aren't there in the first place to exclude. I suspect if you remove the command-line nothing will change. (If it does then the SSDT is not working and something else is awry). In @RehabMan 's guide he configures all his ports - so well over 15 - and then uses "uia_exclude" to remove excess and get down to the magic 15. Makes it easier to chop and change ports around.

3) Your main EH01/EH02 nodes are the same as before - and look fine.

4) Removing GenericUSBXHCI has had the effect of disabling the ASMedia ports. There's no reason not to put it back into place now and have those USB3 ports available again.

5) As for reliability. As far as I can see your EHC ports should be fine. The ASMedia ones, less so as they are not configured.

6) As a side-note - Is Audio working okay?

:)
 
Well done on getting to grips with the task at hand. This is a complex subject. :thumbup:

2) I notice that you've used the "uia_exclude" command-line to remove extra ports BUT they haven't been configured in your SSDT-USB, so they aren't there in the first place to exclude. I suspect if you remove the command-line nothing will change. (If it does then the SSDT is not working and something else is awry). In @RehabMan 's guide he configures all his ports - so well over 15 - and then uses "uia_exclude" to remove excess and get down to the magic 15. Makes it easier to chop and change ports around.

6) As a side-note - Is Audio working okay?

:)
If I remove the "uia_exclude" command-line the additional HPxx ports show up... a total of 16. The "uia_exclude" command was the only way I could get IOReg to display the ports I needed. So something else is awry. ?

The audio is not working. I had it working prior to this current clean reinstall of High Sierra. I'll tackle audio this weekend... thanks.
 
If I remove the "uia_exclude" command-line the additional HPxx ports show up... a total of 16. The "uia_exclude" command was the only way I could get IOReg to display the ports I needed. So something else is awry. ?

The audio is not working. I had it working prior to this current clean reinstall of High Sierra. I'll tackle audio this weekend... thanks.

Okay,

1) For the extra HP ports - show me ...

When I check both the IOReg's you posted, one with and one without the command-line, I see the same in both examples:

HP.png


... Post an IOReg that shows the extras:thumbup:

2) Re. the Audio - thought so. No HDEF. However, one thing at a time. That can be addressed later on etc.

:)
 
Last edited:

Attachments

  • Larry’s iMac_8-29-2019.ioreg
    7.5 MB · Views: 56
Here's the IOReg without the "uia_exclude" command...HP11-18, HP21-28

Thanks.

Okay, so as the two previous IOReg's didn't show the extras - one with and one without the uia_excludes - there must be something different about your configuration now, with this one.

Hopefully you can see where I'm coming from with this. There is something causing the effect so we need to drill down to it, if we are going to address it. (If you want to).

Here's an idea that's easy to do:

Load Hackintool and check you have allocated the correct Product/Device ID to each batch of EH01/EH02 ports.

:)
 
Okay, so as the two previous IOReg's didn't show the extras - one with and one without the uia_excludes - there must be something different about your configuration now, with this one.

Load Hackintool and check you have allocated the correct Product/Device ID to each batch of EH01/EH02 ports.

:)
I have no idea what I had set for the very first IOReg... I was trying all kinds of things. But for the 2nd IOReg I did use the "uia_exclude" command, and for the last IOReg I only removed the "uia_exclude" command. The Product/Device ID's seem correct. I wasn't familiar with hackintool.. thanks
 

Attachments

  • Screen Shot 2019-08-29 at 2.04.46 PM.png
    Screen Shot 2019-08-29 at 2.04.46 PM.png
    190.4 KB · Views: 55
I have no idea what I had set for the very first IOReg... I was trying all kinds of things. But for the 2nd IOReg I did use the "uia_exclude" command, and for the last IOReg I only removed the "uia_exclude" command. The Product/Device ID's seem correct. I wasn't familiar with hackintool.. thanks

Okay, understood :thumbup:

Yes, @headkaze 's Hackintool is a very useful utility. You can even use it's two built-in methods to configure your motherboard USB ports, if you'd like. Again, that's a different developer's methods so they will support you.

Basically you can either:

1) Create a USBPorts.kext to replace USBInjectAll and the SSDTs
or
2) Create a pair of SSDTs that do work with, and need, USBInjectAll.

It's much more 'visual' method and smoothes the rough edges off doing the job completely manually.

:)
 
Okay, understood :thumbup:

1) Create a USBPorts.kext to replace USBInjectAll and the SSDTs
or
2) Create a pair of SSDTs that do work with, and need, USBInjectAll.

It's much more 'visual' method and smoothes the rough edges off doing the job completely manually.

:)
If by "visual" you mean "easier for someone who really doesn't know what he is doing" then let's do visual. What's next? Does this fall within the scope of this thread?
 
If by "visual" you mean "easier for someone who really doesn't know what he is doing" then let's do visual. What's next? Does this fall within the scope of this thread?

You're doing pretty well so far :thumbup:

No, sadly I can't support someone else's work here. Hackintool is a brilliant and comprehensive tool, covering way more than just USB, you would need to look to its thread if you want guidance.

However take a look at this:

HT.jpg

Click on the icon, bottom-right to output the configuration files.

Use the SSDTs, files 1 & 2, with USBInjectAll instead of your own SSDT - OR - Remove your SSDT and the USBInjectAll.kext and install USBPorts.kext, file 3, instead.

For more detail head on over to the thread.

:)
 
Back
Top