Jump to content

DSDT Patcher


  • Please log in to reply
746 replies to this topic

#101
mackerintel

mackerintel

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 128 posts

mackerintel : Thank you!
I'm on Windows XP and with HP Compaq 6730s!
I just want to decrease my fan speed from 50 % to 20%!
I know how to do it, but in case someting goes wrong...i want to be sure my bios will be fine
Thank you for the information!

Sorry I know it is Mac Board, but now I have my anwer!

No, you don't have answer you were looking for. You have the answer to the question "is overriding DSDT with Chameleon safe?" (what you asked). Answer is "not more dangerous then replacing driver". But your real question is "Is patching DSDT and reflashing BIOS dangerous?" and answer is "YES". In case of power surge, software or hardware bug during flashing you can end up with unbootable and unusable machine. Additionally after flash update if your DSDT is wrong then perhaps you won't be able to boot (you should still be able to boot without ACPI). But if your BIOS editor incorrectly inserts DSDT table then perhaps you won't be able to boot at all. Additionally changing fan-speed you risk to have an overheat. I personally recommen to have a software tool which monitors CPU's temperature and turn the fan on/off depending on it

#102
pasi

pasi

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
I do a fresh instal and now i get this in terminal
Loading Acpi table from file ./dsdt.dat
Could not get table from the file








Done, now start the Patching!

Could not open file ./dsdt.dsl

There were errors pacthing the RTC

logout

[Process completed]

#103
pere

pere

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 726 posts
Hi! Incredible releases we are living this days... thanks to all of you involved on develope and test. ;)

I am using the DSDT_Patcher1.0.1c
I have found the same error as avobe on my sony laptop when getting the acpi table from ioreg, and i have found the ioreg named different my dsdt from the name on the script....

