Jump to content

ACPI (DSDT) Patcher for BIOS and AML


  • Please log in to reply
843 replies to this topic

#481
vani

vani

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
  • Interests:Vanilla!
Did you add any specific patch for the NVidia shutdown issue? Because using a DSDT patched with this tool, the computer now powers down properly, which it never did before... awesome!

Please add more descriptions inside the tool itself, e.g., what does "PEGP" mean, when should I use GIGE, how do I find out about ALC888-0 vs. -2, etc. Just add some more text or tooltips please.

#482
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
Part of the answers to your questions can be found in the first post and around the thread.
I know from experience that reading a full 25 page thread is not good for your health so here's what I've gathered so far:

The GIGE patch only works on AWARD BIOS - use LAN0 fix for AMI BIOS.
(that doesn't mean that you can't use GIGE in your DSDT if you have AMI bios - it means that you can't use Koalala's patcher to add it).
Also I saw something about GIGE only being useful if your network is running with unpatched (aka Vanilla) kernel extensions already.

TMFix is Time Machine fix, AFAIK all it does is set your LAN as internal, Time Machine and Maya won't work if the OS doesn't find an 'internal' Network adapter at EN0. In other words, TMFix does exactly the same thing that adding a LAN device property string in com.apple.boot.plist does.

Off topic: Since RC2 of the Chameleon bootloader, you can also achieve the same thing with by setting BuiltInEthernet=y in /Extra/com.apple.Boot.plist.

PEGP is a mysterious option that adds some extra stuff ("creates a device") in your DSDT when inserting the data for your video card.
It's needed on some motherboards, on others the patch works without it. So try both and see what happens.

Off topic: If you're patching HDA audio in the DSDT in order to replace HDAEnabler.kext, or inserting device IDs, the PEGP method must be present.

If you have AMI BIOS, don't be surprised if nothing works! But please leave feedback for koalala.

If you have patched LAN and video and are using EFI device-property strings for Video and/or LAN in com.apple.Boot.plist, don't forget to remove them before booting with your patched DSDT.aml.

Koalala has stated that there is nothing in the patcher that specifically targets restart/shutdown issues.
I've seen posts by people saying that using DSDT.aml broke their shutdown. I know it didn't fix mine!
So consider yourself lucky if it somehow fixed yours.

#483
pere

pere

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 726 posts

Part of the answers to your questions can be found in the first post and around the thread.
I know from experience that reading a full 25 page thread is not good for your health so here's what I've gathered so far:

GIGE only works on AWARD BIOS - use LAN0 fix for AMI BIOS.
Also I saw something about GIGE only being useful if your network is running with unpatched (aka Vanilla) kernel extensions already.
TMFix is Time Machine fix, AFAIK all it does is set your LAN as internal, Time Machine won't work if the OS doesn't find an 'internal' Network adapter at EN0. In other words, TMFix does exactly the same thing that adding a LAN device property string in com.apple.boot.plist does.
PEGP is a mysterious option that adds some extra stuff ("creates a device") in your DSDT when inserting the data for your video card.
It's needed on some motherboards, on others the patch works without it. So try both and see what happens.

If you have AMI BIOS, don't be surprised if nothing works! But please leave feedback for koalala.

If you have EFI device-property strings already for Video and/or LAN in com.apple.boot.plist, don't forget to remove them before booting with your patched DSDT.aml.

Koalala has stated that there is nothing in the patcher that specifically targets restart/shutdown issues.
I've seen posts by people saying that using DSDT.aml broke their shutdown. I know it didn't fix mine!
So consider yourself lucky that it somehow fixed yours.



Bro, i have add the dtgp loader code and a generic Nvidia injection code to your DSDT, please check the NVCAPS before compile to match the ones working for you.
The code has a generic name for the video card, if you plan to change to yours, you will have to recalculate the "buffer" on that entry to avoid compiling error. :(

Attached Files



#484
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
Thanks! :dance_24:

But there is trouble in paradise as usual.

Buffer size is the number of characters + one, is that right?

So, if I'm doing this right, for example "nVidia GeForce 9800 GTX/GTX+" is 28+1 = 0x1D.

But how do I calculate the buffer size for the NVCAP entry? I can't figure it out.

I want to change the 0x01 in yours to 0x00 (not sure if it's really necessary though).

Either way I can't get it to work (I left the NVCAP since I don't know how to calculate the buffer size) then I gave up trying to change the values and just compiled yours and that didn't work either.

NV50 driver gets loaded but no QE/CI and system profiler just says 'display' under the model name, 32MB VRAM and other wrong stuff.

I deleted the device property string in com.apple.boot.plist, did the editing in Xcode and compiled to .aml under Windows with koalala's ACPI Patcher (which didn't give any compiling errors so I must have done something right).
I've attached my modified dsl..

