Contribute
Register

The New Beginner's Guide to USB Port Configuration

Happy New Year!

Okay, the errors are in labelling the thunderbolt ports as SS, as I explained. This will confuse macOS.

There are separate SSDTs you can use for touchpad and battery. Check out the work of our expert on laptops @Feartech -

https://www.tonymacx86.com/threads/guide-usb-power-property-injection-for-sierra-and-later.222266/

:)
Happy New Year to you too and to everybody! :) Thank you for the reference, I have already read it. The way with USBPorts.kext which leads to the same results I like more as it is more easy. I agree with you, that SS* name for thunderbolt port might look odd, but the problem with the dongle occurs in any port, so this thunderbolt port naming mess can not be a reason for the problem.
 
Happy New Year to you too and to everybody! :) Thank you for the reference, I have already read it. The way with USBPorts.kext which leads to the same results I like more as it is more easy. I agree with you, that SS* name for thunderbolt port might look odd, but the problem with the dongle occurs in any port, so this thunderbolt port naming mess can not be a reason for the problem.

Ah, okay.

The figures you gave us in your first post seem to show there is enough power.

The next thing which occurs to me is - is the chipset in the NVME adapter one macOS recognises? Windows and Linux might have drivers built-in.

You can check the device-ID by running IORegistryExplorer when the device is connected and showing. It will be on a USB port and details will be in the right-hand pane.
 
Ah, okay.

The figures you gave us in your first post seem to show there is enough power.

The next thing which occurs to me is - is the chipset in the NVME adapter one macOS recognises? Windows and Linux might have drivers built-in.

You can check the device-ID by running IORegistryExplorer when the device is connected and showing. It will be on a USB port and details will be in the right-hand pane.
I guess the device is recognized normally by macos. At least it works properly without heavy load and there is no suspicious information in ioreg. You can check. The ioreg from my 1-st post contains all the data as I made a snapshot while the dongle was connected:
Code:
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14/XHC@14000000/SS01@14700000/RTL9210@14700000
 
I guess the device is recognized normally by macos. At least it works properly without heavy load and there is no suspicious information in ioreg. You can check. The ioreg from my 1-st post contains all the data as I made a snapshot while the dongle was connected:
Code:
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14/XHC@14000000/SS01@14700000/RTL9210@14700000

Ah. That's Realtek. I saw it and thought it might be an ethernet adapter. I'll check the device-ID when I am back at my desk later ...
 
I guess the device is recognized normally by macos. At least it works properly without heavy load and there is no suspicious information in ioreg. You can check. The ioreg from my 1-st post contains all the data as I made a snapshot while the dongle was connected:
Code:
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14/XHC@14000000/SS01@14700000/RTL9210@14700000

Okay, I have taken another look at your IOReg file now that I'm back ...

No, I still think the configuration error is causing the issue, rather than power-delivery. I'll explain -

On the Thunderbolt controller, port (RP05/PXSX) SS01 is showing as connected to a USB-C Ethernet Gbe LAN adapter:
Vendor ID = 0xbda and Product ID = 0x8153 (Realtek RTL815X).

On the USB Controller, port (XHC) SS01 is showing as connected to a USB-PCIe bridge controller NVME:
Vendor ID = 0xbda and Product ID = 0x9210 (Realtek RTL9210)

You can see whay I was concerned about the two ports having the same designation. It may well be that this misconfiguration is affecting the other ports on the controller and might explain why the problems occur on all ports you have tried.

What I would do is to manually edit the SSDT-UIAC.dsl and compile it. I would change the "SS01" Thunderbolt designation to "SSP1" I would then check the UsbConnector types. SS01 is showing as 0x3 on XHC and 0x9 on PXSX. Also any USB2 configurations on the ports should have the same connector type.

The potential problem is we do not know what you have coded in your DSDT.aml (which you should not be using anyway). Something is causing the 2x SS01 problem.

Up to you if you would like to try these tests. They are not guaranteed to work but it may help. Sorry I don't have a laptop like yours.

:)
 
Last edited:
What I would do is to manually edit the SSDT-UIAC.dsl and compile it. I would change the "SS01" Thunderbolt designation to "SSP1" I would then check the UsbConnector types. SS01 is showing as 0x3 on XHC and 0x9 on PXSX. Also any USB2 configurations on the ports should have the same connector type.
I did that
I still think the configuration error is causing the issue, rather than power-delivery.
Probably you are right. After renaming port to SSP1 the system starts constantly reconnect both ethernet adapter connected to type с port and dongle connected to ss01 port. I'm going to first move my touchpad and battery indicator patches to ssdt as now it is impossible to use remote desktop for debugging due to constant reconnections of ethernet and then I'll try to fix this reconnection issue and get back here
 
