Jump to content

DSDT editor and patcher


oldnapalm
 Share

999 posts in this topic

Recommended Posts

Yes. Most of DSDT I found, including MacBook's DSDT have similar SBUS codes with the one I gave you earlier. So, I think yes, you should keep it like that. Device (BUS0) is additional codes. Without Device (BUS0) not all SMBUS kexts will be loaded.

 

ok, thank you :(

Link to comment
Share on other sites

When I execute that command nothing happens, so am I good ?

No. Should output lines with:

com.apple.iokit.IOSMBusFamily
com.apple.driver.AppleSMBusPCI
com.apple.driver.AppleSMBusController

At least that's what I get.

 

I also have something to look at. I mean won't the following two be perfect candidates for the DSDT editor's patch capabilities?

If (Zero) // Always false - never reached?
{
...
}
Else // Always used?
{
...
}

And this one:

If (Ones) // Always true?
{
...
}
Else // Never reached?
{
...
}

Link to comment
Share on other sites

Ok? can you PM me what I can do about this, or reply here :-)

I would first have to understand why this comment was made: "sbus must not loaded. confirm" since my goal would be to have it load. But then again I haven't read all comments related to your problem.

 

Never mind. Got it. You're using a AMD CPU where the kernel patch disabled PM support. In short: You're fine.

Link to comment
Share on other sites

Hello and thank you for this great tool, works excellent with my EP35-DS4. I have used maldons autopatch tool and it seems all is fine. (havent tested sleep, still using sleep enabler)

Now, since I have a Q6600 Cpu I`d like to apply the speedstep patch to my Dsdt, but I dont understand which one to use:

 

CPU 0-3 ?

CPU 1-4 ?

 

Can somebody explain what the difference is, how this works and which one to choose ?

 

Thanks to all of you who keep improving osx86.

 

Next One

Link to comment
Share on other sites

I would first have to understand why this comment was made: "sbus must not loaded. confirm" since my goal would be to have it load. But then again I haven't read all comments related to your problem.

 

Never mind. Got it. You're using a AMD CPU where the kernel patch disabled PM support. In short: You're fine.

 

but as has been reviewed here on the topic for him to apply these fixs, and I knew I was not going to work, but sometimes people need to see to believe

 

 

1-

- RTC fix

- LPC fix - only if your LPC device have different device ID or the device ID is not listed in AppleLPC.kext - for speedstep working properly

- SBUS fix - SMBUS controller communicate with low-bandwidth devices for example fan or voltage sensors, lid switches and clock chips. On macbook, SMBUS controller required for smart battery. Usually non-apple computer use control method battery instead.

 

For SBUS fix, if you don't mind, I recommend do it manually. If SBUS device already exist in your DSDT, just add the codes which is not already there. Inject device ID only if your SMBUS controller have different device ID or the device ID is not listed in SMBUS kext.

 

 

2-

Hi Peter_sm

 

AMD???

kernel mod disables power management

 

Look it

dsdt.aml_Peter_sm.zip

Use Diffmerge

 

patches related to power management

will not make a difference

I applied the "obligatory"

 

DTGP

IRQs

RTC

***SBUS

REMOVED

RENAMED

 

But then again I haven't read all comments related to your problem.

:dev:

I agree

 

Hello and thank you for this great tool, works excellent with my EP35-DS4. I have used maldons autopatch tool and it seems all is fine. (havent tested sleep, still using sleep enabler)

Now, since I have a Q6600 Cpu I`d like to apply the speedstep patch to my Dsdt, but I dont understand which one to use:

 

CPU 0-3 ?

CPU 1-4 ?

 

Can somebody explain what the difference is, how this works and which one to choose ?

 

Thanks to all of you who keep improving osx86.

 

Next One

 

Use Chameleon RC5 for Power Management

add in boot.plist

GeneratePStates=Yes / GenerateCStates=Yes

 

 

LPC loaded and Hpet fix(auto-patcher already does this to you)

Bingo

Link to comment
Share on other sites

but as has been reviewed here on the topic for him to apply these fixs, and I knew I was not going to work, but sometimes people need to see to believe

Well, when I gave the recommendation to Peter_sm, I wasn't aware he have AMD processor.

OK, anything you can recommend :-)
Link to comment
Share on other sites

Well, when I gave the recommendation to Peter_sm, I wasn't aware he have AMD processor.

 

Yep

 

I actually realized by his signature

so I asked

but this was not to you

sorry if I expressed it wrong

My English is bad

 

 

I deeply appreciate your work and I am his fan

