Jump to content

DSDT Patcher


fassl
 Share

752 posts in this topic

Recommended Posts

Isn'nt AppleIntelCPUPM going to conflict with other CPU management kext's if loaded?

 

I have it loaded here as well i have IntelEnhancedSpeedStep.kext loaded, so far i see no difference, no issues.

 

greetz

 

I´ve tested adding Return(Package(0x02){0x00, 0x00}) and now sleep works fine. Can next version has this thing added ?

 

Oh nice to hear that, well it isnt that easy since one WAK device looks mostly very different than another, thats what i've seen so far. But will try to implement that somehow.

 

 

greetz

Link to comment
Share on other sites

Hi all!!

 

First, thanks to fassl, Mackerintel and Zef.

DSDT worked like a charm in a full Vanilla system with Chameleon. Only with appleSMBIOSEFI kext.

The oly issue is this:

 

It shows 44,67 GHz. My FSB is 300MHz overclocked.

Please, help!

 

Edited:

 

SORRY!!!

It was the EnhacedSpeedStep...

Everything is running fine now... with some warnings!

Link to comment
Share on other sites

Can you post what that part of the code looks like? I can't determine where to insert the fix.

 

Thanks!

 

 

Look for: _WAK

 

	Method (_WAK, 1, NotSerialized)
{
	Store (0xFF, DBG1)
	If (LEqual (Arg0, 0x03))
	{
		Store (0x8F, SCP)
	}

	If (LEqual (Arg0, 0x04))
	{
		If (LEqual (OSFL, Zero))
		{
			If (LEqual (OSFX, 0x03))
			{
				Store (0x59, SMIP)
			}
			Else
			{
				Store (0x58, SMIP)
			}
		}

		If (LEqual (OSFL, One))
		{
			Store (0x56, SMIP)
		}

		If (LEqual (OSFL, 0x02))
		{
			Store (0x57, SMIP)
		}

		If (LEqual (OSFX, 0x03))
		{
			Store (0x59, SMIP)
		}
	}

	If (LEqual (Arg0, One)) {}
	If (OSFL)
	{
		Notify (\_SB.PWRB, 0x02)
	}
	Else
	{
		If (LEqual (RTCW, Zero))
		{
			Notify (\_SB.PWRB, 0x02)
		}
	}

	Notify (\_SB.PCI0.USB0, Zero)
	Notify (\_SB.PCI0.USB1, Zero)
	Notify (\_SB.PCI0.USB2, Zero)
	Notify (\_SB.PCI0.USB3, Zero)
	Notify (\_SB.PCI0.USB4, Zero)
	Notify (\_SB.PCI0.USB5, Zero)
	Return(Package(0x02){0x00, 0x00})   <------ Add here. Edit dsdt_fixed.txt before compiling
}

Link to comment
Share on other sites

Hi again!.

I´m using the DSDT Patcher1.0.1d.

I have some compile errors (from several versions ago).

This are:

 

./dsdt_fixed.txt 1352: And (CTRL, 0x1E)

Warning 1105 - ^ Result is not used, operator has no effect

 

./dsdt_fixed.txt 2443: Name (T0_0, 0x00)

Error 4111 - Creating a named object in a While loop ^

 

./dsdt_fixed.txt 2521: Name (T0_0, 0x00)

Error 4111 - Creating a named object in a While loop ^

 

ASL Input: ./dsdt_fixed.txt - 7378 lines, 256980 bytes, 3367 keywords

AML Output: ././dsdt.aml - 26832 bytes, 685 named objects, 2682 executable opcodes

 

Compilation complete. 2 Errors, 1 Warnings, 0 Remarks, 936 Optimizations

 

I have attach my debug files.

 

Wich issues did you find related to the Vaio lcd? ;)

Will try to use an injector for my internal lcd and post results (I have an ATI x2300, Qe&Ci working but never could get Resolution change (always get black screen when using injectors).

 

Edit: Tried three different injectors for my card, they didn´t gave me resolution change, but they didn´t make my screen fade to black before arrive to desktop (first time i use a injector and don´t have to go into -s mode to delete it.) :P

PERE.tar

Link to comment
Share on other sites

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?!

First I would suggest you not using uppercase letters so much: it only make me not to want to answer you. DSDT is the part of the BIOS but is interpreted by OS. Traditional way to change it is to change it in BIOS. But there are some ways to make OS load a DSDT different from the one present in BIOS. My patch does exactly this. Under linux if kernel finds DSDT.aml on initramfs then it loads this ile instead of DSDT present in BIOS. Perhaps a similar solution exists for windows

Thank you!

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

It's not really mac board. Just look around a bit

Link to comment
Share on other sites

Wich issues did you find related to the Vaio lcd? :)

