Contribute
Register

ASUS 100 Series and Later Custom SSDT for XHCI USB Port Control

pastrychef

Moderator
Joined
May 29, 2013
Messages
10,261
Motherboard
Asus ROG Strix Z370-G Gaming (Wi-Fi AC)
CPU
i9-9900K OC'd @ 5.0GHz
Graphics
Radeon VII
Mac
MacBook, Mac Pro
Classic Mac
iBook, Power Mac, PowerBook
Mobile Phone
iOS
Thank you for your response. I am indeed not using all three possible fixes that address the same issue at the same time. Here is my take in short again.

For many months I used my GA-Z170X-UD3-USB.kext without any PMheart patch(es) and everything worked like a dream.

Upgrading to Mojave 10.14.1 introduced instability into my Skylake build.

Switched to the SSDT-3 method by MacMan as an exclusive solution when I started to experience instability with Mojave. It worked well without any PMheart patches for a while.

Now, perhaps after the Mojave 10.14.4 upgrade instability surfaced again.

I then decided to install the PMheart patches on top of the SSDT-3 exclusive solution and the instability seems to have gotten worse. In other words two solutions running on top of one another, which as you say is not correct, do not yield the desired result, instability is still a problem.

Naturally I am at a loss right now.

I am in the process of generating proper problem reporting files using @MacMan 's elegant SSDT solution exclusively, with PMheart's 3 patches disabled in the KextsToPatches section of my config.plist file.

Kindly bear with me, will post the problem reporting files here in a moment

Greetings
What sort of instability are you experiencing? Do you have any kernel panic logs?
 
Joined
Nov 4, 2011
Messages
522
Motherboard
GA-Z170X-UD3 F23g
CPU
i7-6700K
Graphics
RX-580
Mac
iMac
What sort of instability are you experiencing? Do you have any kernel panic logs?
It is difficult to tell because with all my own experimentation I sort of got lost, therefore I suggest that from now on I stay with @MacMan 's SSDT-3 method, the method I prefer, without anything else in my config.plist file - all 3 of PMheart's patches in KextsToPatches have therefore been disabled/removed for now. I will then be only changing anything in accordance with your instructions, believing that this approach is the only one that would prevent "insanity" :) and eventually result in success.
I have attached the problem reporting files which are contained in the debug_31634 file attached hereto. While generating these problem reporting files the routines seemed unhappy in dumping my iOreg, therefore I additionally supplied it's contents in a separate file named ioreg-dump , also attached.
For good measure I have also attached my SSDT-3-xh_rvp10 file, containing the modifications by @MacMan and confirmed by @Lauderdale to be working on a Gigabyte mobo.

Thanking you for you patience

Greetings
 

Attachments

pastrychef

Moderator
Joined
May 29, 2013
Messages
10,261
Motherboard
Asus ROG Strix Z370-G Gaming (Wi-Fi AC)
CPU
i9-9900K OC'd @ 5.0GHz
Graphics
Radeon VII
Mac
MacBook, Mac Pro
Classic Mac
iBook, Power Mac, PowerBook
Mobile Phone
iOS
It is difficult to tell because with all my own experimentation I sort of got lost, therefore I suggest that from now on I stay with @MacMan 's SSDT-3 method, the method I prefer, without anything else in my config.plist file - all 3 of PMheart's patches in KextsToPatches have therefore been disabled/removed for now. I will then be only changing anything in accordance with your instructions, believing that this approach is the only one that would prevent "insanity" :) and eventually result in success.
I have attached the problem reporting files which are contained in the debug_31634 file attached hereto. While generating these problem reporting files the routines seemed unhappy in dumping my iOreg, therefore I additionally supplied it's contents in a separate file named ioreg-dump , also attached.
For good measure I have also attached my SSDT-3-xh_rvp10 file, containing the modifications by @MacMan and confirmed by @Lauderdale to be working on a Gigabyte mobo.

Thanking you for you patience

Greetings
I can't see anything that may cause instability from your files.

