Jump to content

ACPI (DSDT) Patcher for BIOS and AML


koalala
 Share

845 posts in this topic

Recommended Posts

unluckly you can decompile a DSDT.dat in Linux but you have to relay on a mac to patch it.

 

i dumped and decompiled the DSDT table with linux but i had to ask a person to patch it for me.

 

now my MSI P35 platinum can boot properly :)

 

That is not a problem. I have a macbook. How does one patch a given DSDT file ? Doesn't fassl's DSDT patcher default to trying to read the system's DSDT instead of a specified one ?

Link to comment
Share on other sites

HEY NEED HELP, i flashed my bios with a patched one an now my Motherboard (GA-EP45-DS3) is in an endless loop.

Think Flashing failed - is there a way to restore bios?

BR,

derpuma

 

Hi Derpuma,

 

I just recovered from this myselfe on my motherboard (GA-X48T-DQ6) which would make one sick sounding beep and turn off, then it would come on and repeat for ever.

 

I found a post at forums.tweaktown.com/f69/how-fix-dead-dual-bios-motherboard-if-flashing-failed-33904/

 

What you need to do is Remove all memory but one stick then short pins 4 & 7 on the main bios before turning the machine on, what this dose is Hides the main bios so that the Backup Bios takes over, then after it has loaded the Backup bios remove the short and it will detect that the main bios is corupt and rewrite it with the backup. It may take a few goes to get it but it will work.

 

MadMungo

Link to comment
Share on other sites

lRh5y1VNUw.jpg

 

log :

[ACPI] ROM is extracted to acpi.xtr

Intel ACPI Component Architecture

AML Disassembler version 20081204 [Dec 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

TableHeader length [0x43495041] greater than the input file size [0x728]

Could not get table from the file

 

Motherboard ABIT IP35 PRO (bios 17)

 

i need to get dsdt.dsl,what i do wrong

sorry for my english

Link to comment
Share on other sites

Hi Koalala,

 

I used this patcher to generate DSDT.aml for my GA-EP45-UD3L (which uses ICH10 and ALC888). I got DSDT.aml without any error (attached). I need to edit it manually for the SL CMOS fix and when dropped it on iaslMe I get a DSDT.dsl file (attached) with info that ACPI table terminates in the middle of data structure? Thus left no option but to use other DSDT.aml generator. as I need to get CMOS reset fixed in my DSDT.aml

 

I have selected following in compilation with resulted in 0 error and 0 warning:

 

Ethernet: PEX 5, Graphics: PCI 0, Audio: ALC888-0 HDEF.

 

Problem is still unable to get sound from it. I tried all options advised in the How_to_patch_DSDT_with_LAN_and_HDEF_functions_including_LegacyHDA. Would anyone please help me out in getting the sound out of this motherboard. I simply need 2 speaker sound and not interested in 5.1 or 7.1. Any way can I get it?

 

One suggestion for Koalala, if you could incorporate CMOS fix in this patcher, that would be a great feature to have.

 

Update 21-Aug-2009

 

Hi Koalala and everyone,

 

As I mentioned earlier I was trying to enable sound in EP45-UD3L in SL using 64bit but failed. Tried every guide, even manually edited DSDT.aml using another patcher. However, today I did an experiment. The file generated by windows based program I copied into a folder in Mac. Made another copy of it, changed the name to DSDT.aml and draged it to E/E. Rebooted and as expected I faced a CMOS reset. OK again changed the BIOS settings, booted and checked the sound. Guess what........ Sound was there........ Checked the Profiler which detected my device correctly as ALC888. System Pref is also telling all the things... and I am getting sound....

 

I tried again to decompile the .aml file to edit it for CMOS rest. This time it decompiled it. I immediately put the CMOS rest values on two usual places and decompiled it to DSDT.aml, copied it to E/E. Reebooted and waaaaaaooooooooo. Now running without any issue.

 

During my research I was thinking why my mac based generators were not picking up my sound cards, so I did experimented with yours and now got it working.

 

Great package. Keep it up. PLEASE INCORPORATE CMOS FIX IN THIS PACKAGE THIS IS THE ONLY SHORTCOMING OF THIS PACKAGE.

pref1_aftersound.tiff

profiler_aftersound.tiff

Link to comment
Share on other sites

Koalala, Does your patcher extract from the running OS after it has been patched by a DSDT? I am about to try your patcher but have to setup windows. Can you extract the DSDT from a Live Linux Ubuntu CD with the cat /proc/ > DSDT.dat command?

 

I am trying the Ev0sXPatcher (DSDTSE) but not sure if that extracts a DSDT from an already patched Chameleon/Extra/DSDT.aml booted OSX?

 

Kinda confusing? I know you want to extract the DSDT from the OS and not from a BIO.rom file which I read on one fo the Chamelon threads because the DSDT will patch the BIOS after it boots correct me if I am wrong on all of this?

 

What would be kewl is to have an editor that would help you place the hacked DSDT sections into your main DSDT.dsl file?

 

Otheriwse you totaly loss if you have to load a script into the DSDT and have no idea where to put it? End of the DSDT? Middle? Etc etc.

Link to comment
Share on other sites

With this patcher I got fully working video with gForce 9600 GT. Thank a lot for that. ;)

 