Will try to use an injector for my internal lcd and post results (I have an ATI x2300, Qe&Ci working but never could get Resolution change (always get black screen when using injectors).

 

Edit: Tried two different injector for my card, they didn´t gave me resolution change, but they didn´t make my screen fade to black before arrive to desktop (first time i use a injector and don´t have to go into -s mode to delete it.) :D

 

No, not me, Superhai posted the PNLF Device (for backlight) which we can add to our DSDT here on the thread, added that Device to joe75's DSDT and his GMA950 which had no backlight, now have one and the AppleBacklight.kext is loaded, so we might be able to do that the same way for vaios :) But maybe there is more things related to the vaio probs. I dont know, but its surely worth a try.

 

I've added that to your DSDT, try it and report pls :)

 

greetz

 

EDIT: LOL dumb me forgot to add the DSDT ... :D

pere.zip

Link to comment
Share on other sites

I have Qe and CI enabled by adding hardware id to Atiradeonx1000.kext, resolution change not working.

How to test the applebacklight.kext? My lcd always has work, (but no res. change).

 

Oh i see, this was just to test if we can enable backlight for people on vaios, need some people for whom lcd didnt worked with QE/CI enabled. But thanks for testing anyway :) About the resolution change maybe come to #radeonhd channel on the irc.

 

greetz

Link to comment
Share on other sites

I have already patched my DSDT by hand and managed to fix all of the compile errors and warnings in the code but I am curious to compare the changes your patcher makes to those I implemented. I also noticed some people talking about making changes to the LCD section of their DSDT for better support, what sort of changes are you making to the code?

Link to comment
Share on other sites

Interesting stuff!

 

It dumped my DSDT and compiled with one warning (which I then fixed by adding the "Return(Package(0x02){0x00, 0x00})" line). Only snag is that I can't use it right now as I need Chameleon to load my /Extra/Extensions folder.

 

I've done some minor messing around with bios files using modbin, cbrom etc. Would it be possible/wise to just replace the DSDT in the bios with this fixed one? Or would it have any negative side-effects in Windows/Linux? From what I can gather it's in the acpitbl.bin, but I'm not 100% sure where it ends. The compiled/fixed dsdt.aml is smaller than what I have left in acpitbl.bin after I've trimmed up to the first DSDT header.

Link to comment
Share on other sites

Look for: _WAK

 

	Method (_WAK, 1, NotSerialized)
{

	Notify (\_SB.PCI0.USB0, Zero)
	Notify (\_SB.PCI0.USB1, Zero)
	Notify (\_SB.PCI0.USB2, Zero)
	Notify (\_SB.PCI0.USB3, Zero)
	Notify (\_SB.PCI0.USB4, Zero)
	Notify (\_SB.PCI0.USB5, Zero)
	Return(Package(0x02){0x00, 0x00})  <------ Add here. Edit dsdt_fixed.txt before compiling
}

YEAH !!! That adding: Return(Package(0x02){0x00, 0x00}) - gives no more warnings for my GA-EP-35-DS3! :P

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks,642 Optimizations

(I did that with deleting old dsdt.aml before patching - leaving old dsdt.aml at boottime gives also 0 err,0 warn, but 33 Optimization - result .aml may be the same - but i want to go sure)

 

i added my success bootscreen (hint: to see that use debug version of the cham-dtds, no need for -v as kernel flag!)

d.jpg

Link to comment
Share on other sites

Ok mackerintel,

I have the whole picture now.

Yes, the solution exists for windows.

I will be very carefull.

Thank you for your answer and attention.

You provede me very interesting and informative information.

First I would suggest you not using uppercase letters so much: it only make me not to want to answer you. DSDT is the part of the BIOS but is interpreted by OS. Traditional way to change it is to change it in BIOS. But there are some ways to make OS load a DSDT different from the one present in BIOS. My patch does exactly this. Under linux if kernel finds DSDT.aml on initramfs then it loads this ile instead of DSDT present in BIOS. Perhaps a similar solution exists for windows

 

It's not really mac board. Just look around a bit

Link to comment
Share on other sites

I´m a bit confused about all this. I have chameleon installed (with extensions folder in root) and compiled my dsdt.aml which i copied into /, too. Now, what about the files from within chameleon.zip? How do i use them????

 

Could anybody please be so kind and enlight me :D

 

Cheers

 

Goron

Link to comment
Share on other sites

 Share

×
×
  • Create New...