For now, just use system until you get a kernel panic and be sure to save and post the logs.
 
Joined
Nov 4, 2011
Messages
522
Motherboard
GA-Z170X-UD3 F23g
CPU
i7-6700K
Graphics
RX-580
Mac
iMac
I can't see anything that may cause instability from your files.

For now, just use system until you get a kernel panic and be sure to save and post the logs.
Thank you so much for your willingness to assist. Will do as you suggest, for now waiting for the next crash when I will come back to you with the information you require.
Greetings for now
 
Joined
Nov 4, 2011
Messages
522
Motherboard
GA-Z170X-UD3 F23g
CPU
i7-6700K
Graphics
RX-580
Mac
iMac
@pastrychef my Skylake build has now survived 23 hrs. 35 mins. uptime without crashing -touch wood :)
Here are a few items I attended to, of which one or more of the measures applied, may have been responsible for achieving the new found "stability"

1. Tightened one of the aerials of my Apple BT card, which was loose, - perhaps causing standing waves due to
an improperly terminated aerial, thus resulting in excessive RF. interference inside the box. ?

2. Installed the most recent Lilu and siblings kexts by compiling the source containing the latest commits.

3. Installed the most recent IntelMausiEthernet.kext compiled from the latest source.

4. Removed FakeSMC and all its sensor kexts including HWmonitor and replaced all that with VirtualSMC.kext,
SMCProcessor.kext and am now only using iStat Menus and Intel Power Gadget to obtain an insight into the
performance of this build.

5. Whittled down the config.plist file as follows:
a. Removed HDAS -> HDEF rename - not required by the MAYA44e soundcard being installed. All instances
of AppleALC.kext have also been removed from this build.

b. Removed dart=0 - not needed because VT-d is already disabled in BIOS

c. Switched to the kextless method of this thread for the USB configuration of this build. All traces of
PMHeart's patches have also been removed.

d. In the config.plist Devices section I unticked USB inject - seemingly not needed by this build - likewise
I believe USB FixOwnership is also not needed, left it in and will test and evaluate this at a later stage.

e. The only entry in the Kernel and Kext Patches section is the trim enabling rename.

That concludes the measures I have taken so far. For ease of reference and others that may be interested I have attached the compressed EFI folder presently used in this rig.

Kindly have a look at the contents of the EFI folder and advise if there is anything else you suggest I should attend to.

Greetings
 

Attachments

pastrychef

Moderator
Joined
May 29, 2013
Messages
10,261
Motherboard
Asus ROG Strix Z370-G Gaming (Wi-Fi AC)
CPU
i9-9900K OC'd @ 5.0GHz
Graphics
Radeon VII
Mac
MacBook, Mac Pro
Classic Mac
iBook, Power Mac, PowerBook
Mobile Phone
iOS
@pastrychef my Skylake build has now survived 23 hrs. 35 mins. uptime without crashing -touch wood :)
Here are a few items I attended to, of which one or more of the measures applied, may have been responsible for achieving the new found "stability"

1. Tightened one of the aerials of my Apple BT card, which was loose, - perhaps causing standing waves due to
an improperly terminated aerial, thus resulting in excessive RF. interference inside the box. ?

2. Installed the most recent Lilu and siblings kexts by compiling the source containing the latest commits.

3. Installed the most recent IntelMausiEthernet.kext compiled from the latest source.

4. Removed FakeSMC and all its sensor kexts including HWmonitor and replaced all that with VirtualSMC.kext,
SMCProcessor.kext and am now only using iStat Menus and Intel Power Gadget to obtain an insight into the
performance of this build.

5. Whittled down the config.plist file as follows:
a. Removed HDAS -> HDEF rename - not required by the MAYA44e soundcard being installed. All instances
of AppleALC.kext have also been removed from this build.

b. Removed dart=0 - not needed because VT-d is already disabled in BIOS

c. Switched to the kextless method of this thread for the USB configuration of this build. All traces of
PMHeart's patches have also been removed.

