Contribute
Register

XHC USB Kext Creation Guideline

Status
Not open for further replies.
Final Variant of USB kext. for Asrock Z370 extreme 4
SMBIOS : iMac 18,3


+++++++

Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_5_6

2x USB 3.1 Gen1


SS05 (3) SS06 (3)

HS04 (3) HS05 (3)


+++++++

Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_7_8

2x USB 3.1 Gen1


SS07 (3) SS08 (3)

HS03 (3) HS04 (3)

THIS ONE

IS HUB


+++++++

Frontpanel: 2x USB 3.1 external connected with internal USB3.1 header USB3_TC_1

2x USB 3.1 Gen2


PXSX (9) PXSX (9)


+++++++

Frontpanel: 6x USB 2.0 external connected with 3x USB2.0 headers; left to right USB_3_4,USB_1_2 and USB_5_6

USB_3_4

HS01 (0) HS02 (0)


USB_1_2

HS10 (0) HS11 (0)


USB_5_6

HS12 (0) HS13 (0)


+++++++

Back-Panel, 1st row at the top: 2x USB3.0 left to right; header USB3.1 T:USB1; B:USB2

USB 3.1 Gen 1

SS01 (3) SS02 (3)

HS06 (3) HS07 (3)


+++++++

Back-Panel, 2nd row from top: 2x USB 3.0 external; header USB3.1 Gen2 T:USB31_TA_1; B:USB3_TC_1

USB 3.1 Gen 2

PXSX (9) PXSX (9)


+++++++

Back-Panel, 3rd row from top: 2x USB 3.0 external; USB3.1 Gen1 T:USB3; B:USB4

USB 3.1 Gen 1

SS03 (3) SS04 (3)

HS08 (3) HS09 (3)


+++++++


Please note the following definitions and specifications now and in the future:

USB2.0 =USB2.0 (HS) [0,255]

USB3.1 Gen 1 = USB3.0 (HS, SSP) [3, 255]

USB3.1 Gen 1 Type-A = USB3.0 (HS, SSP) [3, 255]

USB3.1 Gen 1 Type-C = USB3.0 (HS, SSP) [9,10]

USB3.1 Gen 2 = USB3.1 (on different controller than XHC and not part of the XHC USB kext)


USB3.1 Gen 2 Type-A = USB3.1 (on different controller than XHC and not part of the XHC USB kext)

USB3.1 Gen 2 Type-C = USB3.1 (on different controller than XHC and not part of the XHC USB kext)



Inconsistencies:

a.) HS04 is defined twice, HS14 is missing in your port layout... typo? In the kext you have correctly HS04 (3) and HS14 (3). Thus within the port layout.rtf currently implemented in the modified XHC USB kext, I denoted HS14 for USB3_7_8. The latter assignment has also been considered within the new truncated 15-port kext where I dropped but not only also USB3_7_8.
Please verify correctness of my assumption!

b.) Improving port-layout.rtf denominations (see changes in blue color).

c.) Please define SS ports within each XHC USB kext always as SSP for consistency with other XHC USB kexts (fixed in the XHC USB Kext attached below).

d.) Please do not implement USB 3.1 Gen 2 (USB3.1) connectors within the XHC USB kext! SS09, SS10, USR1 and USR2 removed from XHC USB kext attached below.

e.) Your XHC USB kext for the Asrock-Z370-Extreme 4 finally has 22 ports (14x HS, 8xSSP). Highest SSP port is SSP8 , thus port-count is 18 (fixed in the XHC USB Kext attached below).

f.) Fixing of CFBundleGetInfoString, CFBundleIdentifier, CFBundleName entries


g.) adding user abbreviation at the beginning of filename.

h.) Stylistic modifications of filename

i.) For the truncated 15-port XHC USB kext, I removed:

1.) HS01, HS02(internal USB2.0 header USB_3_4)
2.) HS10, HS11(internal USB header USB_1_2)
3.) HS03, HS14, SSP7, SSP8 (internal USB3.0 header USB3_7_8)

Thus, the truncated 15-port XHC USB kext also attached below in fact only has 14 ports, with SSP6 being the highest SS port and 16 the resulting port-count.

+++++++

Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_5_6

2x USB 3.1 Gen1

USB3_5 USB3_6

HS04 (3) HS05 (3)

SSP5 (3) SSP6 (3)

+++++++

Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_7_8

2x USB 3.1 Gen1

USB3_7 USB3_8

HS03 (3) HS14 (3)

SSP7 (3) SSP8 (3)


+++++++

Frontpanel: 6x USB 2.0 external connected with 3x internal USB2.0 headers; left to right USB_3_4, USB_1_2 and USB_5_6

6x USB2.0

USB_3_4

