DSDT patch

Deleted member 22707

New member
AMD OS X Member
Dec 26, 2023
23
2
3
CPU:
R5 7500F
Where I can find guide how to patch DSDT for my mb (Asus rog B650e-e wifi)?
 
Ah, right: The name is maciasl.
And the cask actually installs Acidanthera's graphical application MaciASL.
Once the application is installed, the command line compiler is available (kind of…) at
/Applications/MaciASL/Contents/MacOS/iasl-stable

And then, after making a link
ln /Applications/MaciASL.app/Contents/MacOS/iasl-stable /usr/local/sbin/iasl
DSDT_Analysis_Tool_macOS-Linux.py works as expected.
 
Yes, you're right, it was missed..install, and still nothing
Warning: No available formula with the name "iasl". Did you mean isl?
Have you followed these instructions?


Edit:
I’m aware that Python can cause some issues on Windows and is often blocked by antivirus or firewall software.
I use Comodo Antivirus and Firewall, and the file DSDT-Analysis-Tool-Win.py is frequently blocked by Comodo.
To ensure the program runs correctly, you need to manually set the file as “Trusted” in the File Rating section.

After that, you can start the tool via the command line using the following command:

Code:
python DSDT-Analysis-Tool-Win.py
Then press Enter to run the command.

The tool works!
I’m currently working on further development. The goal is to enable the tool to insert various patches in the future to allow targeted modification of the DSDT.
 

Attachments

Last edited:
  • Like
Reactions: Bor10n and Edhawk
I should have provided some more explanation on the "universal" patches.

Once decompiled, there are always the same conditions on the problematic declaration blocks that have to be patched. There are some padding bytes between If() (opcode: A0) and the conditions (opcodes: 90 and 9232 for && and !=). The content of these bytes can vary from board to board, but as long as the DSDT is not massively rewritten so as to change the number of padding bytes (here two), it's possible to set a mask and have "universal" patches.

With a hex editor one can look for the core parts of the patches (excluding the A00000 part at the beginning):

#1: 90 92934730 30320A03 93473030 3001

#2: 90 92934730 30320A03 90934730 30300192 93473030 340C2210 FA43

#3: 90 92934730 30320A03 93473030 300A02

There should be a single occurence of each of #2 and #3 in the whole DSDT.aml and a single occurence of #1 that is preceded by A0xxxx (A0 and TWO bytes), plus a few occurences of #1 preceded by A0xxxxxx (THREE bytes, thus not patched).
I have so far confirmed the pattern in Asus ROG Strix B650E-F (reported working by the user), X670 Hero, X870 Hero, X870E ProArt, and AsRock X870E Taichi Lite, so I'm reasonable confident they are generic enough.
 

Attachments

  AdBlock Detected
Sure, ad-blocking software does a great job at blocking ads, but it also blocks some useful and important features of our website. For the best possible site experience please take a moment to disable your AdBlocker.