Contribute
Register

ASUS 100 Series and Later Custom SSDT for XHCI USB Port Control

Joined
Dec 3, 2018
Messages
103
Motherboard
ASUS H370-I Gaming ITX
CPU
i5-8600K
Graphics
RX 560
Mac
MacBook Pro
Mobile Phone
iOS
Before I attempt this I'll do some time machine backups just in case it goes Pete Tong (wrong).

Screenshot 2018-12-31 at 12.00.58.png


I know what my ports are and I'll use the front 2 ports, on the back 8 & 9, and the bluetooth port. This should give me a total of 13 ports.

Looking at the definition block as mentioned earlier for port HS01:

Code:
    Scope (\_SB.PCI0.XHC.RHUB)
    {
        Name (H1CN, One)
        Name (H1VS, One)
        Name (H1TC, Zero)
        Name (H1CR, Zero)
and now the actual port function block:

Code:
        Scope (\_SB.PCI0.XHC.RHUB.HS01)
        {
            Method (_UPC, 0, NotSerialized)  // _UPC: USB Port Capabilities
            {
                If (LEqual (H1TC, Zero))
                {
                    Return (GUPC (H1CN))
                }
                Else
                {
                    Return (\_SB.UBTC.RUCC (H1CR, One))
                }
            }

            Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
            {
                If (LEqual (H1TC, Zero))
                {
                    Return (GPLD (H1VS, One))
                }
                Else
                {
                    Return (\_SB.UBTC.RUCC (H1CR, 0x02))
                }
            }
Going by from what I've seen on the other examples in this thread, that the value in-between GUPC (???) has to be either "One" for enable or "Zero" for disable But since its in an IF statement then I need to change H1TC i.e. HXTC where X = port number. For SS ports then it is SX1TC.

UPDATE:
Dont't try this, it fails. Good job I'd had a backup :)
 
Last edited:
Joined
Nov 8, 2016
Messages
66
Motherboard
ASUS Z170m plus_br (clover)
CPU
i7-6700K
Graphics
HD 530
Mobile Phone
Android
Pretty cool method. I'd use this over a kext for sure.
 
Joined
Jul 13, 2016
Messages
703
Motherboard
ASUS ROG STRIX Z370-F
CPU
I5-8600K
Graphics
RX580
Mac
Mac mini, Mac Pro
Mobile Phone
iOS
I have used @RehabMan method before on another rig, but yesterday I was trying to implement it on the rig in my profile and no matter what I did it always showed HS01 - HS14 + SS01 for a total of 15. I made SSDT and used inject all without port limit patch still showed the same HS01 - HS14 + SS01. So I then tried this method and still the same I mean even if I did not do this or Rehabman's method 100% right for each port at least some would change would they not? Attached is the original and the revised one. I am trying to user HS/SS 3,4,5,6 and HS 11,13,14. to me it looks like it is ignoring the stuff in the patched folder.

Edit:
Guess I should have checked the code before assuming that auto-merge was set because of my clover version.
All ports are set up and speed seems correct. Thank you for your guide.
 
Last edited:
Joined
May 1, 2019
Messages
53
I am using Asus z170i pro gaming 100 series ,
I've followed the instructions 100%
But IOreg still show from HS01 to HS14 and SS01 .
How to eleminate the unused ports please ?
I want only used port show in IOreg
I've replaced One with Zero as mentioned
 
Joined
Jul 13, 2016
Messages
703
Motherboard
ASUS ROG STRIX Z370-F
CPU
I5-8600K
Graphics
RX580
Mac
Mac mini, Mac Pro
Mobile Phone
iOS
I see other ppl managed to do it without using any Kexts or arg-
Is that not possible ?
Do you have Automerge checked in clover? did you check the code to make sure automerge was actually in your config.

Post your EFI I will take a look at it. Also tell me exactly what ports you want on and what ports you want off. I use this method without a kext and it works great.
 
Joined
May 1, 2019
Messages
53
Do you have Automerge checked in clover? did you check the code to make sure automerge was actually in your config.

Post your EFI I will take a look at it. Also tell me exactly what ports you want on and what ports you want off. I use this method without a kext and it works great.
Thank you very much

I want only this ports

HS01 HS05 HS06 HS07 HS08 HS09 HS10 HS11 HS12
SS01 SS05 SS06 SS07 SS08

I attached original untouched SSDT in ACPI folder
Screen Shot 2019-04-22 at 11.19.00 PM.png
 

Attachments

Last edited by a moderator:
Joined
Jul 13, 2016
Messages
703
Motherboard
ASUS ROG STRIX Z370-F
CPU
I5-8600K
Graphics
RX580
Mac
Mac mini, Mac Pro
Mobile Phone
iOS
Thank you very much

I want only this ports

HS01 HS05 HS06 HS07 HS08 HS09 HS10 HS11 HS12
SS01 SS05 SS06 SS07 SS08

I attached original untouched SSDT in ACPI folderView attachment 401175
Looks like something is not right in your SSDT I can not fix it but if you could send me the unaltered version of it I think I can make it work correctly.
 
Joined
May 1, 2019
Messages
53
Looks like something is not right in your SSDT I can not fix it but if you could send me the unaltered version of it I think I can make it work correctly.
I sent you the one I extracted by F4 in clover boot
I didn't touch it

UPDATE ;


I've managed to fix it
Asus Z170i Pro Gaming mini itx - USB SSDT
Screen Shot 2019-04-23 at 2.40.40 AM.png
 

Attachments

Last edited by a moderator:
Top