USB-Mapping for Asus TUF x570

nrudnyk

New member
AMD OS X Member
Joined
May 25, 2020
Messages
5
So I'm trying to map usb properly, following this guide - https://dortania.github.io/USB-Map-Guide/amd-mapping/amd.html

So I've discovered everything, and trying to put everything into kext\ssdt.

I have two instance of XHCO controller, so I followed the guided, removed original and created fake on SHC0. But for some reason, all USB ports appears under pic 1022
1590436514261.png

I"m not sure what to attach, so I'm attaching SSDT and kext I'm using. Could you please suggest if that's fine, or what I'm doing wrong... haven't found any information on this particular topic yet.

Thanks for any help in advance!
 

Attachments

  • AMDx570-USB-Map.kext.zip
    2.6 KB · Views: 6
  • SSDT-SHC0.dsl.zip
    1.9 KB · Views: 4

barrrrt

Member
AMD OS X Member
Joined
May 19, 2020
Messages
30
Hi.

Just check this.
As Shaneee mentioned, the x570 boards have all the same Controller.... 3 of them.
So the renaming works always the same way...
 

nrudnyk

New member
AMD OS X Member
Joined
May 25, 2020
Messages
5
this SSDT contains all controllers, all of them (native) are return zeros and replaced with new ones created in SSDT.
Is the kext still need to be used?

also, ACPI rename through OpenCore seems to be irrelevant now.

so it looks I only need x570 SSDT with new controllers shoved with USB ports info as well as kext, which will load that, right?
 
Last edited:

Aluveitie

Donator
Donator
AMD OS X Member
Joined
May 2, 2020
Messages
895
@nrudnyk The controllers are the same, but how the actual ports are connected is unique to each model. So you still should properly map out the ports.
 

nrudnyk

New member
AMD OS X Member
Joined
May 25, 2020
Messages
5
my issue was, most likely due to some syntax or what... In my original SSDT I removed and created device under same scope, as described in original vanilla guide: https://github.com/dortania/USB-Map-Guide/blob/master/extra-files/SSDT-SHC0.dsl

Code:
Scope (\_SB.PCI0.GP13) // Full path to controller
{
    Scope (XHC0)
    {
        // Return Zero for darwin, which will remove device
    }
    Device (SHC0) // New Controller Name
    {
        // Created new device here with all needed USB ports
    }
}

that doesn't worked properly, it inject ports as in OP. After that I refactored that to remove device under one scope, and create new one in another one:

Code:
If (_OSI ("Darwin"))
{
    Scope (\_SB.PCI0.GP13.XHC0)
    {
        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            Return (Zero)
        }
    }

    Scope (\_SB.PCI0.GP13)
    {
        Device (SHC0)
        {
            // Created new device here with all needed USB ports
        }
    }
}

which helped...

I'm not sure what's the real reason is, but that worked, so I suspect I'm good now. Not sure though. Attaching my kext and aml again for reference.

Is there any other reasons why sleep\wake doesn't work? Not that I'm desperately need it, but I would rather have it than disable it altogether...
 

Attachments

  • AMDx570-USB-Map.kext.zip
    2.6 KB · Views: 20
  • SSDT-SHC0.aml.zip
    957 bytes · Views: 22
Back
Top Bottom
  AdBlock Detected
Sure, ad-blocking software does a great job at blocking ads, but it also blocks some useful and important features of our website. For the best possible site experience please take a moment to disable your AdBlocker.