Now, the last week I am trying to get soung from onboard ALC888, but no luck. Anytime I patch my DSDT and later decompile it and check it, there is no section "DEVICE (HDEF) at all!! Am I missing something here??? Can someone help me out here?? Koalala? ;)

 

Specs:

 

Mobo: MSI 945GCM5-F V2

 

AUDIO: onboard ALC888

Link to comment
Share on other sites

hello, I tried the acpi patcher beta05 but i get following error while exporting DSDT from BIOS

TableHeader length [0x43495041] greater than the input file size [0x7D8]

Could not get table from the file

As i could not figure out the cause, I am posting over here...

My motherboard link is Motherboard details

and my BIOS link is Bios

 

I would also like to know if its possible to get ALC662 and Realtek RTL8102E working via editing DSDT

Link to comment
Share on other sites

With this patcher I got fully working video with gForce 9600 GT. Thank a lot for that. :gun:

 

Now, the last week I am trying to get soung from onboard ALC888, but no luck. Anytime I patch my DSDT and later decompile it and check it, there is no section "DEVICE (HDEF) at all!! Am I missing something here??? Can someone help me out here?? Koalala? :hysterical:

 

Specs:

 

Mobo: MSI 945GCM5-F V2

 

AUDIO: onboard ALC888

You can safely add HDEF code manually in DSDT if it is not already there. You can compare with other dsdt to know where you can put the HDEF code.

 

P/S: For the expert; Is there any possibility to modify BIOS to enable VT? It is a notebook/laptop & the CPU has virtualization capability but it is turned off by default. No option in the BIOS & someone has contacted the manufacturer but they refused to release the BIOS that support VT. I just found one laptop that have VT enabled by default & that is BenQ S41. Why I want to enable VT? It is because my work require me to do a lot of simulation using virtual machine & it is very frustrated that my 17" laptop unable to support 64-bit guest OS.

 

kizwan

Link to comment
Share on other sites

You can safely add HDEF code manually in DSDT if it is not already there. You can compare with other dsdt to know where you can put the HDEF code.

 

P/S: For the expert; Is there any possibility to modify BIOS to enable VT? It is a notebook/laptop & the CPU has virtualization capability but it is turned off by default. No option in the BIOS & someone has contacted the manufacturer but they refused to release the BIOS that support VT. I just found one laptop that have VT enabled by default & that is BenQ S41. Why I want to enable VT? It is because my work require me to do a lot of simulation using virtual machine & it is very frustrated that my 17" laptop unable to support 64-bit guest OS.

 

kizwan

I was trying to copy some HDEF code and paste it to my DSDT.... all I was getting was a lot of errors. So how can i get my HDEF code and then compile it without errors? ?? thx for your help!!

Link to comment
Share on other sites

I was trying to copy some HDEF code and paste it to my DSDT.... all I was getting was a lot of errors. So how can i get my HDEF code and then compile it without errors? ?? thx for your help!!

Post here the original DSDT, DSDT with HDEF & the error you encountered during compilation.

Link to comment
Share on other sites

Post here the original DSDT, DSDT with HDEF & the error you encountered during compilation.

 

HDEF ( am not sure if it is ok )

 

Device (HDEF)

{

Name (_ADR, 0x001B0000)

Method (_PRW, 0, NotSerialized)

{

Return (Package (0x02)

{

0x0D,

0x05

})

}

 

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x0C)

{

"codec-id",

Buffer (0x04)

{

0x88, 0x08, 0xEC, 0x10

},

 

"layout-id",

Buffer (0x04)

{

0x78, 0x03, 0x00, 0x00

},

 

"device-type",

Buffer (0x07)

{

"ALC888"

},

 

"PinConfigurations",

Buffer (0x28)

{

/* 0000 */ 0x50, 0x41, 0x01, 0x01, 0x50, 0x40, 0x21, 0x02,

/* 0008 */ 0x30, 0x01, 0x10, 0x90, 0x20, 0x60, 0x01, 0x01,

/* 0010 */ 0x70, 0x20, 0x01, 0x01, 0xA0, 0x90, 0xA1, 0x02,

/* 0018 */ 0x10, 0x30, 0x81, 0x01, 0x40, 0x90, 0xA1, 0x01,

/* 0020 */ 0x60, 0x61, 0x4B, 0x01, 0xF0, 0x01, 0xCB, 0x01

},

 

"reg",

Buffer (0x28)

{

/* 0000 */ 0x00, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0xD8, 0x00, 0x02,

/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00

},

 

"platformFamily",

Buffer (One)

{

0x00

}

}, Local0)

DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

Return (Local0)

}

}

 

 

errors:

 

 

CPI Error (nsaccess-0530): ACPI path has too many parent prefixes (^) - reached beyond root node [20080926]

ACPI Error (nsaccess-0530): ACPI path has too many parent prefixes (^) - reached beyond root node [20080926]

ACPI Warning (nsaccess-0730): NsLookup: Type mismatch on GPBS (Integer), searching for (Method) [20080926]

ACPI Warning (nsaccess-0730): NsLookup: Type mismatch on _HID (Integer), searching for (Method) [20080926]

 

Maximum error count (200) exceeded

/Users/spoom/Desktop/patched.dsl 1203: Device (HDEF)

Error 4095 - ^ syntax error, unexpected PARSEOP_DEVICE, expecting '{'

 

/Users/spoom/Desktop/patched.dsl 1263: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

Error 4063 - Object does not exist ^ (DTGP)

 

/Users/spoom/Desktop/patched.dsl 1268: {

Error 4095 - ^ syntax error, unexpected '{'

 

/Users/spoom/Desktop/patched.dsl 1271: Method (^BN00, 0, NotSerialized)

Error 4014 - From ACPI CA Subsystem ^ (AE_NOT_FOUND Failure from lookup %s

)

 

/Users/spoom/Desktop/patched.dsl 1271: Method (^BN00, 0, NotSerialized)

Error 4064 - Object not found or not accessible from scope ^ (^BN00)

 

/Users/spoom/Desktop/patched.dsl 1276: Method (_BBN, 0, NotSerialized)

Error 4063 - Object does not exist ^ (_BBN)

 

/Users/spoom/Desktop/patched.dsl 1278: Return (BN00 ())

Error 4063 - Object does not exist ^ (BN00)

 

/Users/spoom/Desktop/patched.dsl 1281: Name (_UID, Zero)

Error 4063 - Object does not exist ^ (_UID)

 

/Users/spoom/Desktop/patched.dsl 1282: Method (_PRT, 0, NotSerialized)

Error 4063 - Object does not exist ^ (_PRT)

 

/Users/spoom/Desktop/patched.dsl 1286: Return (AR00)

Error 4063 - Object does not exist ^ (AR00)

 

/Users/spoom/Desktop/patched.dsl 1289: Return (PR00)

Error 4063 - Object does not exist ^ (PR00)

 

/Users/spoom/Desktop/patched.dsl 1292: Method (USXD, 0, NotSerialized)

Error 4063 - Object does not exist ^ (USXD)

 

/Users/spoom/Desktop/patched.dsl 1304: Name (_CID, EisaId ("PNP0A03"))

Error 4063 - Object does not exist ^ (_CID)

 

/Users/spoom/Desktop/patched.dsl 1305: Device (MCH)

Error 4063 - Object does not exist ^ (MCH_)

 

/Users/spoom/Desktop/patched.dsl 1308: Name (_UID, 0x0A)

Error 4063 - Object does not exist ^ (_UID)

 

/Users/spoom/Desktop/patched.dsl 1309: Name (_CRS, ResourceTemplate ()

Error 4063 - Object does not exist ^ (_CRS)

 

 

Cant upload file: Upload failed. You are not permitted to upload this type of file

Link to comment
Share on other sites

Version 0.2 will be published in a few days :

Added :

-Report Warnings and Errors

-Possibility to force compilation

-Stop on warning function working

-Autofix some warnings and errors

-Possibility to use extracted DSDT instead of BIOS in source

 

Please report compatibility bugs for 0.1 and post non compatible BIOS here please.

 

When I do a D/C DSDT with Patch Box checkt.

I get a Warning:

 

################################################

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20081204 [Dec 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

dsdt.dsl 223: Method (_WAK, 1, NotSerialized)

Warning 1080 - ^ Reserved method must return a value (_WAK)

 

ASL Input: dsdt.dsl - 5589 lines, 185261 bytes, 2326 keywords

AML Output: dsdt.aml - 17989 bytes, 661 named objects, 1665 executable opcodes

 

Compilation complete. 0 Errors, 1 Warnings, 0 Remarks, 31 Optimizations

########################################################

 

The cmpdsdt.aml is 18 kb big. I did decompile it to check if patches been applied.

They dont! :wacko:

 

Any Idea?

Link to comment
Share on other sites

Hi guys!

Firts of all really big thanks to Koalala for this utility.

Sorry my noob question and also bad english... I have some problems with patching bios and generating proper dsdt.aml

 

I use Gigabyte EP45-DS3P mobo with F8 bios. In General tab i selected HPET, RTC & Aliases Patches, and all fixes after pressing "Fixes" button.

In Network tab i selected LAN, PEX4 and Fix GP9; Graphics - nVidia GeForce 9800GTX (but i have GTX+ on G92 chip) 512Mb, nVCAP = DUAL DVI+TV/HC12 and "use DSDT GFX"; Audio is Realtek ALC889a with Use HDEF Audio selected

 

Here is log of ACPI Patcher 0.2 Beta 5

[ACPI] ROM is extracted to acpi.xtr

Intel ACPI Component Architecture

AML Disassembler version 20081204 [Dec 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

 

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20081204 [Dec 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

dsdt.dsl 3052: Return (0x01)

Warning 1099 - Statement is unreachable ^

 

dsdt.dsl 3185: If (LEqual (Arg2, 0x03))

Warning 1099 - Statement is unreachable ^

 

ASL Input: dsdt.dsl - 4899 lines, 154456 bytes, 1790 keywords

AML Output: dsdt.aml - 14833 bytes, 536 named objects, 1254 executable opcodes

 

Compilation complete. 0 Errors, 2 Warnings, 0 Remarks, 553 Optimizations

Adding ACPITBL.BIN 40.9%

 

Hope somebody can help me with this to make a proper DSDT.aml. Now a'm runnig SL without DSDT and every reboot BIOS drops to defaults... Video get working with EFI string in com.apple.Boot.plist

 

Also, maybe it helps... Registry Explorer shows this values:

for ethernet (a have 2 interfaces) PEX4@1C,4 and PEX4@1C,5

for video PCI0@0

for audio i can't see values cause seems i killed this section after installing driver for my ESI Juli@ (it doesn't working anyway)

ep45ds3p.zip

Link to comment
Share on other sites

I cannot get this program to work at all. When I attempt to generate DSDT.dsl from my BIOS .bin file, I get an error regarding the output location being read only. Using an existing DSDT file simply results in a Windows error stating that DSDT.aml doesn't exist in the program's directory....what do I do here?

Link to comment
Share on other sites

I cannot get this program to work at all. When I attempt to generate DSDT.dsl from my BIOS .bin file, I get an error regarding the output location being read only. Using an existing DSDT file simply results in a Windows error stating that DSDT.aml doesn't exist in the program's directory....what do I do here?

 

Hi,,sorry my English,,rename file xxx.dsl by iasl.dsl and extract it to other directory,for me it is functional..thanks for all ,,again sorry my english,understand something things,,but I have to learn more English,,

Link to comment
Share on other sites

Seems i've got it sorted! Just ignored 2 warnings while making dsdt.aml, then with iaslMe utility decrypted it and fix cmos resets by editing dsdt file:

Device (RTC)
 {
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
   IO (Decode16,
   0x0070,			 // Range Minimum
   0x0070,			 // Range Maximum
   0x00,			   // Alignment
   0x02,			   // Length (default value is 0x04)
   )
 })
 }

 

Today i'll try to add LAN and HDEF fixes to my dsdt. Kizwan, thanks again for the tip! :(

 

offtop: now SL runs with my fixed dsdt without any KP's, but a have some minor light freezez for about a second or less in aol aim program... that can cause this?

Link to comment
Share on other sites

Thanks for your nice ACPI patcher

 

I work on AM2NF3-VSTA, AMD processor AMI bios

 

I found some problems:

1) I try to start from BIOS file (AMI) using backup tool from AMI

and I try to patch it to introduce video board GeForce 7600GS

I get a first message: No DSDT found in ACPI table

can't find Patcher02Beta4\dsdt.dsl

... I press OK

then a second message says

DSDT.aml disappear from folder Patcher02Beta4\

what Did I wrong ?

 

2) I take now the DSDT.aml file generated at chameleon install