I had to change this on the getDSDT.sh inside tools folder in order to work.:
modified1=${ioregdump#*'"DSDT"=<'}
modified2=${modified1%%'>'*}
Into this:
modified1=${ioregdump#*'"DSDT.0"=<'}
modified2=${modified1%%'>'*}

After that had to force the patcher with -f but all has been ok.

I suggest dont erase the ioreg.txt so if things goes wrong, you can check how the ioreg name the dsdt.

Thanks for all your work again!.

#104
mackerintel

mackerintel

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 128 posts

I do a fresh instal and now i get this in terminal
Loading Acpi table from file ./dsdt.dat
Could not get table from the file

be sure to launch as superuser. Also say which version do you use

@pere: could you post your ioreg -lw0? I have suspicions that somehow your system has multiple DSDTs.

#105
pere

pere

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 726 posts
Here is it.

Attached Files



#106
fassl

fassl

    InsanelyMac Legend

  • Retired
  • 623 posts
@Pere thanks for this hint, will try to find a solution that works for all.

UPDATE:

Here the new version fixes that: http://forum.insanel...t...st&id=37473 :)

greetz

#107
r0987

r0987

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
I get the same errors as mentorek.

#108
bigdarkmad

bigdarkmad

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 4 posts
  • Gender:Male
mackerintel: Thank you for your answer and attention!
I have inctructions for another HP notebook, and I just want to fix my super-new HP 6730s notebook, because very often it stuck to 50 % fan-speed (even my themperatures are all under 40 C )!
IT IS IMPOSSIBLE TO CONTROL THE FAN WITH SOFTWARE BECAUSE THE NOTEBOOK IS very NEW AND THE PROGRAMS JUST DO NOT RECOGNIZE THE NOTEBOOK FAN(s) at all!

I have this table:
Name(CPFS, Package(0x6)
{
0x64,
0x46,
0x3c,
0x32,
0x0,
0x0
})

From dsdt.ASL
My plan was just to rewrite 0x32 (50 %) to 0x14 (20%)!and to keep 0x3c (60%);0x46(70%);0x64(100%) as safe/safety buffer!

And after to over-write dsdt.ASL with Command Promt - using the command:
asl /loadtable dsdt.ASL

That's all!

I use CPUID HARDWARE MONITOR for the temperatures and the fan speed!

This is from the original source: "Now reboot, if everything works, your notebook fan should be slower after a few minutes after things settled down after reboot. WARNING: if it doesn't work and you get a blue screen during reboot. Press F8 and choose the "use last known good" option."

IS dsdt.ASL table part from the BIOS or from the Windows?
I'm confused!
If i understand you correct dsdt.ASL Patching is BIOS MOD?!

Thank you!
And again sorry I know It is Mac Board!By the way I love MacBook Pro!

#109
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,902 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Do i have to boot without DSDT.aml if i want to generate an new one (using newer patcher ) ?
Or can i boot with DSDT.aml (working!) and use patcher (newer one) and overwrite old one (for next boot) with generated DSDT.aml(new one) ?
EDIT: OK, i mad a diff old new and its the same (working).

#110
roidm

roidm

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,059 posts
  • Gender:Male
  • Location:Spain
with the last 2 versions of the patcher my Gigabyte system (P35-DS4) freezes when the GUI is loaded...
it works with my asus (P5W-DH-DLX)


Attached File  P35_DS4_debug_.tar   47.9KB   25 downloads

#111
fassl

fassl

    InsanelyMac Legend

  • Retired
  • 623 posts

with the last 2 versions of the patcher my Gigabyte system (P35-DS4) freezes when the GUI is loaded...


Has it worked with the previous Versions?

greetz

#112
roidm

roidm

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,059 posts
  • Gender:Male
  • Location:Spain
theres an error with the final step of the first patcher, the fixed dsdt.aml wasnt generated


edit:

if i fix the rtc & hpet manually the system boots fine..

#113
pere

pere

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 726 posts

Do i have to boot without DSDT.aml if i want to generate an new one (using newer patcher ) ?
Or can i boot with DSDT.aml (working!) and use patcher (newer one) and overwrite old one (for next boot) with generated DSDT.aml(new one) ?
EDIT: OK, i mad a diff old new and its the same (working).



HI, i have the same question, must we reboot without the patched file in order the new PATCHER reads the "non patched" bios or is safe to use the new patcher with the file dsdt.aml loaded from the root in the beginning?.

Thanks.

EDIT:

I have found the results are different if the dsdt.aml file is placed on the root folder before try a newer patcher.
The dsdt.aml file has to be moved out from root, placed a disabler on the system again (For intelcpupm) and restarted without the .aml file.
The new patcher can now read the "clean" info from bios. (Without previous patching. :blink:

This should be obviuos for me, as the main goal of the dsdt.asl file is to get loaded instead the "real bios", so the system try always to read the dsdt ioreg from the loaded file. But i wanted to ask:
Is a reboot without that file necessary for try newer patches?
Thanks for the hard job.

Edited to make clearer my question...

#114
BlackCH

BlackCH

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,618 posts
  • Gender:Male
  • Location:BCN

SSDT is something like additional DSDT. In the linux it's possible to reunite both tables together (by putting their disassemblies together) and then make linux discard original SSDT. This feature is not yet implemented in DSDT override (but is on my todo-list). You can dump SSDT by

cat /sys/firmware/acpi/tables/SSDT > ssdt

under ubuntu
iasl is in the package manager in ubuntu


I dont have SSDT, or at least I couldnt find it under cat /sys/firmware/acpi/tables/SSDT.
I guess theres something wrong with my dsdt. I cannot compile it back (not even unmodified).
dump it with:
sudo cat /proc/acpi/dsdt > dsdt.dat
decompiling:
iasl -d dsdt.dat
and compiling right after:
iasl -ta dsdt.dsl

gives me this output:
Error	4095 -			^ syntax error, unexpected PARSEOP_NAMESEG, expecting PARSEOP_DEFINITIONBLOCK

ASL Input:  ./dsdt_fixed.txt - 14892 lines, 584797 bytes, 0 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations


I had the same results under ubuntu and OSX, trying to do it manually, also with the patcher...
Ended up with a 4 byte empty .asl or .hex file
Can you please look at my files? I attach the .tar made by the patcher 1.0.1b; I runned a diff between this dump and the one I got from linux. they are identical...
Thanks for your help!

Attached Files



#115
fassl

fassl

    InsanelyMac Legend

  • Retired
  • 623 posts

This should be obviuos for me, as the main goal of the dsdt.asl file is to get loaded instead the "real bios", so the system try always to read the dsdt ioreg from the loaded file. But i wanted to ask:
Is a reboot without that file necessary for try newer patches?
Thanks for the hard job.


Doesn't really matter, if HPET and RTC is already fixed it shouldn't look different with newer Patchers. Also the patcher ever since has the ability to patch an other dsdt.dsl. Drag the Patcher in the Terminal, then drag what ever dsdt.dsl you want to patch in terminal and press enter. It then won't get the DSDT from ioreg, so you can point to your original dsdt.

greetz

#116
Alundra

Alundra

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
  • Gender:Male
  • Location:Portugal
What about this:

./dsdt_fixed.txt   222:	 Method (_WAK, 1, NotSerialized)
Warning  1080 -						^ Reserved method must return a value (_WAK)

Its an issue, can cause problems or can (should) it be fixed ?

#117
fassl

fassl

    InsanelyMac Legend

  • Retired
  • 623 posts

What about this:

./dsdt_fixed.txt   222:	 Method (_WAK, 1, NotSerialized)
Warning  1080 -						^ Reserved method must return a value (_WAK)

Its an issue, can cause problems or can (should) it be fixed ?


Does your sleep work properly? If not you could try to add this at the end of the _WAK Method:

Return(Package(0x02){0x00, 0x00})  // FIX Reserved method must return a value

greetz

#118
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,902 posts
  • Gender:Male
  • Location:Stuttgart / Germany

What about this:

./dsdt_fixed.txt   222:	 Method (_WAK, 1, NotSerialized)
Warning  1080 -						^ Reserved method must return a value (_WAK)

Its an issue, can cause problems or can (should) it be fixed ?


Hi, this may be the reason why some GA boards didnt give PSTATES infos (CPU Powerstates).


> Pehaps someone can fix it - i dont understand all of the solution below:

Solution for the WAK warning (found in the internet)
I see that the solution is to add the following line to the end of the _WAK method:
Return(Package(0x02){0x00, 0x00})

information about the _WAK method.
Arguments:
0 The value of the sleeping state (1 for S1, 2 for S2, and so on).
Result Code (2 DWORD package):
Status Bit field of defined conditions that occurred during sleep.
0x00000000 Wake was signaled and was successful
0x00000001 Wake was signaled but failed due to lack of power.
0x00000002 Wake was signaled but failed due to thermal condition.
Other Reserved
PSS If non-zero, the effective S-state the power supply really entered.

This value is used to detect when the targeted S-state was not entered
because of too much current being drawn from the power supply.

OK, so the _WAK method accepts one argument, which is the number of the sleep state that was requested. It returns its result as a package of 2 DWORDs. The first value is a code that tells whether the wake was successful (0 on success, nonzero on failure) and, if not, why. The second value is also zero on success and on failure returns the value of the sleep state that was actually entered. So basically, it's a success/failure code.

The first argument of the package declaration specifies the number of elements in the package, and the second is the package itself. So, the declaration above simply defines a two element package, where each of the elements is zero. This is necessary because the spec requires that the _WAK method return two values.
So, what this really boils down to is a dummy return value that satisfies the spec (thus eliminating the warnings), but doesn't really do anything. It just always returns a success condition.
---------

I addes my debug.tar (no errors, one warnings, working GA-EP-35-DS2, F3)

Attached Files

  • Attached File  ami.tar   47.95KB   20 downloads


#119
Alundra

Alundra

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
  • Gender:Male
  • Location:Portugal

Does your sleep work properly? If not you could try to add this at the end of the _WAK Method:

Return(Package(0x02){0x00, 0x00})  // FIX Reserved method must return a value

greetz


Sleep is not working (it was before dsdt stuff). I will try the -> Return(Package(0x02){0x00, 0x00})

#120
pasi

pasi

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
Speedstep not working on my hp530 with appleintelCPUPM, ewen with superhai or intelspeedstep kext. Takt is locked on 50%. Without appleintelCPUPM ewrithing is normal, ewen sleep working OK





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