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

Does that mean it is working? If not can you list what kexts you have in /Extra/Extensions and what version of Chameleon you are using...

 

Thanks,

 

Brett

 

 

Yes everything I have tried all looks to be working nicely thank you! Just cloned this image incase I stuff it up at some point. With shutdown, sleep and restart this seems to be a very useable OS...

Link to comment
Share on other sites

Hi all.

Good news is my OS-X is running again, thank you Time Machine.

Bad news is I can't get shutdown to work on my M1330 for the life of me. After the patch didn't work, I went through Brett's DSDT to see if I could find anything he did different, and I found a few things (DTGP method returns 0 by default instead of 1, corrected address for SBUS, extra PNP line in the HPET). I changed mine to match and still nothing :)

 

Brett, are there any other patches in your DSDT that are not covered by the guide that might be required for shutdown?

 

I'm attaching my latest DSDT so that those with M1330s and NVIDIA graphics can try it. For me it works as well as the last one (speed step, sleep, accelerated NVidia graphics with mirror all working, but no shutdown). Please let me know if shutdown works for you, just in case it's an issue with my OS-X install. If anyone with an M1330 gets shutdown working please share ;)

 

Hopefully we can get shutdown to work on M1330s as well.

 

Immo

DSDT_M1330_NVIDIA_ANYCPU_20100408.zip

Link to comment
Share on other sites

Btw: Is the PC-Card-Slot working without modifying some kexts or the DSDT?

 

Do you mean the ExpressCard slot? If so I am using it no problem with a gigabit ethernet ExpressCard. Just shows up if its plugged in on boot, not sure it allows hot-swapping though.

Link to comment
Share on other sites

Hi all.

Good news is my OS-X is running again, thank you Time Machine.

Bad news is I can't get shutdown to work on my M1330 for the life of me. After the patch didn't work, I went through Brett's DSDT to see if I could find anything he did different, and I found a few things (DTGP method returns 0 by default instead of 1, corrected address for SBUS, extra PNP line in the HPET). I changed mine to match and still nothing :)

 

Brett, are there any other patches in your DSDT that are not covered by the guide that might be required for shutdown?

 

I'm attaching my latest DSDT so that those with M1330s and NVIDIA graphics can try it. For me it works as well as the last one (speed step, sleep, accelerated NVidia graphics with mirror all working, but no shutdown). Please let me know if shutdown works for you, just in case it's an issue with my OS-X install. If anyone with an M1330 gets shutdown working please share :D

 

Hopefully we can get shutdown to work on M1330s as well.

 

Immo

 

Immo,

 

I decompiled your aml and noticed you don't have a process definition in Scope _PR. Brett's does.

e.g.

Scope (_PR)
{
	Processor (CPU0, 0x00, 0x00001010, 0x06) {}
	Processor (CPU1, 0x01, 0x00001010, 0x06) {}
}

 

I don't know that this is the problem but I was curious about your's because I thought perhaps the m1330 has a different Power Management base than the m1530. The processor def is one indication of of PMbase. The above indicates the PMbase of the m1530 is 0x00001000.

 

This processor def should be in the original dump of your dsdt. Please check it and let me know. If it is different you need to adjust the Operation Region of the shutdown fix. Even if it is the same try adding it to your dsl and compiling.

Link to comment
Share on other sites

Immo,

 

I decompiled your aml and noticed you don't have a process definition in Scope _PR. Brett's does.

e.g.

Scope (_PR)
{
	Processor (CPU0, 0x00, 0x00001010, 0x06) {}
	Processor (CPU1, 0x01, 0x00001010, 0x06) {}
}

 

I don't know that this is the problem but I was curious about your's because I thought perhaps the m1330 has a different Power Management base than the m1530. The processor def is one indication of of PMbase. The above indicates the PMbase of the m1530 is 0x00001000.

 

This processor def should be in the original dump of your dsdt. Please check it and let me know. If it is different you need to adjust the Operation Region of the shutdown fix. Even if it is the same try adding it to your dsl and compiling.

 

Thank you for looking at the DSDT Dlach! I appreciate it. I've looked at my DSDT again and it looks like the _PR definition is there, and it's identical to the one that you've shown above. Could you double-check it please? It appears that the M1330 has the same PM base as the M1530.

 

A couple other things that may be worth mentioning is that the fix for preventing removable USB media from unsafely removing on sleep never worked on my M1330 in Leopard or Snow Leopard, although others have reported it working (not sure if they had M1330's or M1530's). Also, the M1330 has no TV out and the M1530 does, but the NVidia patch I used on M1330 is exactly identical to the M1530 patch except for the adapter name. Even so, HDMI, VGA, and mirror all work fine. Probably not related but who knows.

 

Thanks

Immo

Link to comment
Share on other sites

Immo's _PR scope is there. Exactly the same as the scope in mine.

 

I have the following under _SB where you don't, I can't remember what it is in relation to though, I have the feeling it was related to the screen not showing up after coming out of an S3 state. I don't think it was applicable to the Dell, but added it in anyway... Time to go searching for the original DSDT.dsl from the laptop :D

 

		Device (PNLF)
	{
		Name (_HID, EisaId ("APP0002"))
		Name (_CID, "backlight")
		Name (_UID, 0x0A)
		Name (_STA, 0x0B)
	}

 

Under Device EHCI I have the following, which was one of the fixes for USB sleep / speed issues. Not sure of the relevance.

 

				Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0B)
					{
						"AAPL,clock-id", 
						Buffer (One)
						{
							0x01
						}, 

						"device_type", 
						Buffer (0x05)
						{
							"EHCI"
						}, 

						"AAPL,current-available", 
						0x04B0, 
						"AAPL,current-extra", 
						0x02BC, 
						"AAPL,current-in-sleep", 
						0x03E8, 
						Buffer (One)
						{
							0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

 

They are the only real differences besides the cosmetic stuff I have for the Marvell Yukon card under PXS1

 

				   Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x0A)
						{
							"AAPL,slot-name", 
							Buffer (0x09)
							{
								"Built-in"
							}, 

							"model", 
							Buffer (0x16)
							{
								"Marvell Yukon 88E8040"
							}, 

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

							"name", 
							Buffer (0x14)
							{
								"Ethernet controller"
							}, 

							"device_type", 
							Buffer (0x09)
							{
								"Ethernet"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)

 

Cheers

Brett

Link to comment
Share on other sites

Thank you for looking at the DSDT Dlach! I appreciate it. I've looked at my DSDT again and it looks like the _PR definition is there, and it's identical to the one that you've shown above. Could you double-check it please? It appears that the M1330 has the same PM base as the M1530.

 

A couple other things that may be worth mentioning is that the fix for preventing removable USB media from unsafely removing on sleep never worked on my M1330 in Leopard or Snow Leopard, although others have reported it working (not sure if they had M1330's or M1530's). Also, the M1330 has no TV out and the M1530 does, but the NVidia patch I used on M1330 is exactly identical to the M1530 patch except for the adapter name. Even so, HDMI, VGA, and mirror all work fine. Probably not related but who knows.

 

Thanks

Immo

 

Hmm...I decompiled it using DSDT-SE and stupidly trusted the search function. The damn thing didn't find CPU but does find CPU0 or CPU1. Sorry for the bad lead, should have stuck to emacs and iasl.

 

Yes it looks like the same PMbase.

 

I read somewhere that the entire fix, OperationRegion, Field and PTS needs to be in Scope(\) though I note Brett doesn't have it there.

 

You might try moving it.

Link to comment
Share on other sites

I have the following under _SB where you don't, I can't remember what it is in relation to though, I have the feeling it was related to the screen not showing up after coming out of an S3 state. I don't think it was applicable to the Dell, but added it in anyway... Time to go searching for the original DSDT.dsl from the laptop :)

 

So I've implemented all the differences you have (except for the Marvel ethernet of course), and it made an improvement! Now the USB removable media fix works, and also, the laptop sleeps when I close the lid (it did this at one time but stopped doing it after a fresh SL install). Sadly still no sleep though :(

 

I'm attaching the new DSDT for anyone with an M1330 who wants to try it. Again if shutdown works for you, please share.

DSDT_M1530_NVIDIA_ANYCPU_20091117.zip

 

I really appreciate your time and help Brett!

 

Immo

Link to comment
Share on other sites

I read somewhere that the entire fix, OperationRegion, Field and PTS needs to be in Scope(\) though I note Brett doesn't have it there.

You might try moving it.

 

Hi Dlach. I tried this, but it doesn't seem to make a difference unfortunately. It works as well as it did before, but still no shutdown.

 

Thanks for the idea.

 

Immo

Link to comment
Share on other sites

Hi,

 

I got a question related to the AnyCPU DSDT for M1330. I installed a plain SL and use all the kexts that are mentioned in the guide with the AnyCPU DSDT. I got a Kernel Panic with the message "CPU 1 has no HPET assigned to it".

 

I doubt that anything is missing from the guide, so what may I have missed out to boot with the DSDT.aml?

 

Maybe helpful:

0. Hardware: Dell XPS M1330 with Dual Core 2,2 GHZ 4 GB Ram and an NVIDIA card Bios Version A13

1. installed SL with SuperHais Boot-CD

2. using Chameleon RC4 not RC3

3. using all kexts from Guide

4. not using any disabler or NullCpu or other Kext as mentioned in other threads to fix the HPET problem

5. get KP with 10.6.0 and 10.6.3 (installed it two times, tried it two times)

6. using the EFI drive for patching, I did not add anything to base installation on "/"

7. just copied the DSDT.aml to EFIs /Extra folder (did no compiling or other stuff)

8. Disabled multiply CPUs in Bios, added ForceHPET=y|yes to boot tried it with DropSSDT and without it, save mode is not working anymore, single user neither

 

My questions:

How can I boot without the DSDT.aml, I was too optimistic an did not rename it to DSDT-test.aml and use the boot option for it, so right now I cannot boot. Do I need to reinstall.

 

Maybe someone could zip up his EFI drive and post it here. I am still not sure, if I put all the files into the correct location.

 

Does the AnyCPU fix on the front page include the HPET fix that is mentioned in this thread or do I have to add for it to work?

 

@IMMO: What Bios version are you using?

 

Any help is appreciated

Regards Klaas

Link to comment
Share on other sites

Great work on the DSDT ppl, thanks! The shutdown addon works great.

 

I am noticing errors in Console: Windowserver.log from /private/var/log

 

kCGErrorIllegaArgument errors... Anyone else getting these?

 

Thanks!

Link to comment
Share on other sites

Do you run iStat? Seems to be related to the V2.0 release of it under SL...

 

Good point - I'm getting the same kCGError messages and I run Istat2.0 as well so it could be an indication. Hope this is of help to anyone.

 

Now back to my shutdown bugfixing. Brett - using your DSDT on my m1330 also doesn't fix the shutdown issue so this could be a m1330-specific problem(different IOmaps maybe?)

 

cheers

jkbuha

Link to comment
Share on other sites

Hi,

 

I got a question related to the AnyCPU DSDT for M1330. I installed a plain SL and use all the kexts that are mentioned in the guide with the AnyCPU DSDT. I got a Kernel Panic with the message "CPU 1 has no HPET assigned to it".

 

I doubt that anything is missing from the guide, so what may I have missed out to boot with the DSDT.aml?

 

@IMMO: What Bios version are you using?

 

Any help is appreciated

Regards Klaas

 

My guess is that it is not finding the DSDT.aml at all. The HPET error is caused by an unpatched HPET (simple enough), and any of my DSDTs have the patch in place. Any chance you have two OS-X installs? It could be looking for the DSDT on the other OS-X install. This happened to me once when I had Leopard and SL installed. I actually had to put the DSDT on the Leopard partition for SL to find it.

 

You can specify which DSDT to load on boot using the DSDT= flag on boot.

 

I'm using bios A15 (the latest).

 

Immo

Link to comment
Share on other sites

Any chance you have two OS-X installs? It could be looking for the DSDT on the other OS-X install. This happened to me once when I had Leopard and SL installed. I actually had to put the DSDT on the Leopard partition for SL to find it.

 

You can specify which DSDT to load on boot using the DSDT= flag on boot.

 

I'm using bios A15 (the latest).

I only have on OS-X SL installed, everyhting on one partition. Do I have to delete an DSDT.aml from the Vanilla installation (I did not delete anything there)?

 

Yeah maybe I am not doing it the correct way. I have used: "DSDT=Extra/DSDT.aml", maybe I need to do it like this

"DSDT=/Extra/DSDT.aml" or

"DSDT=rd(0,0)/Extra/DSDT.aml"

 

Just to be sure I will update my Bios to the latest revision.

Link to comment
Share on other sites

At long last, the shutdown is fixed on our M1530 rigs! Finally, the ingenuity and persistence of mr. Brett Whinnen have paid off for us all. Brilliantly, Brett's rig seems to be identical to mine, consequently making his DSDT's perfectly compatible with mine. Let us give this savvy and dedicated techie a round of applause! *Applauds* I'm positively gitty about this development. ;)

 

I have a suggestion, as properly compiling the DSDT.aml is not an easy task, why not establish a DSDT.aml exchange among users of various systems? Just a thought.... ;)

Link to comment
Share on other sites

I only have on OS-X SL installed, everyhting on one partition. Do I have to delete an DSDT.aml from the Vanilla installation (I did not delete anything there)?

 

Yeah maybe I am not doing it the correct way. I have used: "DSDT=Extra/DSDT.aml", maybe I need to do it like this

"DSDT=/Extra/DSDT.aml" or

"DSDT=rd(0,0)/Extra/DSDT.aml"

 

Just to be sure I will update my Bios to the latest revision.

 

"DSDT"="/Extra/randomdsdtname.aml" works for me.

Link to comment
Share on other sites

At long last, the shutdown is fixed on our M1530 rigs! Finally, the ingenuity and persistence of mr. Brett Whinnen have paid off for us all. Brilliantly, Brett's rig seems to be identical to mine, consequently making his DSDT's perfectly compatible with mine. Let us give this savvy and dedicated techie a round of applause! *Applauds* I'm positively gitty about this development. :)

 

I have a suggestion, as properly compiling the DSDT.aml is not an easy task, why not establish a DSDT.aml exchange among users of various systems? Just a thought.... ;)

 

I wish I could take accolades for this, but all I did was integrate someone else's work into our DSDT.

 

Cheers,

 

Brett :)

Link to comment
Share on other sites

"DSDT"="/Extra/randomdsdtname.aml" works for me.

 

 

Thank you! It is working after reviewing my installation and checking the files. I guess it was the SMBIOS.plist file that was named in Uppercase because I downloaded a base file in wrong case. It does work when it is in lowercase. @Immo: the DSDT works flawlessly but Sleep does not work for me as well with your newly patched one. Regards Klaas

Link to comment
Share on other sites

 Share

×
×
  • Create New...