Jump to content

[GUIDE] Making a DSDT.aml for Dell XPS M1330, XPS M1530, and XPS M1730


immo
 Share

2,030 posts in this topic

Recommended Posts

Hi all.

 

I have updated to Snow Leopard and learned a couple of new things, so I'll update the guide when I get the chance.

 

One thing that surprised me is that MSR Tools no longer seems to work! How do you guys verify that speed stepping is working without MSR Tools? Or is it actually working for you guys?

 

Immo

 

MSR tools works on 10.5.8

Link to comment
Share on other sites

Your kernel panics and not-working speedstep are because you didn't use the patcher. Use the patcher and both will start to work. After you fix your DSDT, put back in the AppleIntelCPUPowerManagement. It is required for sleep and speed stepping.

 

The patcher replaces a part of the DSDT called HPET with one that is compatible with OS-X. The one built into the Dell is not compatible at all.

 

What the DSDTs get working that did not work before is:

Vanilla speedstep, sleep, Video, USB fixes, clamshell display, and Time Machine (I have used a DSDT before that broke Time Machine). You still need VoodooBattery for the battery readout. I haven't got working scrolling or ethernet either (you have an M1330? Nobody has working ethernet on those, I use the Apple usb-ethernet adaptor), but my Bluetooth works fine. As I mentioned earlier, I use VoodooHDA for sound.

 

There is definitely the potential to get more working with DSDTs, we just haven't figured it out yet :( M1330's ethernet and PS2 will never work without additional kexts because support for these are not in OS-X (unless Apple releases a computer that uses the same ethernet as the M1330 and a PS2 trackpad, both of which are pretty unlikely). Basically all the DSDTs do is fake the OS out into thinking that your hardware is Mac hardware, but if the device is too different from the Mac hardware you need a kext (driver). It may be possible to get vanilla sound through a DSDT, but I'm not sure.

 

EDIT: never mind, it was a very noob problem.

 

But I do have some questions here. What, exactly is supposed to work after this is done? I have done all the steps and here is a run down of what works and doesn't work:

 

Works:

USB

GFX

Sound (with Voodoo kext)

Webcam

Keyboard (works but is not recognized)

Battery (installed VodooBattery)

 

Doesn't work:

Speedstep

Bluetooth

Trackpad scrolling

Ethernet

 

 

This actually leads me to another question - I was under the impression that a properly made DSDT.aml would eliminiate the need for kexts. Isn't it supposed to make the hardware work with OSX? Specifically, I was wondering if the sound/battery should have at least worked with my modified kext. I'm not quire sure what went wrong with the speedstep, i'll have to give it another try. In fact, the only thing that really was fixed in my dsdt modification was the USB.

 

Question 2 : The only step I skipped was the following:

 

 

Do you think not using DSDT patcher was responsible for my problems? I thought that was just an optional tool to automatically apply fixes.

 

Question 3: I had to AppleIntelCPUPowerManagement (otherwise I got kernel panics). Did I do something wrong here?

Link to comment
Share on other sites

Take two. My first post seems to have disappeared! :)

 

I'm trying to use this guide to create a DSDT.aml file for my M1330. However, I seem to have hit a problem at the above step. It's probably me as I'm new to OS X/Linux but here goes.

 

When I try to run the above command, I get the following error:

root@alex-laptop:/# iasl -d SSDT_r1-PmRef-Cpu0Cst-3001-INTL-20050624.aml

-bash: /sbin/iasl: cannot execute binary file

root@alex-laptop:/# sudo iasl -d SSDT_r1-PmRef-Cpu0Cst-3001-INTL-20050624.aml

/sbin/iasl: 1: Syntax error: Unterminated quoted string

 

Any help greatly appreciated.

 

Thanks

I fixed this. Instead of copying the iasl file from the patcher, I downloaded it by running:

sudo apt-get install iasl

Link to comment
Share on other sites

I fixed this. Instead of copying the iasl file from the patcher, I downloaded it by running:

sudo apt-get install iasl

 

After seeing your solution I know why you were having trouble. The patcher is for OS-X, not Linux :)