:dev:

Link to comment
Share on other sites

First, many thanks and much gratitude to MaLd0n for the Auto-Patch he made for me. My system runs better and has fewer legacy/patched kext since installing it.

 

I have added additional patches for my nVidia GeForce 9400 GT (moded GFX 9800 patch) and ethernet (moded LAN0) cards. Actually, the ethernet adapter is integrated into the system board and the display adapter is a PCIe plugin.

 

With these last two dsdt patches I quit using the "Graphics Enabler" and "Ethernet Built-in" injections supplied by Chameleon2.

 

Where I could use some help now is in getting the remainder of my PCIe adapter cards recognized in the System Profiler. The adapters are all recognized and functioning in OS X. I understand that having them show in System Profiler is mainly cosmetic. Still, It seams like they should be recognized there. For example, my OS X is installed on a hardware raid 1 volume connected by an eSATA adapter in a PCIe x1 slot. However, System Profiler does not show the pci card for the raid controller.

post-51049-1289222438_thumb.png post-51049-1289220784_thumb.png post-51049-1289220812_thumb.png

 

Unique dsdt patches for each pci card would work, but the best solution - if there is one - would be for the pci cards to be recognized without that.

 

Any help or guidance would be greatly appreciated.

 

dsdt_ioreg.zip

post-51049-1289220838_thumb.png

post-51049-1289222227_thumb.png

Link to comment
Share on other sites

...

 

Where I could use some help now is in getting the remainder of my PCIe adapter cards recognized in the System Profiler.

You can add Name (_SUN, 0xnn) for slot info, and experiment with some new properties in _DSM:

 

"device_type",

"HW Type Info",

"model",

"HW Model Info",

"name",

"HW Name Info"

 

I hope this helps.

Link to comment
Share on other sites

You can add Name (_SUN, 0xnn) for slot info, and experiment with some new properties in _DSM:

 

"device_type",

"HW Type Info",

"model",

"HW Model Info",

"name",

"HW Name Info"

 

I hope this helps.

 

Thanks. It's a start and, more than I had before. Will give it a try.

Link to comment
Share on other sites

Firstly, thank you MaLd0n for the help with the DSDT. That got my CStates and PStates working fine and everything showed up properly in native power management.

 

However, my WOL still didn't work. So I've been working on that. With very little progress, despite using three different drivers. One thing I noticed is that some people were claiming to have had some success by changing settings in Windows. This didn't really make sense to me. And I don't have Windows, so I couldn't do it anyway. What I did think was maybe it wasn't Windows. Maybe it was that the board needed to be reinitialized. So I unplugged my computer and let it sit for a little while.

 

When I plugged it back in (the assumption being that a hard boot would wipe out any residual information held on the board), WOL worked when I send the magic packet! I am still having problems with the AppleTV waking it up, but I think that has to do with Bonjour services being turned off on sleep.

 

So, for those of you who are having that problem, try unplugging the computer for a fresh start.

Link to comment
Share on other sites

Do you have a Perl script to transform DSL blocks, or are you doing everything by hand when you make these scripts? If yes; care to share it? If not... time to write a simple Perl script maybe?

 

while(<STDIN>) {
chomp;
if(!($_ =~ /^\s*$/)) {
	print $_."\\n\n";
}
}

 

perl script < input > output

Link to comment
Share on other sites

Hi all here :P

I have a request.

 

It would be possible given a specific file IOREG, extract a specific device in the form of "injection" for DSDT (like GFX card)?

 

Somewhat as with ChameleonPrefpanel and gfxutil for EFI strings?

 

"Example" I open my DSDT with "DSDT Editor" and I point on my "P0P2" device now I know my GFX could be injected with the "data" stored in a specific IOREG file... the program read this info and "trasform" it...

This could be a easy and quick way to get some device working from people (his IOREG) having it already work...

 

Maybe if the request may seem a bit strange I apologize

 

(sorry for my very bad English)

Fabio

You mean get device-properties from ioreg, convert into a _DSM method and insert in the related device?

 

It would work only if the graphics card is already working via device-properties in com.apple.Boot.plist or auto generated by GraphicsEnabler.

Link to comment
Share on other sites

Hello MaLd0n

I have a problem with my laptop, an IBM/Lenovo Thinkpad x60, which is using an Intel GMA950 Graphic Card. It's the first time I try to work over a dsdt, but I managed to extract a working one directly from an Ubuntu installation, shared in the same Laptop.

 