HS01 (0) HS02 (0)

USB_1_2

HS10 (0) HS11 (0)

USB_5_6

HS12 (0) HS13 (0)


+++++++

Back-Panel, 1st row at the top: 2x USB3.0 external; USB3.1Gen1T:USB1B:USB2

2x USB 3.1 Gen 1

T:USB1 B:USB2

HS06 (3) HS07 (3)

SSP1 (3) SSP2 (3)

+++++++

Back-Panel, 3rd row from top 2x USB 3.0 external; USB3.1Gen1T:USB3B:USB4

2x USB 3.1 Gen 1

T:USB3 B:USB4

HS08 (3) HS09 (3)

SSP3 (3) SSP4 (3)

+++++++
 

Attachments

  • a1media-iMac18,3-AsrockZ370E4-XHCI.kext.zip
    3.9 KB · Views: 77
  • a1media-iMac18,3-AsrockZ370E4-XHCI-15port.kext.zip
    4 KB · Views: 53
Last edited:
New one USB kext for Asrock Z270 Extreme 4 SMBIOS 18.1

I thing now everything is OK

For the truncated 15-port XHC USB kext, I removed:

1.) HS01, HS02(internal USB2.0 header USB_3_4)
2.) HS12, HS13(internal USB header USB_5_6)
3.) HS04, SSP5, (internal USB3.0 header USB3_7_8)

+++++++

Mainboard m.2 port with header M2_3


HS14 - Wireless/Bluetooth socket


+++++++


Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_5_6


1x USB 3.0


HS03 (3)
HUB

SSP7 (3)
HUB


+++++++


Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_7_8


2x USB 3.0


HS04 (3) HS05 (3)


SSP5 (3) SSP6 (3)



+++++++


Frontpanel: 6x USB 2.0 external connected with 3x internal USB2.0 headers; left to right USB_5_6, USB_3_4 and USB_1_2


USB_5_6


HS12 (0) HS13 (0)


USB_3_4


HS01 (0) HS02 (0)


USB_1_2


HS10 (0) HS11 (0)



+++++++


Back-Panel, 1st row at the top: 2x USB3.0 external; USB3.0 T:USB1B:USB2


USB 3.0


T:USB1 B:USB2


HS06 (3) HS07 (3)


SSP1 (3) SSP2 (3)


+++++++


Back-Panel, 3rd row from top 2x USB 3.0 external; USB3.0 T:USB3B:USB4


USB 3.0


T:USB3 B:USB4


HS08 (3) HS09 (3)


SSP3 (3) SSP4 (3)


+++++++
 

Attachments

  • a1media-iMac18,1.-AsrockZ270EX4-XHCI.kext.zip
    4.3 KB · Views: 68
  • a1media-iMac18,1.-AsrockZ270EX4-XHCI-15port.kext.zip
    4.5 KB · Views: 64
Last edited:
New one USB kext for Asrock Z270 Extreme 4 SMBIOS 18.1

I thing now everything is OK

For the truncated 15-port XHC USB kext, I removed:

1.) HS01, HS02(internal USB2.0 header USB_3_4)
2.) HS12, HS13(internal USB header USB_5_6)
3.) HS04, SSP5, (internal USB3.0 header USB3_7_8)

+++++++

Mainboard m.2 port with header M2_3


HS14 - Wireless/Bluetooth socket


+++++++


Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_5_6


1x USB 3.0


HS03 (3)
HUB

SSP7 (3)
HUB


+++++++


Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_7_8


2x USB 3.0


HS04 (3) HS05 (3)


SSP5 (3) SSP6 (3)



+++++++


Frontpanel: 6x USB 2.0 external connected with 3x internal USB2.0 headers; left to right USB_5_6, USB_3_4 and USB_1_2


USB_5_6


HS12 (0) HS13 (0)


USB_3_4


HS01 (0) HS02 (0)


USB_1_2


HS10 (0) HS11 (0)



+++++++


Back-Panel, 1st row at the top: 2x USB3.0 external; USB3.0 T:USB1B:USB2


USB 3.0


T:USB1 B:USB2


HS06 (3) HS07 (3)


SSP1 (3) SSP2 (3)


+++++++


Back-Panel, 3rd row from top 2x USB 3.0 external; USB3.0 T:USB3B:USB4


USB 3.0


T:USB3 B:USB4


HS08 (3) HS09 (3)


SSP3 (3) SSP4 (3)


+++++++


:rolleyes:... Nope!

1.) The SS ports in your kext were again denominated as SS01 to SS08! -> Changed to SSP1 to SSP8!

1.) You missed HS14 and SSP8 of internal USB3.0 header USB3_5_6 in your port-layout.rpf!
An internal USB3.0 header always has 2x HS and 2x SSP ports!

