Jump to content

ACPI (DSDT) Patcher for BIOS and AML


koalala
 Share

845 posts in this topic

Recommended Posts

Hey koalala, nice work! I did "hand" patching, to add GFX (7950GT 512MB) and SFX (ALC889A), but i got same beep problem on my Gigabyte EP35C-DS3R.

 

If you got any solution, would like to know about it too... :censored2:

 

Thanks for great work.

 

stickpin.

 

Hi stickpin !

I to have that 889A on GAEP35-DS3 (no R)

Can you upload(zipped) your dsdl.dsl , generated with that new win app ? ( the readable fromat for editing+recompiling please, not the small hex format .aml) ?

Thanks

Link to comment
Share on other sites

After a few days with no answer. I'm back.

So, it's very surprising for a Dual-BIOS motherboard since one of them is not erased. But a lot of people seems to have a double BEEP problem and overclock issue, isn't it ?

For your problem, it may have delete ACPI table in patched BIOS but I can't understand if you don't send me the Patched BIOS and the Original one (or the original one with your settings). In all case, if you Dual BIOS card don't post anymore it may be a hardware problem (corrupted EEPROM ?).

 

------

 

I advice you to use : BIOS extract function -> Compile to DSDT.aml with D/C function -> DSDT.aml patching.

You can also use "iasl -g" as administrator on the concerned PC and then use DSDT.aml patching.

Then use DSDT override from PCEFI v9.

 

If your patched BIOS is perfectly working you can continue to use it (all my PC's have one).

 

For the others, I would advice you to not use patcher for BIOS patching until some tests are made. I need some betatester and some of them with a double beep problem or overclock issue.

 

I'm scared that if you delete the ACPI table in the Bios, my pc won't boot, because ACPI links hard with bios...

You're the expert, and i would like to ear your explanation about, overclock and beep / boot delay, problem.

 

My mobo it's Gigabyte EP35-DS4 REV 1,1. I posted the file with two bios flavours (patched P35DS4(STD+GFX+LAN).14 and not pached P35DS4.14c)

 

 

http://forum.insanelymac.com/index.php?act...st&id=41660

 

Plase change the extension from ZIP to RAR (the forum changed it :S)

Link to comment
Share on other sites

I want to improve all functions before :

Next version will be 0.2.0 and will include :

-AMI BIOS support

-NVCAP (Dual-DVI,DVI+VGA,TV-OUT) selecter

 

Three cheers for AMI BIOS support!

I've tried extracting the DSDT data from my BIOS.ROM file with amitools and winhex and decompiling it with iasl (following a tutorial somewhere in the P45 chipset thread), and it decompiles fine, but after patching (both with your tool and fassl's DSDT Patcher under OSX) iasl refuses to compile it again (+200 errors). So I hope this situation will improve when your patcher can work with the BIOS.ROM directly (assuming that's what you mean).

 

About the NVCAP, could you please include a way to set a custom NVCAP value?

 

Great tool, great options.

Link to comment
Share on other sites

I'm scared that if you delete the ACPI table in the Bios, my pc won't boot, because ACPI links hard with bios...

You're the expert, and i would like to ear your explanation about, overclock and beep / boot delay, problem.

 

My mobo it's Gigabyte EP35-DS4 REV 1,1. I posted the file with two bios flavours (patched P35DS4(STD+GFX+LAN).14 and not pached P35DS4.14c)

 

 

http://forum.insanelymac.com/index.php?act...st&id=41660

 

Plase change the extension from ZIP to RAR (the forum changed it :S)

Your patched BIOS should work since it's correctly patched.

But something isn't clear, have you an EP35-DS4 or a P35-DS4 ?

 

DukeRaoul explanation seems to be the good one.

The overclock issue / double beep seems to be linked with Dual BIOS / or Virtual Dual BIOS from Gigabyte.

It's much safer to patch single BIOSes mainboard apparently.

Mainboard consider patched BIOS as faultly and that's why it load recovery BIOS and/or reset FSB (that's why overclock is not possible), but DSDT keep loaded.