I have opened the dsdt.aml I extracted with DSDT Editor, and manually applied the GMA950 laptop txt patch, following the youtube video guide.

Compiled asm, fixed errors, and saved it to a working dsdt.aml with gma950 patch installed.

 

But when I boot my thinkpad in SL, with the dsdt.aml file I compiled, it boots correctly but the video is not working, its all grey :smoke: so I have to turn the laptop off.

 

Can you fix my dsdt ? I don't know why its not working... I have applied the patch...

maybe it doesn't support its screen resolution? My thinkpad has a 12'1 screen with 1024x768 res.

 

I attach my original dsdt.aml (not the one I patched) extracted from a working linux environment:

http://www.mediafire.com/?rau2g9n9krbgwr3

I hope you can help.

Link to comment
Share on other sites

lalya, where did you install the patched dsdt.aml?

 

Type "Wait=yes" at boot and check if it's being loaded.

 

Try with this one

dsdt.aml.zip

If it doesn't work try this

dsdt.aml_DOD.zip

Hi oldnapalm!

Thanks a lot, I have tried the 1st one, I've put it in the Extra folder, and it worked at first!

Hmm as a little problem, the graphic lcd whistles a little, it makes some interference noise like as if the graphic card has a problem with frequency... I don't know how come it makes this, maybe I will try with your 2nd dsdt, and check if it doesn't "whistle" anymore.

 

I also don't know what I did wrong before with my original file...when I tried to modify it myself. I just used the dsdt editor and patched it with the laptop txt for gma950 :( but anyway... now I can finally boot SL with something up on video.

 

I have also noticed a problem when I press the "moon key" (Fn + F4 ---> Sleep mode)

In this case, laptop goes to sleep, but when I press the key to make the recover, hdd works because the lid is on activity and running but the image of the screen doesn't come back anymore, video stays black... as if it cannot load anymore the gma950 drivers... do you have any clue on why this happens?

Maybe do you think I require other fixes in my dsdt, other than the GMA950?

 

I have just tried also with the 2nd dsdt (DOA) ... it works, but graphic card makes frequency noise also with this one.

Over the net I have found the following DSDT

http://www.mediafire.com/?u8zd4g1w7k197ai

its from another user who has a Thinkpad X60T, which is different than mine in specs and processor (X60T is a CoreDuo mine is a Core2Duo), but they have the same graphic card (GMA950). If i start SL with that one in Extra folder, it works as well and it DOESN'T make the interference noise,

but sleep doesn't work, and also the brightness control keys don't work...along with other things.

Can you check what is the difference, in the graphic card part, between that DSDT and the one you relesed for me, as this one for the other ThinkPad doesn't "whistle"?

 

--------------------------------------------------------------------------

Also.. do you know how can I get a correct smbios.plist for my laptop? my laptop has T7200 Core 2 Duo processor... on the net I have found out that the macbook v2.1 has the same specs (processor Merom T7200 and GMA950 graphic):

 

MacBook2,1 T5600,T7200 (Merom) GMA950

Model: MacBook2,1, BootROM MB21.00A5.B07, 2 processors, Intel Core 2 Duo, 2 GHz, 4 GB, SMC 1.13f3

System model name: MacBook2,1 (Mac-F4208CA9)

MacBook V2.1

------------

Board Id: Mac-F4208CA9

Model Id: MacBook2,1

BOOT ROM Version: MB21.88Z.00A5.B07.0706270922

Serial Nr: W88033AKY51

SMBIOS Version: 1.2

Link to comment
Share on other sites

I applied the video patch from X60T and the "common" patches that I didn't apply before (IRQs and PNLF)

dsdt.aml.zip

Please boot with this dsdt and send me a devices list, you can use this app

http://www.insanelymac.com/forum/index.php?showtopic=219584

 

You may need more patches, like the LPC one (X60T dsdt has it, but the injected ID is wrong, inverted bytes).

 

I'm not into SMBIOS stuff, sorry, can't help with that. I think Maldon can help you.

Link to comment
Share on other sites

Hi there,

 

Why do I have to check "Editable text" to be able to edit the dsdt file. If I do so then I can't click on the devices on the left sidebar. It is not easy to navigate then. Am I missing something here?

 

Secondly, if the main window stays behind of another window and I click on the dock icon to bring it back, it opens a new window as well. If this is not intended then I assume there is bug here.

 

Thanks,

Link to comment
Share on other sites

You mean get device-properties from ioreg, convert into a _DSM method and insert in the related device?

 

It would work only if the graphics card is already working via device-properties in com.apple.Boot.plist or auto generated by GraphicsEnabler.

 