Hello everybody
I'm in a new build with MSI MPG B460I GAMING EDGE WIFI
I do all my best to try mapping USB but maybe I have a little problem with USB Type C and your near USB 3.0
All other port work fine and be identificate with Hackintool when I put USB pendrive (2.0 or 3.0) but that controller is a HUB and Hackintool don't recognize anything..but mac'OS yes.
I put some screenshoot to be most clear...ah! I'm in Big Sur 11.2.3
As you can see on picture #4,mac'OS recognize my device connected but Hackintool don't highlighted nothing.

I'm wrong or is correct ?? :problem:

Now i'm with OpenCore 0.7.6 and already remove USBInjectAll from EFI/OC/Kext because once you have build your USBPorts.kext is no more necessary.
This is the last OS version before 15 ports limit..I wanna be sure to mapping my USB before proceed to install any update.
The USBPorts.kext created with Hackintool is attached
Thank's in advance to any reply
 

Attachments

  • 3.png
    3.png
    168.9 KB · Views: 71
  • Back.jpg
    Back.jpg
    243.7 KB · Views: 72
  • 4.png
    4.png
    274.9 KB · Views: 70
  • IORegister Explorer .png
    IORegister Explorer .png
    464.2 KB · Views: 61
  • USBPorts.kext.zip
    1.3 KB · Views: 47
Last edited:
Hello everybody
I'm in a new build with MSI MPG B460I GAMING EDGE WIFI
I do all my best to try mapping USB but maybe I have a little problem with USB Type C and your near USB 3.0
All other port work fine and be identificate with Hackintool when I put USB pendrive (2.0 or 3.0) but that controller is a HUB and Hackintool don't recognize anything..but mac'OS yes.
I put some screenshoot to be most clear...ah! I'm in Big Sur 11.2.3
As you can see on picture #4,mac'OS recognize my device connected but Hackintool don't highlighted nothing.

I'm wrong or is correct ?? :problem:

Now i'm with OpenCore 0.7.6 and already remove USBInjectAll from EFI/OC/Kext because once you have build your USBPorts.kext is no more necessary.
This is the last OS version before 15 ports limit..I wanna be sure to mapping my USB before proceed to install any update.
The USBPorts.kext created with Hackintool is attached
Thank's in advance to any reply

Hi there.

Like any other port, a USB-C port can have many 'personalities". In your case it may well be HS09 in USB2 form, but it will also have an SS** version too. This is obviously your USB3 configuration.

Your USBPorts.kext, as you have configured it, may not have enough SS** ports to allow the HS09/Type-C port to fit in. For example you only enable up to SS04 etc., it could be at a higher number (the B460 chipset goes as far as SS08 for USB3).

You need to set a port-limit removal - the XhciPortLimit quirk should work on early versions of Big Sur like 11.2.3 - along with USBInjectAll.kext to open up all the ports for Hackintool.

As for the strange "hub" on HS09 ... We'd need to see more before we can indentify why. A full *.IOReg export file (from v2.1 of IORegistryExplorer app) and perhap a ZIP archive of your EFI folder. Please redact your serial-number before posting it though.

:)
 
Last edited:
Hi there.

Like any other port, a USB-C port can have many 'personalities". In your case it may well be HS09 in USB2 form, but it will also have an SS** version too. This is obviously your USB3 configuration.

Your USBPorts.kext, as you have configured it, may not have enough SS** ports to allow the HS09/Type-C port to fit in. For example you only enable up to SS04 etc., it could be at a higher number (the B460 chipset goes as far as SS08 for USB3).

You need to set a port-limit removal - the XhciPortLimit quirk should work on early versions of Big Sur like 11.2.3 - along with USBInjectAll.kext to open up all the ports for Hackintool.

As for the strange "hub" on HS09 ... We'd need to see more before we can indentify why. A full *.IOReg export file (from v2.1 of IORegistryExplorer app) and perhap a ZIP archive of your EFI folder. Please redact your serial-number before posting it though.

:)
Thank’s for your time
Ok..soon as possible i upload my entire IOReg..stay tuned (now working)
Ah.. follow the rule:
HS01 <01000000>
SS01 <11000000>

How create SS09 wen
HS09 is <0c000000> ???
 
Last edited:
How create SS09 wen
HS09 is <0c000000> ???

MSI will have allocated the USB-C port to a lower SS** designation, or they will miss out ports lower down. They code this into the motherboard DSDT.
 
Back
Top