It may be a problem with the fact that 2 bios are not the same or with checksum value.

Since AMI BIOS work differently, this issue will not happened on AMI mainboard.

 

crazybite, I think that for your mainboard it's a hardware fault since Gigayte auto-resetting CMOS seems buggy on some Gigabyte card (eg. 965P-DS3 cold boot problem). Try recovery solutions for BIOS with floppy (not sure it will change anything) or RMA the mainboard, (if no led working and no fan, I've got the same problem on 965P-DS3 one year ago with original BIOS updating and I RMA the mainboard).

Link to comment
Share on other sites

Your patched BIOS should work since it's correctly patched.

But something isn't clear, have you an EP35-DS4 or a P35-DS4 ?

 

DukeRaoul explanation seems to be the good one.

The overclock issue / double beep seems to be linked with Dual BIOS / or Virtual Dual BIOS from Gigabyte.

It's much safer to patch single BIOSes mainboard apparently.

Mainboard consider patched BIOS as faultly and that's why it load recovery BIOS and/or reset FSB (that's why overclock is not possible), but DSDT keep loaded.

It may be a problem with the fact that 2 bios are not the same or with checksum value.

Since AMI BIOS work differently, this issue will not happened on AMI mainboard.

 

crazybite, I think that for your mainboard it's a hardware fault since Gigayte auto-resetting CMOS seems buggy on some Gigabyte card (eg. 965P-DS3 cold boot problem). Try recovery solutions for BIOS with floppy (not sure it will change anything) or RMA the mainboard, (if no led working and no fan, I've got the same problem on 965P-DS3 one year ago with original BIOS updating and I RMA the mainboard).

 

Koala, but my mobo works great with non patched lastest beta bios! I only have three problems with patched bios.

 

Double Beep that you said that its linked with double-bios feature, boot delay because the double beep, and overclocking inestability. But if i set the patched bios to default it post perfect despite of the 3 mentioned problems..

Link to comment
Share on other sites

Hi everybody,

0.2 Beta is out and include :

-Partial AMI BIOS support (don't use GFX or Network to prevent overflow and not booting) : HPET, RTC and Aliases (=CPU Cores)

(Working with almost all AMI BIOS but not very recent laptop one like MSI Wind for the moment.)

-You can extract DSDT.dsl from AMI BIOS now

-MUTE fix

-Dual-DVI, DVI+VGA, TV-OUT ... nVCAP selecter

-Graphics hardware location selecter, 7950GT added

-P0P added for network hardware location

-Bug fixes

 

Please test and report.

There is less update now since I've a lot of work.

Link to comment
Share on other sites

Thanks koalala, the new version works!

 

Best use for my XP install in Parallels so far :thumbsdown_anim:

 

I'm getting a bunch of warnings - does the MUTE ones mean that I should apply the MUTE fix?

 

I've attached the BIOS (unmodified) and here's the output if you want to investigate:

 

0 Warning, 0 Error occurred.
Done.

Intel ACPI Component Architecture
AML Disassembler version 20081204 [Dec  4 2008]
Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a


Intel ACPI Component Architecture
ASL Optimizing Compiler version 20081204 [Dec  4 2008]
Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a

dsdt.dsl  2727:							 Name (_T_0, Zero)
Remark   5110 -		Use of compiler reserved name ^  (_T_0)

dsdt.dsl  2809:							 Name (_T_0, Zero)
Remark   5110 -		Use of compiler reserved name ^  (_T_0)

dsdt.dsl  2857:							 Name (_T_0, Zero)
Remark   5110 -		Use of compiler reserved name ^  (_T_0)

dsdt.dsl  2923:							 Name (_T_0, Zero)
Remark   5110 -		Use of compiler reserved name ^  (_T_0)

dsdt.dsl  2993:							 Name (_T_0, Zero)
Remark   5110 -		Use of compiler reserved name ^  (_T_0)

dsdt.dsl  5717:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  5733:				 Name (_T_0, Zero)
Remark   5110 -						  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  5825:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  5924:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  6419:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  6462:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  6546:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  6560:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  6679:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  6749:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  6840:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  6854:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  6981:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  7051:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  7055:				 Name (_T_1, Zero)
Remark   5110 -						  ^ Use of compiler reserved name (_T_1)

dsdt.dsl  7293:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  7356:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  7524:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  7557:					 Name (_T_1, Zero)
Remark   5110 -							  ^ Use of compiler reserved name (_T_1)

dsdt.dsl  7598:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  7654:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  7824:			 Name (_T_0, Zero)
Remark   5110 -					  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  7852:				 Name (_T_0, Zero)
Remark   5110 -						  ^ Use of compiler reserved name (_T_0)

dsdt.dsl  7905:					 Name (_T_1, Zero)
Remark   5110 -							  ^ Use of compiler reserved name (_T_1)

dsdt.dsl  8531:			 Acquire (MUTE, 0x03E8)
Warning  1104 -								 ^ Possible operator timeout is ignored

dsdt.dsl  8545:			 Acquire (MUTE, 0x03E8)
Warning  1104 -								 ^ Possible operator timeout is ignored

dsdt.dsl  8560:			 Acquire (MUTE, 0x03E8)
Warning  1104 -								 ^ Possible operator timeout is ignored

dsdt.dsl  8575:			 Acquire (MUTE, 0x0FFF)
Warning  1104 -								 ^ Possible operator timeout is ignored

dsdt.dsl  8589:			 Acquire (MUTE, 0x03E8)
Warning  1104 -								 ^ Possible operator timeout is ignored

dsdt.dsl  8604:			 Acquire (MUTE, 0x03E8)
Warning  1104 -								 ^ Possible operator timeout is ignored

dsdt.dsl  8619:			 Acquire (MUTE, 0x03E8)
Warning  1104 -								 ^ Possible operator timeout is ignored

dsdt.dsl  9571:		 Method (VGET, 1, NotSerialized)
Warning  1087 -					^ Not all control paths return a value (VGET)

dsdt.dsl  9616:		 Method (TGET, 1, NotSerialized)
Warning  1087 -					^ Not all control paths return a value (TGET)

dsdt.dsl  9678:		 Method (FGET, 1, NotSerialized)
Warning  1087 -					^ Not all control paths return a value (FGET)

dsdt.dsl  9714:			 Store (VGET (Local0), Local1)
Warning  1092 -					   ^ Called method may not always return a value

dsdt.dsl  9756:			 Store (TGET (Local0), Local1)
Warning  1092 -					   ^ Called method may not always return a value

dsdt.dsl  9789:			 Store (FGET (Local0), Local1)
Warning  1092 -					   ^ Called method may not always return a value

dsdt.dsl 10038:				 Name (_T_0, Zero)
Remark   5110 -						  ^ Use of compiler reserved name (_T_0)

dsdt.dsl 10106:										 ShiftRight (BUF2, 0x04)
Warning  1105 -			 Result is not used, operator has no effect ^ 

dsdt.dsl 10174:					 Name (_T_1, Zero)
Remark   5110 -							  ^ Use of compiler reserved name (_T_1)

ASL Input:  dsdt.dsl - 10278 lines, 332143 bytes, 4839 keywords
AML Output: dsdt.aml - 38495 bytes, 997 named objects, 3842 executable opcodes

Compilation complete. 0 Errors, 14 Warnings, 31 Remarks, 69 Optimizations

FATAL ERROR: File does not exist.

I repeat...the attached file is a clean, unmodified, original, non-fixed or patched BIOS, straight from ASUS.

P5Q_E_ASUS_1703.ROM.zip

Link to comment
Share on other sites

Yes, you should use MUTE fix, but the last line isn't normal. It means that the patcher stopped because of overflow error (the patcher stops itself else it will be a lot of bricked mainboard). With AMI BIOS, don't use GFX or Network patch (no DGPT fix neither).

 

You'll have 7 warnings and 31 remarks after fixing mute.

Link to comment
Share on other sites

I patched again with MUTE fix selected and the MUTE warnings are gone (thanks for the tip!) I'm going to try a reboot now, fingers crossed! lol

 

The rest of the output is exactly the same as before.

 

About the FATAL ERROR - am I right in guessing that it doesn't have anything to do with the generated dsdt.aml?

 

It's about the patched .ROM file right? I'm not going to use that anyway.

 

If that can brick a mainboard ;) it would probably be a good idea if the patcher didn't generate patched bios.ROM when hitting a "FATAL ERROR"!