Yep.

Obviously it would be an easy way to inject DSDT devices that have not yet possess.

using IOREG by people who possess such devices already configured and working.

Not only are the graphics cards, network, and other conceivable devices.

I recognize that it is probably not easy to implement this conversion in a method _DSM.

and this would still be only an idea.

Another topic ... What do you think of injections via SSDT tables? Exportable injection

I try this method for the GFX card and works too (Of course need a bootloader that is enable for *SDT tables like Cham2.RC5)

like this...

(Is an example for the Alc1200)

via SSDT is more "portable"

DefinitionBlock ("SSDT-4.aml", "SSDT", 1, "APPLE", "HDEF", 0x00001000)
{
   External (DTGP, MethodObj)    // 1 Arguments
   External (\_SB_.PCI0, DeviceObj)

   Scope (\_SB.PCI0)
   {
       Device (HDEF)
       {
           Name (_ADR, 0x001B0000)
           Method (_DSM, 4, NotSerialized)
           {
               Store (Package (0x10)
                   {
                       "subsystem-id", 
                       Buffer (0x04)
                       {
                           0xA0, 0x00, 0x00, 0x00
                       }, 

                       "subsystem-vendor-id", 
                       Buffer (0x04)
                       {
                           0x6B, 0x10, 0x00, 0x00
                       }, 

                       "codec-id", 
                       Buffer (0x04)
                       {
                           0x88, 0x08, 0xEC, 0x10
                       }, 

                       "layout-id", 
                       Buffer (0x04)
                       {
                           0x0C, 0x00, 0x00, 0x00
                       }, 

                       "device-type", 
                       Buffer (0x08)
                       {
                           "ALC1200"
                       }, 

                       "model", 
                       Buffer (0x10)
                       {
                           "Realtek ALC1200"
                       }, 

                       "built-in", 
                       Buffer (One)
                       {
                           0x00
                       }, 

                       "PinConfigurations", 
                       Buffer (Zero) {}
                   }, Local0)
               DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
               Return (Local0)
           }
       }
   }
}

instead of this "Standard" into the DSDT

        Device (HDEF)
       {
           Name (_ADR, 0x001B0000)
           Method (_DSM, 4, NotSerialized)
           {
               Store (Package (0x10)
                   {
                       "subsystem-id", 
                       Buffer (0x04)
                       {
                           0xA0, 0x00, 0x00, 0x00
                       }, 

                       "subsystem-vendor-id", 
                       Buffer (0x04)
                       {
                           0x6B, 0x10, 0x00, 0x00
                       }, 

                       "codec-id", 
                       Buffer (0x04)
                       {
                           0x88, 0x08, 0xEC, 0x10
                       }, 

                       "layout-id", 
                       Buffer (0x04)
                       {
                           0x0C, 0x00, 0x00, 0x00
                       }, 

                       "device-type", 
                       Buffer (0x08)
                       {
                           "ALC1200"
                       }, 

                       "model", 
                       Buffer (0x10)
                       {
                           "Realtek ALC1200"
                       }, 

                       "built-in", 
                       Buffer (One)
                       {
                           0x00
                       }, 

                       "PinConfigurations", 
                       Buffer (Zero) {}
                   }, Local0)
               DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
               Return (Local0)
           }
       }

Link to comment
Share on other sites

I applied the video patch from X60T and the "common" patches that I didn't apply before (IRQs and PNLF)

dsdt.aml.zip

Please boot with this dsdt and send me a devices list, you can use this app

http://www.insanelymac.com/forum/index.php?showtopic=219584

Thanks for the help oldnapalm!

here is my device lists:

http://www.mediafire.com/?wntxshi6rxs8qct

 

I have tried your dsdt above, but it still doesn't work well with graphic... even if you copied the graphic part from X60T, it still makes that noise, which is not good :( but hey, I have found a solution about that...!

I saw that Chameleon RC5 is able to recognize GMA950 at boot by enabling the option--> Graphic Enabler,

so I just enabled it from the installation menu and so I tried to use the really first DSDT.AML (extracted from Ubuntu) I linked you in the earlier post. And guess what, gma950 works with graphic enabler, and with no whistles.

So no need to have my DSDT patched with it.

 

So If you're gonna make any further modification to my dsdt please still use the 1st hybrid one I linked in this post, as its the one i'm using now: http://www.insanelymac.com/forum/index.php...00#entry1583396

 

Hmmm ... Can you apply the IRQs and PNLF patches over it? :(

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...