and try to do the same: introduce video board GeForce 7600GS

I put DSDT.aml in a folder named start

I launch the patcher

and DSDT.aml disappears from this folder so patcher stops

saying that the file is missing

What can I do ?

 

Thanks

 

Leon

Link to comment
Share on other sites

Hope somebody can help me with this to make a proper DSDT.aml. Now a'm runnig SL without DSDT and every reboot BIOS drops to defaults... Video get working with EFI string in com.apple.Boot.plist

 

Also, maybe it helps... Registry Explorer shows this values:

for ethernet (a have 2 interfaces) PEX4@1C,4 and PEX4@1C,5

for video PCI0@0

for audio i can't see values cause seems i killed this section after installing driver for my ESI Juli@ (it doesn't working anyway)

ep45ds3p.zip

 

Hello,

 

Thank you for your effects and great work.

Question: I have the same mobo and downloaded the above file and it appears to be a bios firmware file? Am I meant to install this via Bios flash utility?

 

 

Seems i've got it sorted! Just ignored 2 warnings while making dsdt.aml

 

Today i'll try to add LAN and HDEF fixes to my dsdt. Kizwan, thanks again for the tip! :(

 

offtop: now SL runs with my fixed dsdt without any KP's, but a have some minor light freezez for about a second or less in aol aim program... that can cause this?

 