Attached Files



#485
pere

pere

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 726 posts

Thanks! :dance_24:

But there is trouble in paradise as usual.

Buffer size is the number of characters + one, is that right?

So, if I'm doing this right, for example "nVidia GeForce 9800 GTX/GTX+" is 28+1 = 0x1D.

But how do I calculate the buffer size for the NVCAP entry? I can't figure it out.

I want to change the 0x01 in yours to 0x00 (not sure if it's really necessary though).

Either way I can't get it to work (I left the NVCAP since I don't know how to calculate the buffer size) then I gave up trying to change the values and just compiled yours and that didn't work either.

NV50 driver gets loaded but no QE/CI and system profiler just says 'display' under the model name, 32MB VRAM and other wrong stuff.

I deleted the device property string in com.apple.boot.plist, did the editing in Xcode and compiled to .aml under Windows with koalala's ACPI Patcher (which didn't give any compiling errors so I must have done something right).
I've attached my modified dsl..


If you change the value on the Nvcaps you dont have to change the buffer.... you have to change it if you "add" extra values to it, but not when you modify.

Anyway... i will check if 9xxx models will need extra values on DSDT injection code.

#486
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
Yep, got it, I just found one for a 6800 GT with the same 0x01 changed to 0x00 hiding in this thread already, which also has 0x18 as checksum.

Thanks for checking.

Some info - I don't know if it's useful or not:

9800GTX/GTX+ works with vanilla kexts in 10.5.6 but is labelled "9800 GTX DDL" in System Profiler. OpenGL Extensions Viewer recognizes it correctly and shows "GeForce 9800GTX/GTX+ OpenGL engine". My device property string is the one that's built in to OSX86Tools for the card, if you want to look at it.

I've attached an ioreg dump of the P0P2 tree.
Attached File  ioreg.txt   7.67KB   31 downloads

#487
pere

pere

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 726 posts

Yep, got it, I just found one for a 6800 GT with the same 0x01 changed to 0x00 hiding in this thread already, which also has 0x18 as checksum.

Thanks for checking.

Some info - I don't know if it's useful or not:

9800GTX/GTX+ works with vanilla kexts in 10.5.6 but is labelled "9800 GTX DDL" in System Profiler. OpenGL Extensions Viewer recognizes it correctly and shows "GeForce 9800GTX/GTX+ OpenGL engine". My device property string is the one that's built in to OSX86Tools for the card, if you want to look at it.

I've attached an ioreg dump of the P0P2 tree.
Attached File  ioreg.txt   7.67KB   31 downloads


I have changed code on your _wak and checked the EFI string against the video DSDT code, lets see what happends now... :)

Attached Files



#488
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
No love! It does the same thing with your new DSDT.aml. Here's what it looks like in system profiler.
Attached File  System_Profiler.png   75.37KB   154 downloads

Your modifications in DSDT place the video card in PCI-E slot 1.
Actually the video card is in the second PCI-E slot on the board - but it's the first PCI-E 16-lane slot (System Profiler agrees :) )
Does it make any difference?
Don't know if it's useful but DMI info from ASUS Probe says the card is on "Bus Number 2, Device 20 Function 4".

P5Q-E layout from the manual:
Attached File  P5Q_E_slots.png   98.16KB   54 downloads

Some notes.
Before rebooting with my old DSDT and boot.plist back in, I tried sleep. The behaviour was different - it used to put the monitor in standby and appear to be frozen, but with the video not working (and your additional _WAK fix from DSDT still in memory) all it did was make the mouse pointer disappear until I moved the mouse again!
Shutdown was different too, instead of turning my monitor off it appeared to be frozen on "it's now safe to turn off your computer".
I guess this happened because the video card wasn't fully running.
Sleep/Shutdown issues maybe caused by ACPI and/or SMBIOS compatibility issues...

Thanks for sticking with me Pere, glad to learn more about this.

#489
Black Knight

Black Knight

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 287 posts
  • Gender:Male
  • Location:Charlotte, NC, USA
I mentioned a while back that I was trying to get my Radeon HD 3870 X2 to work using this method. I had said that the hardware location for it was PCE2 and that I didn't have any PEX or P0P entries in my IOReg. Is it just because the program doesn't have this option that is why it isn't working? I have tried using PCI0, PCI2, PEX2, etc. and none have worked. This is the same situation for my ethernet which is on PCE9. If it requires adding this option into the next beta of the patcher, I'd really appreciate it if it could be done.

Thanks.

#490
koalala

koalala

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 196 posts

