Contribute
Register

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

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
 
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.
 
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
 
@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

  • SSDT-7-A M I.aml.zip
    2.3 KB · Views: 157
  • Example 1.png
    Example 1.png
    96.9 KB · Views: 151
Last edited:
@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, are these the 4 in the red box to be removed?

1 - I have never changed anything in the fields that look like those.

2 - no idea but nothing you should worry your thunderbolt or USB c on another controller would be on say RP5

3 - Look at post 28 that is a gigabyte board, but based on that for you to turn off HS01 line 375 should be zero and that is what you currently have listed. I think you would leave line 371 alone, or maybe make them both zero. But post 28 should be the closest to your AML since it is a gigabyte.

4 - You need to make sure once you put the file in the patched folder that in clover you have the auto merge option checked or it will not work.


There is no way to delete your double post unless maybe a mod does it.
 
1 - I have never changed anything in the fields that look like those.

2 - no idea but nothing you should worry your thunderbolt or USB c on another controller would be on say RP5

3 - Look at post 28 that is a gigabyte board, but based on that for you to turn off HS01 line 375 should be zero and that is what you currently have listed. I think you would leave line 371 alone, or maybe make them both zero. But post 28 should be the closest to your AML since it is a gigabyte.

4 - You need to make sure once you put the file in the patched folder that in clover you have the auto merge option checked or it will not work.


There is no way to delete your double post unless maybe a mod does it.
Thank you for your quick response. Do you happen to know about the for kexts in the Clover Configurator Picture I have listed in my last post?
 
Thank you for your quick response. Do you happen to know about the for kexts in the Clover Configurator Picture I have listed in my last post?

For testing purposes the easiest way to 'remove' the port-limit removal patch lines is to tick the "Disabled" box at the end of the line and then Save. That way you can put them back just as easily if things don't work out :thumbup:
 
For testing purposes the easiest way to 'remove' the port-limit removal patch lines is to tick the "Disabled" box at the end of the line and then Save. That way you can put them back just as easily if things don't work out :thumbup:
@UtterDisbelief, thanks for your reply. I am actually in the process of testing things right now and have things in place, as far as I know. I did just like you said and ticked the "Disabled" box. Currently, IORegistry is showing only the ports I want and I just finished speed testing the ports. I think maybe the USB3 ports are running a bit slow but I will get to that question in a new post I think. When I am sure all is well, I will end up deleting the port-limit removal patch as I would like to keep the system as clean as possible.

Would you happen to know about the need to change line 380 from One to Zero? I understand I can go through the process of trial and error and I will if it comes to that, but if someone already figured it out, the info would be appreciated.

And thanks to you or to the person who deleted my accidental post.
 
@UtterDisbelief, thanks for your reply. I am actually in the process of testing things right now and have things in place, as far as I know. I did just like you said and ticked the "Disabled" box. Currently, IORegistry is showing only the ports I want and I just finished speed testing the ports. I think maybe the USB3 ports are running a bit slow but I will get to that question in a new post I think. When I am sure all is well, I will end up deleting the port-limit removal patch as I would like to keep the system as clean as possible.

Would you happen to know about the need to change line 380 from One to Zero? I understand I can go through the process of trial and error and I will if it comes to that, but if someone already figured it out, the info would be appreciated.

And thanks to you or to the person who deleted my accidental post.

Currently I'm still working on this technique for Gigabyte motherboards and my own board is not identical to yours.

However, I would leave 380 as it is.

I would only change (in your example) 375 etc.

Let me know how it goes:thumbup:

:)
 
Currently I'm still working on this technique for Gigabyte motherboards and my own board is not identical to yours.

However, I would leave 380 as it is.

I would only change (in your example) 375 etc.

Let me know how it goes:thumbup:

:)
Currently testing a few changes. But this does lead to a new question.

So I went through the guide in post one, thank you MacMan, and have everything in place. The IORegistry is looking good with only the USB Ports I designated. All ports test good with both USB2 and USB3. If I want to do a new SSDT extraction with the F4 command when Clover is booted at the main menu, should the file that is placed in the EFI/EFI/CLOVER/ACPI/origin/ be the new updated file or the original file I started with? FYI, I am getting the original SSDT-X.aml file I started with before making modifications.
 
Back
Top