d. In the config.plist Devices section I unticked USB inject - seemingly not needed by this build - likewise
I believe USB FixOwnership is also not needed, left it in and will test and evaluate this at a later stage.

e. The only entry in the Kernel and Kext Patches section is the trim enabling rename.

That concludes the measures I have taken so far. For ease of reference and others that may be interested I have attached the compressed EFI folder presently used in this rig.

Kindly have a look at the contents of the EFI folder and advise if there is anything else you suggest I should attend to.

Greetings
  • I don't know if RF interference would be an issue...
  • When using VirtualSMC, I believe that installing SMCHelper-64.efi to /EFI/CLOVER/drivers64UEFI/ is recommended.
  • You probably don't need SSDT-SATA.aml in /EFI/CLOVER/ACPI/patched/. The SATA controller on Z170 is support because Apple also uses Z170.
  • In my builds, I don't even bother to disable VT-d anymore. I also don't have dart=0 nor do I have DMAR in drop tables.
  • In config.plist > Boot > Arguments, I recommend adding the "keepsyms=1" argument. This will help with collection of kernel panic logs.
  • The External Icons KextsToPatch may be useful, but not required.
 
Joined
Nov 4, 2011
Messages
522
Motherboard
GA-Z170X-UD3 F23g
CPU
i7-6700K
Graphics
RX-580
Mac
iMac
Thank you for your response, much appreciated. My comments as below:
When using VirtualSMC, I believe that installing SMCHelper-64.efi to /EFI/CLOVER/drivers64UEFI/ is recommended.
I read that SMCHelper-64.efi in /EFI/CLOVER/drivers64UEFI/ is only required if one uses FileVault, which I do not use. In the interim I will continue without it and continue to monitor the reliability of this rig. Should problems still manifest themselves I will install SMCHelper-64.efi and see what it does.
You probably don't need SSDT-SATA.aml in /EFI/CLOVER/ACPI/patched/. The SATA controller on Z170 is support because Apple also uses Z170.
This is an interesting one, thank you for this input in particular. I will remove SSDT-SATA.aml in /EFI/CLOVER/ACPI/patched/ as soon as the current stability of this build has proven to last longer than the 28 hrs. it has accumulated so far, touch wood this time too :) I guess that the SAT0 -> SATA rename in the Acpi/DSDT section of the config.plist of this build, should remain. It seems however that it is only used for cosmetic reasons, as I understand what I have read about the purpose of this particular rename.
nor do I have DMAR in drop tables.
That is a strange one for me. I do not know what DMAR is, neither do I find anything in Acpi/Drop Tables to activate this in my particular config.plist. In that section I only have AutoMerge ticked, which is required to ensure that the modified SSDT-3-xh_rvp10.aml, I am using, is indeed merged with the system SSDT... to ensure that the USB ports I selected to be excluded in SSDT-3-xh_rvp10.aml are not loaded during the boot process. At least that is how I understand this particular "trick"
In config.plist > Boot > Arguments, I recommend adding the "keepsyms=1" argument. This will help with collection of kernel panic logs.
Will definitely introduce keepsyms=1 further down the line as soon as I am confident that what I have configured presently is actually stable long term. I want to avoid introducing new configuration entities at this particular juncture, to prevent overlaying potential problems, making troubleshooting much more complicated.
The External Icons KextsToPatch may be useful, but not required.
I assign my own icons for my external SSD's HDD's, therefore the External Icons KextsToPatch beautification patch does not apply to this particular Skylake build.

Summary
To conclude I would appreciate if you could once again have a closer look at this response of mine and advise if I have misunderstood something.

As usual your input will be much appreciated.

Greetings
 

pastrychef

Moderator
Joined
May 29, 2013
Messages
10,261
Motherboard
Asus ROG Strix Z370-G Gaming (Wi-Fi AC)
CPU
i9-9900K OC'd @ 5.0GHz
Graphics
Radeon VII
Mac
MacBook, Mac Pro
Classic Mac
iBook, Power Mac, PowerBook
Mobile Phone
iOS
Thank you for your response, much appreciated. My comments as below:

