Yesterday I blogged about the USB stutter and random hangs that I was trying to resolve, and one of the things that I did was to strip the DSDT. Not that it was that much smaller, and thus I asked my father for a bit of help. After just 30 minutes… it suddenly went down from 52365 bytes to only 5922 bytes. I tell you. That is a lot less than what I had.
Too bad that the thirty minutes dried up so quick, and that dad had to leave to catch his flight back home. Luckily, he gave me some tips and today I had another stab at it. The computer that we used, which is actually a GA-Z87MX-D3H but the DSDT is for a GA-Z87M-D3H, still boots from the USB 2.0 memory stick, which is painfully slow by the way, but now it does it with just 3292 bytes. This instead of the 5922 bytes I started with.
The new static DSDT appears to be working. Sleep/wake works properly. Reboot and shutdown too. Audio works, and the Ethernet port and WiFi/Bluetooth module are still fine. Power management is also ok with a ssdtPRGen.sh generated SSDT. USB 2.0 and USB 3.0 is also functional, be it with the same annoying mouse stutter at startup. The good news is that I received the source code, be it the USB only bits and pieces, and thus the hunt for the error will start tomorrow…
Anyway. You can find my (example of a) stripped down DSDT in my Github repository but please be aware that it may not work, most likely not, on other hardware. With a different BIOS version, or with a different IGPU memory setting, and more/less memory than the two 4GB memory modules that I have installed on this motherboard.
Also. Do not change your _CRS object data. Not without knowing what you are doing!
Edit: To me American Megatrends, Inc. is a serious company, with dozens of BIOS developers, and they write BIOS code for all kinds of motherboard… but they do this without having a single target motherboard. All testing is done by the vendor itself. Not by AMI. So much for fake facts from you know who…