Link to comment
Share on other sites

Hello i dont know anything about dsdt, but i have been reading a while and i want to test it

right now i have 10.5.5 installed from iatkos 5i dsdt.aml is alredy in place but i would like my nvidia 7800 gt work out of the box right now is running nvdarwin 1.2.5 and works ok, also i have another problem if i update to 10.5.6 everything works ok but time machine send an error thats why i am back to 10.5.5

 

so this tool can help me

i have

Intel DP35DP

thanks

sorry for my english

Link to comment
Share on other sites

If that can brick a mainboard :( it would probably be a good idea if the patcher didn't generate patched bios.ROM when hitting a "FATAL ERROR"!

 

Yes, you're right, but the "patched" ROM, is the original one when FATAL ERROR appeared. It would be better if no file were generated.

If the generated ROM isn't not working, tell me and use the attachement (manually patched). Since a lot of AMI BIOS are different it's difficult to create a general patching program. If it's working, you can keep the generated BIOS.

EDIT: since you will use DSDT.aml, it's not a problem, and yes, FATAL ERROR is when replacing module into BIOS.

 

Hello i dont know anything about dsdt, but i have been reading a while and i want to test it

right now i have 10.5.5 installed from iatkos 5i dsdt.aml is alredy in place but i would like my nvidia 7800 gt work out of the box right now is running nvdarwin 1.2.5 and works ok, also i have another problem if i update to 10.5.6 everything works ok but time machine send an error thats why i am back to 10.5.5

 

so this tool can help me

i have

Intel DP35DP

thanks

sorry for my english

 

You can test it. I advice you to use DSDT.aml first generated with this program and then to patch the BIOS if it's working.

For TimeMachine, use ioreg to find you ethernet adapter location and your graphic card one.

P5Q_E_ASUS_1703patched.zip

Link to comment
Share on other sites

With AMI BIOS, don't use GFX or Network patch (no DGPT fix neither).

 

That means I cannot use a hand modded dsdt (with GFX/network, etc) to patch a BIOS.rom neither? or only apply when the patches are made with the patcher itself?

Thanks for your amazing work!

Link to comment
Share on other sites

Hi

my video Asus 7300gt 256 mb DVI+VGA+TV

I have not found the patcher 0.2

sorry for my english.

Have you set the right hardware location (default in 0.1.8 was PCI0) ?

Try using DVI+VGA+TV / HC12 since it's the most compatible.

 

That means I cannot use a hand modded dsdt (with GFX/network, etc) to patch a BIOS.rom neither? or only apply when the patches are made with the patcher itself?

Thanks for your amazing work!

For the moment, there is a problem when you use a larger DSDT. You could patch graphics and network if the DSDT wasn't larger. You can remove some unused section if you want.

If you don't have overflow message box you're right.

It's not recommended to test 0.2 Beta on laptop until you have a crash recovery function.

Link to comment
Share on other sites

Have you set the right hardware location (default in 0.1.8 was PCI0) ?

Try using DVI+VGA+TV / HC12 since it's the most compatible.

 

 

For the moment, there is a problem when you use a larger DSDT. You could patch graphics and network if the DSDT wasn't larger. You can remove some unused section if you want.

If you don't have overflow message box you're right.

It's not recommended to test 0.2 Beta on laptop until you have a crash recovery function.

 

Thanks

 

Try using DVI+VGA+TV / HC12 since it's the most compatible.

I have not found

DUAL DVI+TV / HC12 ?

Link to comment
Share on other sites

koalala

can you please tell me how to use the tool

do i need to run it on my windows partition generate the DSDT.aml and after that test it on OSx86

 

i have found my ethernet card and my nvidia card with ioresgistry but now what ?

 

sorry is kind of complicated

 

thanks

Link to comment
Share on other sites

koalala

can you please tell me how to use the tool

do i need to run it on my windows partition generate the DSDT.aml and after that test it on OSx86

 

i have found my ethernet card and my nvidia card with ioresgistry but now what ?

 

sorry is kind of complicated

 

thanks

For Ethernet and GFX Card, write their location on a sheet of paper (like P0P2 or PCI0 ...)

You need to install it on a your PC.

Download iASL here : http://www.acpica.org/downloads/binary_tools.php

Extract iasl.exe

Run as administrator "iasl -g" in a command prompt.

Now you have extracted your DSDT, just patch it with the patcher.

 

This is a little more complicated since your BIOS is not AMI and not Award.

Link to comment
Share on other sites

For Ethernet and GFX Card, write their location on a sheet of paper (like P0P2 or PCI0 ...)

You need to install it on a your PC.

Download iASL here : http://www.acpica.org/downloads/binary_tools.php

Extract iasl.exe

Run as administrator "iasl -g" in a command prompt.

Now you have extracted your DSDT, just patch it with the patcher.

 

This is a little more complicated since your BIOS is not AMI and not Award.

 

 

Ok no make more sense

so i extract DSDT.aml with this tool then put the hardware location for gfx and eth and patch then test on osx86

 

let me try thanks

 

yes you are right cause my bios is not of those types patch fail and the application close

how can i add manually my gfx and ethernet to my intel bios dsdt

Link to comment
Share on other sites

koalala. I patched my DSDT.aml with your patcher and decompiled it to see what`s inside :) . At first I used ver. 0.1.8. There patch for GFX didn`t help me and I haven`t been able to use network patch since my internal realtek was located at pop6. I hoped that the new version will help me, but to no good. I applied GFX patch to pop2 (looked specially where video is located when using EFI) and network to pop6. Unfortunately, GFX did not work again and I still got error 35, which I hoped to get rid of.

 

I don`t know what to do with video, but I managed to fix network. I edited DSDT table myself using method from here: http://forum.insanelymac.com/index.php?showtopic=140085.

 

As I looked through DSDT patched by your little tool, I noticed that you add network as Device(LAN) and in the method above Device(GIGE) is used. In both ways my ethernet Realtek RTL8168 is displayed like en0 in system properties, but, when using Device(GIGE), I haven`t found error 35 even in the system log.

 

Pls consider thinking about that and explain me (fool in DSDT :P ) how to make my GFX work.

I`ve already mentioned my network adapter (it`s internal in motherboard MSI G31M-F). My videocard is GeForce 8800 GT with 512 Mb onboard)

 

Thanks in advance! :D

Link to comment
Share on other sites

I will restore the 2 fixes, since GIGE don't gave errors, but isn't always recognized as en0.

You can use older 0.1.3 and 0.1.4 patcher for GIGE network.

For GFX it's surprising, could you post your patched DSDT.aml please (and an IOREG if possible).

Link to comment
Share on other sites

koalala

 

Can you share only base patcher files without installer? I have a trouble with it installation.

I have installed net framework 3.5, but the installer trying install it again without success :) .

Link to comment
Share on other sites

koalala

 

Can you share only base patcher files without installer? I have a trouble with it installation.

I have installed net framework 3.5, but the installer trying install it again without success :) .

 

If u are running vista be sure to run the setup file as Administrator...

Link to comment
Share on other sites

 Share

×
×
  • Create New...