2.) By this, the fully implemented XHC USB kext has 22 and not 20 ports and your truncated kext still implemented 16 ports!!!

3.) For the truncated 15-port kext (actually 14 ports) I removed HS12, HS13 of internal USB2.0 header USB_5_6; HS01, HS02 of internal USB2.0 header USB_3_4; HS03,SSP7, HS14, SSP8 of internal USB3.0 header USB3_5_6. Highest SS port is now SSP6 and port-count is 16000000.

Code:
+++++++ 


Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_5_6 


2x USB 3.0


USB3_5     USB3_6 


HS03 (3)   HS14 (3)


SSP7 (3)   SSP8 (3)


+++++++ 


Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_7_8


2x USB 3.0


USB3_7     USB3_8


HS04 (3)   HS05 (3)


SSP5 (3)   SSP6 (3)



+++++++ 


Frontpanel: 6x USB 2.0 external connected with 3x internal USB2.0 headers; left to right USB_5_6, USB_3_4 and USB_1_2


6x USB2.0


USB_5_6


HS12 (0) HS13 (0)


USB_3_4


HS01 (0) HS02 (0)


USB_1_2 


HS10 (0) HS11 (0) 



+++++++


Back-Panel, 1st row at the top: 2x USB3.0 external; USB3.0T:USB1B:USB2


2x USB 3.0


T:USB1       B:USB2


HS06 (3)    HS07 (3)


SSP1 (3)    SSP2 (3)


+++++++


Back-Panel, 3rd row from top 2x USB 3.0 external; USB3.0T:USB3B:USB4


2x USB 3.0


T:USB3       B:USB4


HS08 (3)    HS09 (3)


SSP3 (3)    SSP4 (3)


+++++++


Please check and report back if kexts for the Asrock Z270 Extreme 4 attached below and kexts for the Asrock Z370 extreme 4 attached to post #111 are correct as implemented.

As soon I get green light, I will upload all 4 kexts to the library.
 

Attachments

  • a1media-iMac18,1.-AsrockZ270EX4-XHCI.kext.zip
    4.6 KB · Views: 59
  • a1media-iMac18,1.-AsrockZ270EX4-XHCI-15port.kext.zip
    4.6 KB · Views: 66
Last edited:
:rolleyes:... Nope!

1.) The SS ports in your kext were again denominated as SS01 to SS08! -> Changed to SSP1 to SSP8!

1.) You missed HS14 and SSP8 of internal USB3.0 header USB3_5_6 in your port-layout.rpf!
An internal USB3.0 header always has 2x HS and 2x SSP ports!

2.) By this, the fully implemented XHC USB kext has 22 and not 20 ports and your truncated kext still implemented 16 ports!!!

3.) For the truncated 15-port kext (actually 14 ports) I removed HS12, HS13 of internal USB2.0 header USB_5_6; HS01, HS02 of internal USB2.0 header USB_3_4; HS03,SSP7, HS14, SSP8 of internal USB3.0 header USB3_5_6. Highest SS port is now SSP6 and port-count is 16000000.

Code:
+++++++


Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_5_6


2x USB 3.0


USB3_5     USB3_6


HS03 (3)   HS14 (3)


SSP7 (3)   SSP8 (3)


+++++++


Frontpanel: 2x USB 3.0 external connected with internal USB3.0 header USB3_7_8


2x USB 3.0


USB3_7     USB3_8


HS04 (3)   HS05 (3)


SSP5 (3)   SSP6 (3)



+++++++


Frontpanel: 6x USB 2.0 external connected with 3x internal USB2.0 headers; left to right USB_5_6, USB_3_4 and USB_1_2


6x USB2.0


USB_5_6


HS12 (0) HS13 (0)


USB_3_4


HS01 (0) HS02 (0)


USB_1_2


HS10 (0) HS11 (0)



+++++++


Back-Panel, 1st row at the top: 2x USB3.0 external; USB3.0T:USB1B:USB2


2x USB 3.0


T:USB1       B:USB2


HS06 (3)    HS07 (3)


SSP1 (3)    SSP2 (3)


+++++++


Back-Panel, 3rd row from top 2x USB 3.0 external; USB3.0T:USB3B:USB4


2x USB 3.0


T:USB3       B:USB4


HS08 (3)    HS09 (3)


SSP3 (3)    SSP4 (3)


+++++++


Please check and report back if kexts for the Asrock Z270 Extreme 4 attached below and kexts for the Asrock Z370 extreme 4 attached to post #111 are correct as implemented.

As soon I get green light, I will upload all 4 kexts to the library.

SO I write HS14. ON M2_3 were is wireless card. Bluetooth usb2 are connect on HS14. I don't have USB3.0 cable with 2 USB3.0 Port to test it. and that Why on USB3_5_6 and USB3_7_8 I can see only One of SSP* port. For example on
USB3_7_8 I connect cable with one USB3.0 and connect on SSP6/HS05 . I thing other SSP sholud be SSP5 + HS04. And this is last one free HS port. There is no other free HS** port to be part with SSP8/ ???? . HS14 is all ready use from M2_3 Bluetooth.
How to fix this problem? I sow that on header USB3_5_6 port SSP7/HS03 are bout are HUB I upload photo ( is From 15port edited that why is SS06) . But again I can not test SS08 to see what happen with HS port on it. Any idea ?
I thins it should be that.
On head USB3_5_6 we have x2 USB3.0 and x2 USB2.0
but is SS07 <AppleUSB30HubPort@14f10000>
and second USB30 is again SS07 <AppleUSB30HubPort@14f20000>
on 1 port SS07 have HS03 <AppleUSB20HubPort@14110000>
on 2 port SS07 have HS03 <AppleUSB20HubPort@14120000>
and hare is x2 USB3.0 and x2 USB2.0.
ALL HS port are use. and SSP8 are not used anywere. But I'm nit sure for that.
What do you thing ?
 

Attachments

  • Screenshot 2018-11-10 at 10.40.37.png
    Screenshot 2018-11-10 at 10.40.37.png
    83.5 KB · Views: 97
Last edited:
SO I write HS14. ON M2_3 were is wireless card. Bluetooth usb2 are connect on HS14. I don't have USB3.0 cable with 2 USB3.0 Port to test it. and that Why on USB3_5_6 and USB3_7_8 I can see only One of SSP* port. For example on
USB3_7_8 I connect cable with one USB3.0 and connect on SSP6/HS05 . I thing other SSP sholud be SSP5 + HS04. And this is last one free HS port. There is no other free HS** port to be part with SSP8/ ???? . HS14 is all ready use from M2_3 Bluetooth.
How to fix this problem? I sow that on header USB3_5_6 port SSP7/HS03 are bout are HUB I upload photo ( is From 15port edited that why is SS06) . But again I can not test SS08 to see what happen with HS port on it. Any idea ?
I thins it should be that.
On head USB3_5_6 we have x2 USB3.0 and x2 USB2.0
but is SS07 <AppleUSB30HubPort@14f10000>
and second USB30 is again SS07 <AppleUSB30HubPort@14f20000>
on 1 port SS07 have HS03 <AppleUSB20HubPort@14110000>
on 2 port SS07 have HS03 <AppleUSB20HubPort@14120000>
and hare is x2 USB3.0 and x2 USB2.0.
ALL HS port are use. and SSP8 are not used anywere. But I'm nit sure for that.
What do you thing ?

Try to get something like this for your port discovery:

1.) Delock AK 666, Slot bracket 1x 10 pin USB2.0 internal -> 2x USB2.0 Type-A external

Screenshot 2018-11-10 at 10.48.08.png


Screenshot 2018-11-10 at 10.48.26.png


2.) Delock 82963, Slot bracket 1x 19 pin USB3.0 internal -> 2x USB 3.0 Type-A external

Screenshot 2018-11-10 at 10.52.04.png

Screenshot 2018-11-10 at 10.51.47.png
 
Last edited:
Try to get something like this for your port discovery:

1.) Delock AK 666, Slot bracket 1x 10 pin USB2.0 internal -> 2x USB2.0 Type-A external

View attachment 364580

View attachment 364581

2.) Delock 82963, Slot bracket 1x 19 pin USB3.0 internal -> 2x USB 3.0 Type-A external

View attachment 364579
View attachment 364583

On Asrock Z370 extreme 4 is like that SSP7/HS03 is hub. I test it with case with x2 usb3.0 front port and 2 port are use SSP7/HS03 with different port on HUB. This mainboard is no active SSP8 anywhere. That why I thing on this Z270 extreme 4 are the same. I'm sure for this that why SSP8 are delete. and All HS port are Used. form HS01 to HS14
 
On Asrock Z370 extreme 4 is like that SSP7/HS03 is hub. I test it with case with x2 usb3.0 front port and 2 port are use SSP7/HS03 with different port on HUB. This mainboard is no active SSP8 anywhere. That why I thing on this Z270 extreme 4 are the same. I'm sure for this that why SSP8 are delete. and All HS port are Used. form HS01 to HS14

Wrong. All onboard USB headers have two HS and two SS ports.

Please get USB slot brackets and complete board discovery.

Good luck,

KGP
 
  • Like
Reactions: kgp
Status
Not open for further replies.
Back
Top