Contribute
Register

XHC USB Kext Creation Guideline

Status
Not open for further replies.
@RehabMan,

two last questions from my side:

1.) I never clarified one thing for myself, as I do not have any USB3.0 Type-C connector assigned to any of my XHC onboard controllers. Anyway, theoretically all HS ports assigned to USB3.0 Type-C connectors should be denoted by "9". What about the respective SS ports in this case? "3" or "9" ?..

It is covered in my guide:
USB type C ports can be either 9 or 10, which depends on how the hardware deals with the two possible orientations of a USB type C device/cable.
If a USB-C uses the same SSxx in both orientations, then it has an internal switch (UsbConnector=9).
If a USB-C uses a different SSxx in each orientation, then it has no switch (UsbConnector=10).

2.) On the ASUS Prime X299 Deluxe, I have three external USB3.0 back panel connectors sharing HS06 and SSP6. Is it still appropriate to denote HS06 and SSP6 with "3" as actually implemented?

By "sharing", you mean HS06 and SSP6 are connected to an internal hub, correct? Therefore, they would be UsbConnector=255.
 
It is covered in my guide:

Oh I see.. thus USB3.0 Type-C connectors do not have any HS port assignment, which would be somehow logics as there are no USB2.0 Type-C devices? And "9" and that "10" are a SS port property only? The assigned SS-port can be "9" or "10", whether the respective device/cable can be connected in both or just in one direction?

By "sharing", you mean HS06 and SSP6 are connected to an internal hub, correct? Therefore, they would be UsbConnector=255.

I just suppose a kind of bridge as during the initial port discovery, devices connected to each of these three external USB3.0 back panel connectors always popped up under HS06 and SSP6. I could not find any respective information in the user manual of the ASUS Prime X299 Deluxe that relates to a hub though.

Is it really that crucial, if external USB connectors or internal USB headers associate to a HUB are denoted by "0/3" or "255"?
 
Last edited:
Oh I see.. thus USB3.0 Type-C connectors do not have any HS port assignment,

Not true. When you plug a USB2 device (via an adapter), you will find out which HSxx is associated (but there will be only one). In theory, the HSxx would get the same UsbConnector value as the associated SSxx port(s).

I just suppose a kind of bridge as during the initial port discovery, devices connected to each of these three external USB3.0 back panel connectors always popped up under HS06 and SSP6. I could not find any respective information in the user manual of the ASUS Prime X299 Deluxe that relates to a hub though.

The hub will be quite obvious in ioreg.

Is it really that crucial, if external USB connectors or internal USB headers associate to a HUB are denoted by "0/3" or "255"?

No data to say how "crucial"... just following ACPI spec here.
 
  • Like
Reactions: kgp
Not true. When you plug a USB2 device (via an adapter), you will find out which HSxx is associated (but there will be only one). In theory, the HSxx would get the same UsbConnector value as the associated SSxx port(s).

The hub will be quite obvious in ioreg.

No data to say how "crucial"... just following ACPI spec here.

Yes, that's what I am saying.. the hub was quite obvious in IOREG. Thus, now I also know what to do in this case.

Many thanks for all the above feedback, explanation and help! Very fruitful, indeed!
 
@franksanderdo, could you please also provide your truncated 15-port kext in addition? Please see post #50, for the reason.

Thanks in advance, man!

Hi @kgp

no reason needed as long as it helps some how ;)
Here it comes

I have taken out the 2nd internal USB2.0, one port on the 1st internal USB2.0 (on the other port is my BT) and the 2 USB2.0 below the PS2 connector. in total 5/20 removed ;)

All the Best
Frank
 

Attachments

  • FS-iMacPro-ASRock-X299M-XHCI-15port.kext.zip
    2.9 KB · Views: 68
Hi @kgp

no reason needed as long as it helps some how ;)
Here it comes

I have taken out the 2nd internal USB2.0, one port on the 1st internal USB2.0 (on the other port is my BT) and the 2 USB2.0 below the PS2 connector. in total 5/20 removed ;)

All the Best
Frank

Great! But could you do me another favour? Sorry for that..

Please carefully read once more all XHC USB kext creation guidelines in the originating post of this thread, which I just once more substantially revised and modified based on recent discussions. Please ensure once more that both of your kexts (fully implemented and 15-port) fully meet all guidelines.

It would be also gorgeous if you could implement a port-layout.rtf in both of your kexts before uploading.

Many thanks in advance,

KGP
 
Great! But could you do me another favour? Sorry for that..

Please carefully read once more all XHC USB kext creation guidelines in the originating post of this thread, which I just once more substantially revised and modified based on recent discussions. Please ensure once more that both of your kexts (fully implemented and 15-port) fully meet all guidelines.

It would be also gorgeous if you could implement a port-layout.rtf in both of your kexts before uploading.

Many thanks in advance,

KGP
Moin @kgp

no worries, I actually was working on that verification based on the discussion already :mrgreen:
It seems I was lucky not to have any of the "special cases".

It might be to late here already (past 00:00) can I just copy the rtf into the kext?
If so you will find the 2 kexts tomorrow (or should I say today?) with some "pictures"

Have a good night
Frank
 
Status
Not open for further replies.
Back
Top