I prefer doing my work (and everything else) in OS-X and compiling iasl under OS-X is a real pain, so that's why I recommend the grabbing the executable from the patcher. Of course you could do it all just as easily under Linux.

 

Immo

Link to comment
Share on other sites

After seeing your solution I know why you were having trouble. The patcher is for OS-X, not Linux :D

I prefer doing my work (and everything else) in OS-X and compiling iasl under OS-X is a real pain, so that's why I recommend the grabbing the executable from the patcher. Of course you could do it all just as easily under Linux.

 

Immo

 

Thanks for the reply Immo. However, I'm now a bit confused.

 

Should I only do Step 1 in Ubuntu, and Step 2 and 3 in OS X? Or Step 1 and 2 in Ubuntu, and Step 3 in OS X?

 

Thanks

Link to comment
Share on other sites

Thanks for the reply Immo. However, I'm now a bit confused.

 

Should I only do Step 1 in Ubuntu, and Step 2 and 3 in OS X? Or Step 1 and 2 in Ubuntu, and Step 3 in OS X?

 

Thanks

 

 

What I intended guide followers to do when I wrote it is do Step 1 in Ubuntu, and the remaining in OS-X, although after reading over the guide again perhaps this isn't clear. As you have already figured out, you can do up to step 3 with the exception of running the patcher in Linux if you prefer. Personally I like to get the heck out of Linux as fast as possible :angry: I'll update the guide later to make this more clear.

 

Good luck.

 

Immo

Link to comment
Share on other sites

What I intended guide followers to do when I wrote it is do Step 1 in Ubuntu, and the remaining in OS-X, although after reading over the guide again perhaps this isn't clear. As you have already figured out, you can do up to step 3 with the exception of running the patcher in Linux if you prefer. Personally I like to get the heck out of Linux as fast as possible :rolleyes: I'll update the guide later to make this more clear.

 

Good luck.

 

Immo

 

Cool. Thanks for the help. :)

Link to comment
Share on other sites

I seem to be having a problem with my speedstep. It works perfectly on initial boot up, Coolbook shows it running at 800mhz, it steps up and down as it should, depending on the load.

 

However, if I put the laptop to sleep and wake it up, it gets stuck at 1200mhz and does not step up or down. This makes it hotter than it needs to be. I have tried using a number of DSDT files with my own ACPI dumps and other people's (with my CPU), tried with undervolted config and it didn't fix the problem.

 

Does anyone else have this problem? How can I keep native speedstep working after I wake from sleep? Is there something I'm missing or I need to fix? Any help would be greatly appreciated.

 

I'm using M1330 with nVidia GPU and T9300 CPU. Current DSDT attached.

 

DSDT.aml.zip

Link to comment
Share on other sites

I seem to be having a problem with my speedstep. It works perfectly on initial boot up, Coolbook shows it running at 800mhz, it steps up and down as it should, depending on the load.

 

However, if I put the laptop to sleep and wake it up, it gets stuck at 1200mhz and does not step up or down. This makes it hotter than it needs to be. I have tried using a number of DSDT files with my own ACPI dumps and other people's (with my CPU), tried with undervolted config and it didn't fix the problem.

 

Does anyone else have this problem? How can I keep native speedstep working after I wake from sleep? Is there something I'm missing or I need to fix? Any help would be greatly appreciated.

 

I'm using M1330 with nVidia GPU and T9300 CPU. Current DSDT attached.

 

DSDT.aml.zip

 

I've had odd issues similar to the ones that you've described under the following situations:

1. Incorrect data or bad permissions in the smbios.plist file.

2. Specifying the DSDT location using the DSDT= flag at boot, instead of putting it into the default location.

3. Chameleon reading com.Apple.boot.plist (and smbios.plist?) off of the wrong partition.

 

The other one I got was a repeated freezing and un-freezing (thawing?) after waking up from sleep.

I would check these over again. Use CPUX to make sure you got the correct bus speed (make sure that the CPU frequency is set correct as well). Do a sanity check to make sure your system info matches the data you entered in the plist. It's actually possible for Chameleon to read the plist file off of another OS-X installation if you have more than one. If this occurs, simply make your changes to the partition that it is reading from. I use Kext Helper to make sure my permissions are correct.

 

Good luck

 

Immo

Link to comment
Share on other sites

Hi immo

 

I've created and successfully compiled my new DSDT.aml.

However, when I installed Chameleon, it didn't create a /Extra folder. I had to create it manually.

 

So I have three questions:

 

  1. What directories/files should be in the /Extra folder?
  2. Should I copy all the Extensions folder shipped with Chameleon 2.0 RC3 to /Extra/Extension on my machine? Or just some, or none?
  3. There is no com.apple.Boot.plist in the /Extra folder (as I had to create it manually). Where can I get one from?

Thanks

Link to comment
Share on other sites

Just to add my findings on things...

 

The M1330 and M1530 match the MacBookPro4,1 more than the MBP5,1, but the MBP5,1 only hass the 6 P-states that match what the Dell's have natively. The MBP4,1 has 9 P-states, this can be modified by either adding extra PSS entries or by modifying ACPI_SMC_PlatformPlugin to only have 6 states for a MBP4,1.

 

C-States, the additions found by MasterChief are good, I've only just found the time to jump back onto the forum after heavy work and some holiday/vacation time.

 

I do have to say though a big THANKYOU for the findings of the extra IRQ entries to remove from the TMR and PIC (although I've only done the TMR at the moment) to get rid of the random USB IRQ conflicts.

 

I'm currently running no SSDT entries in my DSDT, but still have speedstep running fine. Just the old CStates error ;)

 

 

Cheers,

 

Brett

Link to comment
Share on other sites

Just to add my findings on things...

 

The M1330 and M1530 match the MacBookPro4,1 more than the MBP5,1, but the MBP5,1 only hass the 6 P-states that match what the Dell's have natively. The MBP4,1 has 9 P-states, this can be modified by either adding extra PSS entries or by modifying ACPI_SMC_PlatformPlugin to only have 6 states for a MBP4,1.

 

C-States, the additions found by MasterChief are good, I've only just found the time to jump back onto the forum after heavy work and some holiday/vacation time.

 

I do have to say though a big THANKYOU for the findings of the extra IRQ entries to remove from the TMR and PIC (although I've only done the TMR at the moment) to get rid of the random USB IRQ conflicts.

 

I'm currently running no SSDT entries in my DSDT, but still have speedstep running fine. Just the old CStates error :)

 

 

Cheers,

 

Brett

 

Great to see you back Brett!

Looking forward to us working on an eventual solution for the C-States problem!

 

Cheers

jkbuha

Link to comment
Share on other sites

Hi immo

 

I've created and successfully compiled my new DSDT.aml.

However, when I installed Chameleon, it didn't create a /Extra folder. I had to create it manually.

 

So I have three questions:

 

  1. What directories/files should be in the /Extra folder?
  2. Should I copy all the Extensions folder shipped with Chameleon 2.0 RC3 to /Extra/Extension on my machine? Or just some, or none?
  3. There is no com.apple.Boot.plist in the /Extra folder (as I had to create it manually). Where can I get one from?

Thanks

 

/Extra should contain:

com.apple.Boot.plist

smbios.plist

DSDT.aml

 

/Extra/Extensions on mine contains:

fakesmc.kext

AppleACPIPS2Nub.kext & ApplePS2Controller.kext

IOATAFamily.kext

VoodooBattery.kext

VoodooHDA.kext

 

For the most part these kexts are from Superhai's boot cd. You can get the com.apple.Boot.plist off of there also. I didn't use any of the Chameleon kexts.

I got a more updated VoodooHDA here:

http://www.projectosx.com/forum/index.php?...ic=355&st=0

 

I saw a patch that will apparently allow us to use the Snow Leopard IOATAFamily.kext here:

http://www.insanelymac.com/forum/index.php...t&p=1319072

but I haven't had the time to try it yet.

 

Great to see you back Brett!

Looking forward to us working on an eventual solution for the C-States problem!

 

Cheers

jkbuha

 

Likewise. Welcome!

Link to comment
Share on other sites

I saw a patch that will apparently allow us to use the Snow Leopard IOATAFamily.kext here:

http://www.insanelymac.com/forum/index.php...t&p=1319072

but I haven't had the time to try it yet.

 

I did and it worked nicely - bring on 10.6.2!

Attached my own updated dsl with fix for anyone who needs it.

 

Just a reminder what mine contains:

 

- Dell XPS M1330 T8300 (warning: undervolted PSS settings!)

- Sound HDEF patch

- 8400GS 128MB

- LPC and SMBUS devices enabled

- Sleep, HPET and USB fixes [iRQ from TMR removed]

- Initial experimentation with C-states (to enable set to MP4,1 and patch ACPI_SMC_Plugin - message me for more info)

 

Cheers

jkbuha

dsdt_current.zip

Link to comment
Share on other sites

I did and it worked nicely - bring on 10.6.2!

 

The fix for the IOATAFamily works perfectly. Running the Vanilla kext again which is excellent!

 

I agree, bring on 10.6.2.

 

I might have to start work back on the C-states issue in the next couple of weeks when work slows down a bit.

 

I have to say though I looked at one of the new iMac 27" jobs today. Lovely and even the new magic mouse feels good in the hand. Just wish I could get a new desktop, my 1530 is staying on as the laptop as it runs OSX perfectly (well near it) and the screen resolution is better than the 15" MBP...

Link to comment
Share on other sites

Thanks a lot for the response immo, just some weird issues now. I've patched everything up with the patcher (can't believe I skipped the most important step!) and now I can boot without a kernel panic. Everything seems to work except for one thing that im not sure of: Speedstep /cpu management.

 

I install Coolbook but it shows 5 entries, but they all say "0 MHZ." I don't know if this means that something went wrong or if the software doesn't support SL? How else can I check if speedstep is working?

 

I have a feeling that it isn't working however....my machine seems to run hot when running OSX. The thread with the DSDT pacther says the following:

 

@All complaining about hotter CPU's with AppleIntelCPUPowerManagement: Guys there is no need to have this kext loaded all the time, if you get hotter CPU, just remove that kext and everything is ok. Why I added this to patcher is just for security reasons on update, since i still see many people without an Disabler.kext and they just blindly update and then complain about a kernel panic during the update process. So this is just to be more secure on updating.

 

It's my understanding that AppleIntelCPUPowerManagement is needed for speedstepping to work....so this seems to contradict what is mentioned above.

 

What should I do? I really want to know if speedstep is working before moving on to trying to cool my temps. Thanks.

Link to comment
Share on other sites

Thanks a lot for the response immo, just some weird issues now. I've patched everything up with the patcher (can't believe I skipped the most important step!) and now I can boot without a kernel panic. Everything seems to work except for one thing that im not sure of: Speedstep /cpu management.

 

I install Coolbook but it shows 5 entries, but they all say "0 MHZ." I don't know if this means that something went wrong or if the software doesn't support SL? How else can I check if speedstep is working?

 

I have a feeling that it isn't working however....my machine seems to run hot when running OSX. The thread with the DSDT pacther says the following:

 

 

It's my understanding that AppleIntelCPUPowerManagement is needed for speedstepping to work....so this seems to contradict what is mentioned above.

 

What should I do? I really want to know if speedstep is working before moving on to trying to cool my temps. Thanks.

 

Coolbook works perfect under Snow Leopard, so your speed step likely isn't working. And you most definitely do need AppleIntelCPUPowerManagement for speed stepping and sleep. The statement that you quoted above only applies if your machine does NOT support the vanilla AppleIntelCPUPoewrManagement.kext (the case for many if not most machines), and with these DSDT patches ours do. I'm not sure what's wrong, but maybe you missed one or more of the SSDT files? Or the DropSSDT=Y boot flag?

Link to comment
Share on other sites

Hi Guys,

 

I can't find the PATA section in my DSDT file extracted from ubuntu 9.04.

 

Brett,

 

In which section did you add the ATA Patch?

 

Can you also post your last DSDT.aml please?

 

Thanks.

Josh.

 

Attached below (DSDT.dsl).

 

I put the code in two spots;

 

Just under:

           Device (IDE1)
           {
               Name (_ADR, 0x001F0001)

 

And also just under:

           Device (IDE0)
           {
               Name (_ADR, 0x001F0002)

 

Not sure if it is needed under the second one, but I took Julian's lead on that one.

 

Just note the following about my DSDT;

- NO SSDT entries, so if you use it make sure you don't have the DropSSDT=Y in Chameleon

- has the HPET and TMR IRQ fixes for USB

- has the IOATA fix for the CDROM

- has the SBUS entries (thanks Julian)

- has the extra USB entries to allow clean disconnects of USB devices during sleep

- has the Nvidia 8600M GT 256 card entries

- has the 'pretty text' additions for the Yukon NW controller

 

I still get speedstep working with this, just using the default PSS states, I also run my laptop as a MBP5,1. Obviously no C-States.

 

When I get some spare time I'll delve into trying to attempt C-States again...

 

Cheers

Brett

 

DSDT.dsl.zip

Link to comment
Share on other sites

Coolbook works perfect under Snow Leopard, so your speed step likely isn't working. And you most definitely do need AppleIntelCPUPowerManagement for speed stepping and sleep. The statement that you quoted above only applies if your machine does NOT support the vanilla AppleIntelCPUPoewrManagement.kext (the case for many if not most machines), and with these DSDT patches ours do. I'm not sure what's wrong, but maybe you missed one or more of the SSDT files? Or the DropSSDT=Y boot flag?

 

I did the whole process painstakingly twice after the first mishap - im pretty sure it's done all right. I was thinking - I thought there was some debug mode or something in Chameleon that you can use to check if the DSDT.aml is being loaded? I googled for it but didn't find anything.

 

I think I have my com.Apple.boot.plist right, here are the contents of that:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">'>http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Boot Banner</key>

<string>No</string>

<key>Graphics Mode</key>

<string>1280x800x32</string>

<key>Kernel</key>

<string>mach_kernel</string>

<key>Kernel Flags</key>

<string>arch=i386 DropSSDT=Y</string>

<key>Rescan</key>

<string>Yes</string>

<key>SMBIOS</key>

<string>rd(0,0)/Extra/smbios.plist</string>

<key>Theme</key>

<string>Default</string>

</dict>

</plist>

 

I also am not 100% positive about my SMBIOS file. Here is the contents of that:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>SMbiosvendor</key>

<string>Apple Inc.</string>

<key>SMbiosversion</key>

<string>MBP51.88Z.0074.B00.0810241236</string>

<key>SMboardmanufacter</key>

<string>Dell Inc.</string>

<key>SMboardproduct</key>

<string>XPS M1330</string>

<key>SMexternalclock</key>

<string>200</string>

<key>SMfamily</key>

<string>Mac</string>

<key>SMmanufacter</key>

<string>Apple Inc.</string>

<key>SMmaximalclock</key>

<string>2200</string>

<key>SMmemmanufacter_1</key>

<string>Dell Inc.</string>

<key>SMmemmanufacter_2</key>

<string>Dell Inc.</string>

<key>SMmempart_1</key>

<string>DDR2 SDRAM</string>

<key>SMmempart_2</key>

<string>DDR2 SDRAM</string>

<key>SMmemserial_1</key>

<string>00FF0000</string>

<key>SMmemserial_2</key>

<string>000736TU</string>

<key>SMmemspeed</key>

<string>667</string>

<key>SMmemtype</key>

<string>19</string>

<key>SMproductname</key>

<string>MacBookPro5,1</string>

<key>SMserial</key>

<string>XXXXXXXXXXXX</string>

<key>SMsystemversion</key>

<string>1.0</string>

<key>SMboardid</key>

<string>Mac-F42D86C8</string>

<key>SMboarduuid</key>

<string>00000000-0000-0001-8000-001E4C6405B5</string>

<key>SMmembankloc_1</key>

<string>BANK</string>

<key>SMmemdevloc_1</key>

<string>DIMM_A</string>

<key>SMmembankloc_2</key>

<string>BANK</string>

<key>SMmemdevloc_2</key>

<string>DIMM_B</string>

</dict>

</plist>

 

Does that look right to you? I have a Core 2 Duo T7500 2.20 GHZ CPU. and 3 GB of ram. Thanks again.

Link to comment
Share on other sites

i have similar issues i jsut made my dsdt file with NO nvidia patch since i dont need it i let chameleon handle the video no usb after sleep patch since i dont want sleep and no audio patch i let alone woodoohda to do that

 

issues i dont have speedstep coolbook shows nothing i did the newHpet with dsdt patcher with no errors

 

now i dont have nullcpu or voodootscsync no platformUUid

just

 

AppleACPIPS2Nub.kext VoodooBattery.kext

IOATAFamily.kext fakesmc.kext

 

and the voodoops2controler and voodoosdhc and voodoohda in the /S/L/E folder

 

smbios file with mac.5.1 and

key>SMexternalclock</key>

<string>200</string>

 

<key>SMmaximalclock</key>

<string>2000</string>

 

i just want speedstep to cool down my system :laser:

 

found this in dmesg

 

ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized

 

does it has anything to do with the speedstep?

 

Post up your DSDT and we can have a look at it (the dsl please).

 

The C-State error you have will not restrict P-states (speed step) from running. You probably have a PSS related error somewhere along the lines in the logs as well.

 

Cheers

Brett

Link to comment
Share on other sites

but I took Julian's lead on that one.

Thanks Julian

 

DSDT.dsl.zip

 

You're welcome!

 

Just updated to 10.6.2 and all I had to do was remove AppleHDA - works like a dream.

 

Three thoughts come to mind:

 

1) The ACPI_SMC_Plugin is radically different from 10.6.1 - anyone fancy a shot at trying to make it work for our M1330 and M1530s?

2) AppleHDA - is there any value (effort) in making this work for our 9228 as opposed to the VoodooHDA?

3) Anyone have the old (original) 10.6 IOATAFamily.kext as I've mistakenly deleted it and am now using the hacked version? :D

 

Cheers

jkbuha

Link to comment
Share on other sites

You're welcome!

 

Just updated to 10.6.2 and all I had to do was remove AppleHDA - works like a dream.

 

Three thoughts come to mind:

 

1) The ACPI_SMC_Plugin is radically different from 10.6.1 - anyone fancy a shot at trying to make it work for our M1330 and M1530s?

2) AppleHDA - is there any value (effort) in making this work for our 9228 as opposed to the VoodooHDA?

3) Anyone have the old (original) 10.6 IOATAFamily.kext as I've mistakenly deleted it and am now using the hacked version? :D

 

Cheers

jkbuha

 

On it's way via email (the IOATAFamily.kext that is).

 

I'm going to start having a look back over the C-State errors now that there is a big change in the ACPI_SMC. I do know that even without any SSDT entries in my DSDT I still get speedstep working just fine. Haven't delved any further yet.

 

Brett

Link to comment
Share on other sites

On it's way via email (the IOATAFamily.kext that is).

 

I'm going to start having a look back over the C-State errors now that there is a big change in the ACPI_SMC. I do know that even without any SSDT entries in my DSDT I still get speedstep working just fine. Haven't delved any further yet.

 

Brett

 

Thanks got it - am writing this off the new (old!) 10.6 kext

Do let me know if you make any new discoveries and/or need any help on C-state discovery - in the meantime I'll go back to experimenting as well and will keep you posted on any progress!

 

Cheers

jkbuha

Link to comment
Share on other sites

Well...I figured out the problem. Apparently my SMBIOS.plist wasn't being loaded. I fixed the path and now speedstep seems to be working! Im just curious as to one thing however...my screen looks funny. There's 5 entries!

 

cmcapture1x.png

 

It seems to be listing all possible speed states. Aren't there supposed to be two entries, each giving a real-time view of the core speed? It sounds like it's only using one of my cores (the bottom labeled "information" is where the speeds are reflected). Or is this how the program normally functions? I honestly wouldn't know.

 

Other than that I have 3 things to work on:

-Find a working audio kext. I haven't found one that makes both my headphones AND speakers work. I don't need the mic or HDMI (although if would be nice to have HDMI out)

-trackpad kext that gives me scrolling (would really appreciate help with this one!)

-My keyboard works fine but can't be identified by OSX. As a result, my shortcuts don't work. Any help with that one?

 

Would appreciate some help here, thanks for all the solutions so far! I will also be posting my DSDT.aml shortly.

Link to comment
Share on other sites

 Share

×
×
  • Create New...