Interesting Guide. I'm currently running a almost fully working i7 8700k, AMD RX580 Nitro+ 8GB. While I still need to try out the Framebuffer fixes to see if they improve anything with Graphic Acceleration this post is about the USB port mapping, and creating a USB kext.
With this board, it appears as if it can't go above the 15 port limit. which means I needed to disable 3 ports that are active. Currently I've used the SSDT technique by
@RehabMan https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/ to successfully disable HS07,HS08 (USB 2.0) and HS12 (aura internal LED controller) to have SS04-06 working fully as USB 3.0 ports.
So when I came across this thread I thought I give this technique a go...
So I've disabled my SSDT-UIAC.aml and went through the list of ports in the FB patcher app. I can see two device id's for USB controllers:
One is a XHC 200-series Vendor: 0x8086 Device: 0xA2AF controlling the main USB port
The other is PXSX Unknown Vendor: 0x1B21 Device: 0x2142
But what's interesting is in regards to the USB 3.1 C front port and possible LocationID conflictions. Which may explain the issues I'm having with any drives that are plugged into the 3.1 gen2 ports ejecting when the computer wants to go to sleep. (current workaround is using the App Jettison)
And just a side note, the Gen 2 speeds definitely work with the ASMEDIA controller, but it's the eject issues which is still a problem.
So here's what I found:
There are 3 x USB 3.1g2 ports from the ASMEDIA controller on a Asus Maximus X Code.
In ioreg the front C-type port is on:
RP07@1C,6/IOPP/PXSX@0/PXSX@01000000
The back 3.0 Red A and C type ports are on:
RP05@1C,4/IOPP/PXSX@0/PXSX@01000000
The 2.0 controllers for the back USB gen2 ports are on:
PRT3@01300000 (type C)
PRT4@01400000 (type A)
The 3.0 controllers for the back USB gen 2 ports are on:
PRT1@01100000 (type C)
PRT2@01200000 (type A)
I can see these populating as well in Intel FB Patcher app, no issues here...
NOW for the front Type C port.
In ioreg:
USB 2.0 is port:
HS01@00300000
USB 3.0 is port:
SS02@00200000
Now when I plug it a USB device FB patcher it sharing the same port as the XHC controller for USB 2.0 HS01 (Front Left USB port) and USB 3.0 SS02 (front right USB port). And I can confirm 2 x USB 3.0 devices will not register if plugged simultaneously into the front right USB port and the front USB C port.
I don't believe they would be sharing bandwidth as they are on completely different controller boards.
In ioreg the complete Port Location ID for the Front Left HS 2.0 port is:
HS01@14100000 (vs HS01@00300000 of the C port)
the Front Right SS 3.0 is:
SS02@14500000 (vs SS02@00200000 of the C port)
Is there a way to rename the USB 2/USB 3 LocationId's for this front USB C port so that there is no confliction?
Either rename the front USB C location ID's to something similar as the Back ports using a PRTX preface instead of a HSXX/SSXX preface?
Am I on to something here with the eject issues with the ASMEDIA 3.1 controller on these boards?