I read that SMCHelper-64.efi in /EFI/CLOVER/drivers64UEFI/ is only required if one uses FileVault, which I do not use. In the interim I will continue without it and continue to monitor the reliability of this rig. Should problems still manifest themselves I will install SMCHelper-64.efi and see what it does.

This is an interesting one, thank you for this input in particular. I will remove SSDT-SATA.aml in /EFI/CLOVER/ACPI/patched/ as soon as the current stability of this build has proven to last longer than the 28 hrs. it has accumulated so far, touch wood this time too :) I guess that the SAT0 -> SATA rename in the Acpi/DSDT section of the config.plist of this build, should remain. It seems however that it is only used for cosmetic reasons, as I understand what I have read about the purpose of this particular rename.

That is a strange one for me. I do not know what DMAR is, neither do I find anything in Acpi/Drop Tables to activate this in my particular config.plist. In that section I only have AutoMerge ticked, which is required to ensure that the modified SSDT-3-xh_rvp10.aml, I am using, is indeed merged with the system SSDT... to ensure that the USB ports I selected to be excluded in SSDT-3-xh_rvp10.aml are not loaded during the boot process. At least that is how I understand this particular "trick"

Will definitely introduce keepsyms=1 further down the line as soon as I am confident that what I have configured presently is actually stable long term. I want to avoid introducing new configuration entities at this particular juncture, to prevent overlaying potential problems, making troubleshooting much more complicated.

I assign my own icons for my external SSD's HDD's, therefore the External Icons KextsToPatch beautification patch does not apply to this particular Skylake build.

Summary
To conclude I would appreciate if you could once again have a closer look at this response of mine and advise if I have misunderstood something.

As usual your input will be much appreciated.

Greetings
We've already swayed way off topic. I think you should start a new thread since it's clear that you don't have any USB problems.
 
Joined
Nov 4, 2011
Messages
522
Motherboard
GA-Z170X-UD3 F23g
CPU
i7-6700K
Graphics
RX-580
Mac
iMac
We've already swayed way off topic. I think you should start a new thread since it's clear that you don't have any USB problems.
Noted, however I have merely responded to your suggestions and comments per your post #86, requesting your further comments to my response to your #86 suggestions. For the life of me I cannot believe that a new thread is now all of a sudden justified and appropriate just to finalize our extensive interchange so far in this thread. I am saddened that the mere finalization of our extensive communication so far has now to materialize into a new thread. This just does not make sense at this juncture of proceedings at all. It means I have to start all over again, something I am certainly not prepared to do. I also understand that traffic on this forum makes a huge contribution to it's financial well being, but certainly there is a limit to it as well, because what is now being suggested is bordering on the ridiculous and just generating unneccessary "income generating" traffic, I just do not want to be part of it.

Thank you and regards
 
Joined
Apr 11, 2018
Messages
49
Motherboard
Gigabyte H370M D3H
CPU
i5-8500
Graphics
RX 570
Mac
iMac, MacBook Pro
@MacMan, great guide and really like the idea of a kext-less approach, it seems less problematic for future upgrades and such. To anyone who might have an idea on this, I have included my aml file from the extracted SSDT. My file appears to be more like @djashjones file in post #60. This leads me to a few questions so I may learn as I go.
1.) Do I need to make any adjustments directly to lines 87 thru 192?
2.) What is line 256 (Method CNDP...) and all the text down to line 356? (I am just curious)
3.) For Example, I would like to turn off HS01, (USB2) (line 363), so as I understand it, I would change line 371 from One to Zero. Do I need to change the value in line 380 as well? It seems I have more If/Else statements making me confused.
4.) When I have finished and installed the newly compiled aml into EFI/EFI/CLOVER/ACPI/patched I understand I need to remove the USBInjectALL.kext and the Remove XHCI USB Port Limit patch in clover. In this borrowed portion of a picture within Clover Configurator, are these the 4 in the red box to be removed?
 

Attachments

Last edited:
Top