Are you able to post your latest dsdt.aml file please for EP45-DS3P

I would love to test this as all the ones I try to make fail to work.

 

Please forgive my ignorance

 

 

Kind regards

Link to comment
Share on other sites

Hello,

 

Thank you for your effects and great work.

Question: I have the same mobo and downloaded the above file and it appears to be a bios firmware file? Am I meant to install this via Bios flash utility?

 

 

 

 

Are you able to post your latest dsdt.aml file please for EP45-DS3P

I would love to test this as all the ones I try to make fail to work.

 

Please forgive my ignorance

 

 

Kind regards

 

Hi, irontony

 

Those file is bios rom, yes. But you don't need to install them! (it's for extracting dsdt from it) I'm currently use F9b BIOS you can download it from gigabyte site and flash via Q-Flash or @BIOS windows utility.

 

I upload my dsdt file and some useful kexts, hope it will work for you.

For you video try Aquamac's EFI Strings method it's working for me.

And one more thing, i didn't use onboard sound, so i can't tell how it works...

 

dsdt.aml.zip only dsdt file

Link to comment
Share on other sites

Hi, irontony

 

Those file is bios rom, yes. But you don't need to install them! (it's for extracting dsdt from it) I'm currently use F9b BIOS you can download it from gigabyte site and flash via Q-Flash or @BIOS windows utility.

 

I upload my dsdt file and some useful kexts, hope it will work for you.

For you video try Aquamac's EFI Strings method it's working for me.

And one more thing, i didn't use onboard sound, so i can't tell how it works...

 

dsdt.aml.zip only dsdt file

 

Thank you that is fantastic.

 

Yay firewire is finally working with your dsdt and no more UUID errors.

Im still trying to get either a LegacyHDA or EnableHDA to work with 889a Sound

(Before I had sound working with lifehackers dsdt file that had audio hardcoded)

Graphics works with boot strings.

 

I also upgraded bios to F9c and boot, reboot and shutdown is much faster.

 

Looks like I will not have to buy a new motherboard =)

Link to comment
Share on other sites

Thank you that is fantastic.

 

Yay firewire is finally working with your dsdt and no more UUID errors.

Im still trying to get either a LegacyHDA or EnableHDA to work with 889a Sound

(Before I had sound working with lifehackers dsdt file that had audio hardcoded)

Graphics works with boot strings.

 

I also upgraded bios to F9b and boot, reboot and shutdown is much faster.

 

Looks like I will not have to buy a new motherboard =)

 

Nice to hear that it's works for you :(

With audio you can try this guide (needs iaslme utility to decompile dsdt.aml to a dsdt.dsl file for editing and then compile in dsdt.aml again to using it with bootloader)

 

upd: updated to F9c BIOS, so i'll try to make new dsdt with audio supported.

upd2: working dsdt with networking, audio (including patched AppleHDA.kext in archive), CMOS reset, SATA & EHCI USB fixes

dsdt_for_EP45_DS3P__F9c__with_audio.zip

Link to comment
Share on other sites

Nice to hear that it's works for you :)

With audio you can try this guide (needs iaslme utility to decompile dsdt.aml to a dsdt.dsl file for editing and then compile in dsdt.aml again to using it with bootloader)

 

upd: updated to F9c BIOS, so i'll try to make new dsdt with audio supported.

upd2: working dsdt with networking, audio (including patched AppleHDA.kext in archive), CMOS reset, SATA & EHCI USB fixes

dsdt_for_EP45_DS3P__F9c__with_audio.zip

 

Woohoo wow that was so fast, thank you very much.

I'll test the new one with audio support later tonight

Link to comment
Share on other sites

 Share

×
×
  • Create New...