I mentioned a while back that I was trying to get my Radeon HD 3870 X2 to work using this method. I had said that the hardware location for it was PCE2 and that I didn't have any PEX or P0P entries in my IOReg. Is it just because the program doesn't have this option that is why it isn't working? I have tried using PCI0, PCI2, PEX2, etc. and none have worked. This is the same situation for my ethernet which is on PCE9. If it requires adding this option into the next beta of the patcher, I'd really appreciate it if it could be done.

Thanks.

This is an editable combo box, you can write PCE in the box and it will work.

#491
evgenkur2008

evgenkur2008

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts
  • Gender:Male
KOALALA
Sorry for English! The problem is that my board GA-P35T-DQ6 works normally only with version 0.1.8 and other versions of the problem of exit from sleep and when the mark ALC889a, I can not make a sound! What should I do? If there is a solution, help!

#492
Black Knight

Black Knight

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 287 posts
  • Gender:Male
  • Location:Charlotte, NC, USA

This is an editable combo box, you can write PCE in the box and it will work.


I keep forgetting that those boxes are editable. I'll try that and let you know if it changes anything.

Thanks.

#493
Black Knight

Black Knight

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 287 posts
  • Gender:Male
  • Location:Charlotte, NC, USA
Ok, so I get it to show GFX0 under the PCE2 section of IORegistryExplorer, but it doesn't seem to be loading the framebuffer. Without the framebuffer, I only get a garbled screen (same thing as when I don't use the efi string). Any ideas?

#494
koalala

koalala

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 196 posts
?? There isn't any difference between Beta 4 and Beta 5 for DSDT.aml patching and ACPI from BIOS extracting.
Very strange. I'm working on the OSX port for the moment so use Beta4.
Thanks for reporting.

#495
Farx

Farx

    InsanelyMac Protégé

  • Members
  • Pip
  • 35 posts
@koalala
Sorry for my poor English.
Thanks for your great work.
I use dsdt.aml,not patcthing BIOS.
I have those problems with dsdt:
1) Sleep is OK. But Don't wake up by keyboard or mouse,instead of pressing powerbutton.
2) I have a Firewire PCI card with Ti chip.
Before Sleep,my 1394 PCI card doesn't work. "No FireWire ports can be detected." shown in System Profiler.
But it does come back after wakeup. "Warning: Unable to list FireWire devices." shown in System Profiler.
Attached File  Picture_2.png   126.86KB   64 downloads
Attached File  Picture_3.png   139.08KB   52 downloads
3) "Log Out" works normally Before Sleep.
But it takes a long time (about 5 mins) for Log Out GUI shown after wakeup.

Without dsdt Everything is working fine.

Below is my fixed DSDT.dsl
Attached File  fixdsdt.dsl.zip   13.55KB   8 downloads

#496
braveskunk

braveskunk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 214 posts
  • Gender:Male
  • Location:Poland
hey, sorry for n00b question, but is there a support for certain motherboards or the limitation is manufacturer of the bios module(ami,award), i'm asking cos i have asus p5l-mx and wondering would it fix my poweroff problem with gf9400gt.i'm already using a dsdt.aml but didn't update it after installing gf9400gt in my PC. you think it would make any difference?
thanks in advance

#497
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
There are no special options for selected motherboards in the patcher.

The patcher works with AMI and AWARD bios files. Success rate is highest on AWARD BIOS.

If patching is unsuccessful when working directly with an AMI BIOS file, you can use MMTools and WinHex to extract the DSDT table manually, and then use that with ACPI Patcher. You need a Windows PC or virtual machine with Windows.
If you follow this tutorial until step 12 and all goes well you should end up with a patchable DSDT table:
http://www.insanelym...p...st&p=804822

Being an ASUS, your board should have AMI BIOS.

There could be any number of reasons for your shutdown problem and patching DSDT is a shot in the dark.

Try it and see.

#498
braveskunk

braveskunk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 214 posts
  • Gender:Male
  • Location:Poland
thanks for the answer. my shutdown problem is directly related to my gf9400gt as i know, because before installig it i worked allright(using gma950) and after putting it in i lost shutdown ability. i read here and there that is a common problem with nvidia graphics. so i will test it over the weekend to see.
i'll post my reslults later(if there will be any, thou;D)

#499
braveskunk

braveskunk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 214 posts
  • Gender:Male
  • Location:Poland
ok, wanted to give it a try on my xp laptop and none of the versions work correctly. the version 2b5 gives error on extracting and can't finish. version 2b4 gives and error when compiling aml however. any suggestions?


EDIT:
ok i managed to get patched dsdt.aml. i applied standard fixes: hpet,decrypt and rtc, wanted to remove the appledecrypt.kext and i got a kernel panic on boot just before loading the GUI

#500
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
How did you get that idea?

ACPIPatcher doesn't have any kind functionality that replaces AppleDecrypt.kext.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy