Contribute
Register

X299 Big Sur Support

Status
Not open for further replies.
GUIDE TO CREATE EDIT MODIFY YOUR OWN USB.kext FOR YOUR X299 MOTHERBOARD

On a previous post #396

I explained my new approach for USB.kext

The Goal is to have in one kext all ports properties and counts for each USB Pci Device you have and use according with IOReg.


Here I will explain more :

01 / Prerequisite you have your SSDT-X299-XHC configured and loaded :

On my ASUS X299 Prime deluxe :

View attachment 489319

02 / Prerequisite you have your SSDT-X299-XHCI configured and loaded :

View attachment 489340

03 / You have one of the kexts from the post #396 according to your SMBIOS iMacPro1,1 or MacPro 7,1

04 / We will see how this kext is made :

Navigate, find the right kext , right click show package content / content / open info.plist with Xcode :

You can see after click on IOKITPersonnalities :

The different sections :
- XHC3
- XHC4
- XHC5
- XHCi

View attachment 489341

05 / We will configure ports for your own kext under XHCI :


05-1
- You need one of the new kext approaches see 03 /

Navigate, find the right kext , right click show package content / content / open info.plist with Xcode

Reserve it on the right side of your screen

05-2
- your original kext matching with your system ( full or truncated 15 ports)

Do the same as above and reserve it on the left side of your screen

Now on the original kext you must select / right click copy the ports section :

View attachment 489367

05-3
After on the new kext your reserved on right section of your screen :

Select ports section , select right click CUT ports section and now PAST ports section you selected by copy on the original kext just under the line port-count :

Done you must see that :

View attachment 489348

Save it on Xcode

06 / We will add/modify/ let XHC3 section :

ASMedia ASM3142 #2 2x USB 3.1 Type-A External

In this XHC3 section we set all properties :

06-1
IOPCIPrimaryMatch : 0x21421b21 ( to be verify )
IOProviderClass : AppleUSBXHCIPCI

06-2
After under IOProviderMergeProperties :
- kUSBSleepPortCurrentLimit : 2100
- kUSBSleepPowerSupply : 5100
- kUSBWakePortCurrentLimit : 2100
- kUSBWakePowerSupply : 5100

06-3
Now the ports :
In the XHC3 section you need to check what port type is and the count.
Generaly for USB 3.0 they are four paired :
- HS01 / HS02 for USB2
- SS01/ SS02 For USB3
HS01 paired with SS01 and HS02 paired with SS02

So we set the HS01/HS02 USB2 ports with 0 under usb-connector
And we set the SS01/SS02 USB3 ports with 3 under usb-connector

Done we have :

View attachment 489353

07 / We will add/modify/ let XHC4 section :

ASMedia ASM3142 #3 1x USB 3.1 Type-A / ASM1543 1x USB 3.1 Type-C External

As above :

07-1
IOPCIPrimaryMatch : 0x21421b21 ( to be verify)
IOProviderClass : AppleUSBXHCIPCI

07-2
After under IOProviderMergeProperties :
- kUSBSleepPortCurrentLimit : 2100
- kUSBSleepPowerSupply : 5100
- kUSBWakePortCurrentLimit : 2100
- kUSBWakePowerSupply : 5100

07-3
Now the ports :
They are four paired :
HS01 paired with SS01 and HS02 paired with SS02

Those settings are different :
HS01 USB C with 10 under usb-connector
HS02 USB 3.1 with 3 under usb-connector
SS01 USB C with 10 under usb-connector
SS02 USB 3.1 with 3 under usb-connector

Now we have :

View attachment 489355

08 / We will add/modify/ let XHC5 section :

NOTE : For GC Titan Ridge with SSDT-X299-TB3TTR ( or similar ) loaded with XHC5 under DBS2 :

08-1
IOPCIPrimaryMatch : 0x15ec8086 ( to be verify)
IOProviderClass : AppleUSBXHCITR

08-2
After under IOProviderMergeProperties :
- kUSBSleepPortCurrentLimit : 2100
- kUSBSleepPowerSupply : 5100
- kUSBWakePortCurrentLimit : 2100
- kUSBWakePowerSupply : 5100

08-3
Now the ports :
They are two USBC thunderbolt ports :

HS01 USB C with 10 under usb-connector
HS02 USB C with 10 under usb-connector

Now we have :

View attachment 489357

Save this.

Now under each section you must verify you have under model :

- MacPro7,1
or
- iMacPro1,1
According to your SMBIOS

All sections such as XCH1, XHC2, XHC3, XHC4, XHC5 should be renamed in concordance to your own SSDT-X299-XHC and SSDT -X299-TB3TTR

For a particular configuration, we will see how to set them correctly.

Enjoy :thumbup:
This detailed guide is great.
I followed the steps and I am booting in. I see some differences in IOReg but I am not sure what I am looking for.

Is there a way we can check our work to make sure we achieved the best results?

Thank you again!
 
This detailed guide is great.
I followed the steps and I am booting in. I see some differences in IOReg but I am not sure what I am looking for.

Is there a way we can check our work to make sure we achieved the best results?

Thank you again!
Just see on IOReg for exemple under XHC4 as on picture below click under ports and see if you have the right port count : if it's ok you're done.
I will add this on the guide later.

Capture d’écran 2020-09-19 à 22.38.24.png
 
We have not found a solution here yet and I thought I would mention 3 things that @@djlild7hina helped with previously that might be relevant:

1. The X299USB.kext I have been using is one that @djlild7hina built/mapped for this board...see here from the X299 - Open Core Support Forum: (Post #717).
2. @djlild7hina also had tweaked the SSDT-X299-TB3HP.aml to give me functionality where it did not function before...see here from the X299 - Open Core Support Forum: (Post #742).
3. @djlild7hina also previously said that the SSDT-X299-Vega64.aml is outdated and should no longer be used...see here from the X299 - Open Core Support Forum: (Post #751).

Please let me know if any of that effects the changes you are trying to help me make. So far, obviously, with your EFI not booting, the original EFI is working better, but the crashes are very annoying. Thanks for all of your assistance @Loloflatsix & @P1LGRIM! Anything we can do to keep troubleshooting this is so helpful! I just do not want to hit a brick wall!!
@Loloflatsix,
Did you have anymore ideas on how to get the EFI you sent me to boot or how to solve my crash/kernel panic and TB3 problems? Thanks!
 
@Loloflatsix,
Did you have anymore ideas on how to get the EFI you sent me to boot or how to solve my crash/kernel panic and TB3 problems? Thanks!
There is no reason you can't after a few adjustments :
- you need to have just some method and step by step
- maybe with another USB and blank formatted key.
- add the new SSDTs one by one : I totally disagree that some SSDTs are outdated as the SSDT Vega64 ( who have Vega 64 : you and me have also Vega 56 ...)
- same method for the kexts, one by one
- and so on: at some point you will find which element is causing the system to not start : we will remove are improve it
Let me know your progress
( I can't imagine it won't work , I'm able to boot MacOs on an AMD E-Series E1-1200...)
 
There is no reason you can't after a few adjustments :
- you need to have just some method and step by step
- maybe with another USB and blank formatted key.
- add the new SSDTs one by one : I totally disagree that some SSDTs are outdated as the SSDT Vega64 ( who have Vega 64 : you and me have also Vega 56 ...)
- same method for the kexts, one by one
- and so on: at some point you will find which element is causing the system to not start : we will remove are improve it
Let me know your progress
( I can't imagine it won't work , I'm able to boot MacOs on an AMD E-Series E1-1200...)
OK, Thanks. I will take some time to do that. Justine more question to help me learn what we are trying to do....the new EFI you gave me...is it just an updated EFI compared to the one I have ben using or was it modified specifically related to my issues? or was it something else? Thanks again!
 
OK, Thanks. I will take some time to do that. Justine more question to help me learn what we are trying to do....the new EFI you gave me...is it just an updated EFI compared to the one I have ben using or was it modified specifically related to my issues? or was it something else? Thanks again!
Exactly the same your shared with New SSDTs, kexts and config.plist edited
You can restart from your EFI and add things one by one and each time editing the config.plist
 
There is no reason you can't after a few adjustments :
- you need to have just some method and step by step
- maybe with another USB and blank formatted key.
- add the new SSDTs one by one : I totally disagree that some SSDTs are outdated as the SSDT Vega64 ( who have Vega 64 : you and me have also Vega 56 ...)
- same method for the kexts, one by one
- and so on: at some point you will find which element is causing the system to not start : we will remove are improve it
Let me know your progress
( I can't imagine it won't work , I'm able to boot MacOs on an AMD E-Series E1-1200...)
Also, just one update. While still using the old EFI, I went into the BIOS and turned off the XMP on my RAM. My RAM is 3466MHz on the box and without XMP it is showing up in MacOS as 2133 MHz. I do not know what sort of performance I am losing by having the RAM run that much slower, but my stability has increased dramatically. No crashes in about 24 hours and my TB3 devices load up after booting everytime it seems. What does that tell us? Problem with my RAM? Should I settle for running the RAM at the current speed? Is there a way to speed it up and keep the stability?
 
Exactly the same your shared with New SSDTs, kexts and config.plist edited
You can restart from your EFI and add things one by one and each time editing the config.plist
OK, sounds good. Thanks for the info!
 
Also, just one update. While still using the old EFI, I went into the BIOS and turned off the XMP on my RAM. My RAM is 3466MHz on the box and without XMP it is showing up in MacOS as 2133 MHz. I do not know what sort of performance I am losing by having the RAM run that much slower, but my stability has increased dramatically. No crashes in about 24 hours and my TB3 devices load up after booting everytime it seems. What does that tell us? Problem with my RAM? Should I settle for running the RAM at the current speed? Is there a way to speed it up and keep the stability?
Just with latest stable Bios version for you with same parameters
 
Status
Not open for further replies.
Back
Top