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

100% no issues with 10.6.5. None. My XPS M1530 sleeps/wakes just fine. See my signature for details. I may be on the latest beta Chameleon release and FakeSMC hardware Monitor sensors.

 

I am using a nice shortened DSDT by MaLd0n's DSDT Auto patcher. I did have to add the GTS method for shutdown. The latest chameleon should take care of sleep/wake.

 

DSDT Auto patcher:

 

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

 

Modify the PTS to GTS method in DSDT after auto patcher is done.

 

After you run DSDT autopatcher see this link to modify PTS to GTS and add the operation region as shown with SLPE which is basically taken from this thread but pieced together so you can actually see it all in one post rather than searching for pages and pages to piece this together for yourself.

 

I believe MaLd0n has already incorporated the Operation Region and PTS method in his auto patcher so search the DSDT before modifying the DSDT script with DSDTSE by EVO team. If the PTS and Operation Region is there then modify the PTS to GTS as I have outlined in the link below:

 

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

 

Link for DSDTSE:

 

http://www.osx86.es/?p=610

 

You could also use the DSDT editor and patcher which the Auto Patcher is based from and has a similar User Interface. I like both DSDTSE and DSDT editor and patcher:

 

Link for DSDT editor and Patcher:

 

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

 

HWS Sensors Project link and I think its been moved over to ProjectOSX forums:

 

http://www.insanelymac.com/forum/index.php...=234452&hl=

Link to comment
Share on other sites

100% no issues with 10.6.5. None. My XPS M1530 sleeps/wakes just fine. See my signature for details. I may be on the latest beta Chameleon release and FakeSMC hardware Monitor sensors.

 

I am using a nice shortened DSDT by MaLd0n's DSDT Auto patcher. I did have to add the GTS method for shutdown. The latest chameleon should take care of sleep/wake.

 

DSDT Auto patcher:

 

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

 

Modify the PTS to GTS method in DSDT after auto patcher is done.

 

After you run DSDT autopatcher see this link to modify PTS to GTS and add the operation region as shown with SLPE which is basically taken from this thread but pieced together so you can actually see it all in one post rather than searching for pages and pages to piece this together for yourself.

 

I believe MaLd0n has already incorporated the Operation Region and PTS method in his auto patcher so search the DSDT before modifying the DSDT script with DSDTSE by EVO team. If the PTS and Operation Region is there then modify the PTS to GTS as I have outlined in the link below:

 

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

 

Link for DSDTSE:

 

http://www.osx86.es/?p=610

 

You could also use the DSDT editor and patcher which the Auto Patcher is based from and has a similar User Interface. I like both DSDTSE and DSDT editor and patcher:

 

Link for DSDT editor and Patcher:

 

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

 

HWS Sensors Project link and I think its been moved over to ProjectOSX forums:

 

http://www.insanelymac.com/forum/index.php...=234452&hl=

 

How does one extract the original system DSDT prior to patching? My system simply won't boot at all without DSDT.aml, patching it is a nightmare to me, would you care to share your latest modified DSDT.aml with myself and the group?

Also, I too use the latest Chameleon 2 RC5 along with the FakeSMC.kext with hardware monitor sensors. Which CABP arguments do you employ as it pertains to the C2RC5 and sleep/wake functionality? Thanks!

 

An unrelated question: what is the maximum RAM that our (my) systems would accept?

Link to comment
Share on other sites

Thanks oSxFr33k!

 

How does one extract the original system DSDT prior to patching?
Use DSDTSE. It can easlly do it for you.
An unrelated question: what is the maximum RAM that our (my) systems would accept?

8gb. Will try to answer your other questions soon.

Link to comment
Share on other sites

Hey guys,

was reading other tuts about DSDT mods, and wondered if this might load AppleLPC properly and approach C-state function.

I tried to decompile and edit the generic m1330 nVidia DSDT in topic, however HPET probs cause KP when I try to boot new DSDT " DSDT=/Extra/DSDT_test.aml -v "

CPU has no HPET attached or something. Could be compiler issue, following guide to a t.

 

To proposed solution. Based on d00d's tutorial

 

Current Device(ISAB):

			 Device (ISAB)
		 {
			 Name (_ADR, 0x001F0000)
			 Device (PS2M)
			 {
				 Name (_HID, EisaId ("PNP0F13"))
				 Name (CRS, ResourceTemplate ()
				 {
					 IRQNoFlags ()
						 {12}
				 })
				 Method (_CRS, 0, NotSerialized)
				 {
					 Return (CRS)
				 }
			 }

			 Device (KBC)...
	   {

 

I want to try to insert this method based on address of LPC device (method from d00d's tut above).

Device (ISAB)
		 {
			 Name (_ADR, 0x001F0000)
			 Method (_DSM, 4, NotSerialized)
			 {
				 Store (Package (0x02)
					 {
						 "device-id", 
						 Buffer (0x04)
						 {
							 0x15, 0x28, 0x00, 0x00
						 }
					 }, Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				 Return (Local0)
			 }

			 Device (PS2M)...

 

Not sure if I can just lift that code and change the address based on my machine. I get it from lspci -bnn:

00:1f.0 ISA bridge [0601]: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller [8086:2815] (rev 02)

Is possible that SBUS device address is wrong?

00:1f.3 SMBus [0c05]: Intel Corporation 82801H (ICH8 Family) SMBus Controller [8086:283e] (rev 02)

SBUS Fix in generic m1330 available in topic has different device-id and name

Device (SBUS)
		 {
			 Name (_ADR, 0x001F0003)
			 Method (_DSM, 4, NotSerialized)
			 {
				 Store (Package (0x04)
					 {
						 "name", 
						 "pci8086,3a30", 
						 "device-id", 
						 Buffer (0x04)
						 {
							 0x30, 0x3A, 0x00, 0x00
						 }
					 }, Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				 Return (Local0)
			 }

maybe it would look different for m1330 like:

Device (SBUS)
		 {
			 Name (_ADR, 0x001F0003)
			 Method (_DSM, 4, NotSerialized)
			 {
				 Store (Package (0x04)
					 {
						 "name", 
						 "pci8086,283e", 
						 "device-id", 
						 Buffer (0x04)
						 {
							 0x3E, 0x28, 0x00, 0x00
						 }
					 }, Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				 Return (Local0)
			 }

In topic it also says SBUS device above ISAB, so perhaps move all SBUS code above ISAB, not sure if necessary or cosmetic, but worth a shot.

Also I am not sure if these changes would require making further DSDT mods, but I am interested to try to see if LPC loads correctly.

Currently I have not succesfully compiled these edits, I keep getting HPET error. If anyone else with m1330 would like to try, post results.

 

Or if anyone else can help with HPET errors. I am using iasl 3.0a from DSDT patcher in topic. following directions as best as possible.

 

Also anyone know how to get full ACPI tables dumped from ubuntu Maverick running on hard disk? The script in topic does not work from ether Maverick or from install. I could always try LiveDVD again, but why? would like to try AnVal loader with SSDT tables again and more custom DSDT, but I can't get my dump on :)

Link to comment
Share on other sites

@DarwinX,

 

 

In order to extract a clean (Vanilla) DSDT you have to either use a Live Linux CD or boot into your Snow Leopard using a USB flash or CDrom boot. You find a few of them around. I will try and find mine and zip the ISO.

 

 

You cannot extract your DSDT cleanly if you boot into Snow with your current DSDT. All you are doing is extracting your already patched DSDT and you don't want that.

 

 

I have attached my files from my EFI partition. Everything you need is there. There are a couple of DSDT in there but I believe the final one is DSDT.aml

 

I have 8GB of ram at 800MHZ installed but system profiler sees it as 667MHZ dunno why?

 

 

I don't play around with the FakeSMC I just use whatever the default settings are at.

EFI.XPS_M1530_MaLd0n_Final.zip

Link to comment
Share on other sites

 

 

Perfect that patch now includes everything needed including the PTS to GTS. Its been a while since I grabbed your latest Auto Patcher application. Is that patch now available with the App?

 

DarwinX still would like to pull out a Clean (Vanilla) DSDT from his DSDT override Snow Leopard. Does the DSDT Editor actually extract a clean (Vanilla) DSDT from Snow Leopard if you boot with DSDT override?

 

I use the EMPIRE BOOT CD but created and EFI partition on a USB flash drive and put the ISO contents onto the USB Flash Drive. If I boot this way then Empire uses kexts and no DSDT override to boot Snow. I can then pull clean DSDT using either DSDT Editor and Patcher, DSDTSE or the script you have posted before to extract the DSDT from a terminal window. In any case it pulls a clean DSDT.

 

I found this method to be the easiest way by far then any other such as booting a Live Linux CD.

 

Thanks again for the great work on this project.

Link to comment
Share on other sites

@DarwinX,

 

In order to extract a clean (Vanilla) DSDT you have to either use a Live Linux CD or boot into your Snow Leopard using a USB flash or CDrom boot. You find a few of them around. I will try and find mine and zip the ISO.

 

You cannot extract your DSDT cleanly if you boot into Snow with your current DSDT. All you are doing is extracting your already patched DSDT and you don't want that.

 

I have attached my files from my EFI partition. Everything you need is there. There are a couple of DSDT in there but I believe the final one is DSDT.aml

 

I have 8GB of ram at 800MHZ installed but system profiler sees it as 667MHZ dunno why?

 

I don't play around with the FakeSMC I just use whatever the default settings are at.

 

I do realize that booting with an already patched DSDT.aml is futile if the purpose is to achieve a clean DSDT extraction from the system, hence my question. In any case, I will be trying your DSDT.aml soon and will post results shortly. What is the CPU on your M1530?

 

On a different note, there is a newly modified VoodooPS2Controller.kext by Andy Vandijck with the integrated nub which allows it to load without the AppleACPIPS2Nub.kext:

 

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

 

Two finger scrolling, tapping and multimedia iTunes keys are fully supported and operational in that kext.

This modified Apple's native Trackpad.prefPane allows for full trackpad control of the fore mentioned kext:

 

Trackpad.prefPane.zip

 

To avoid conflicts, ensure that there are no other Trackpad.prefPanes anywhere within your system which means that the existing Trackpad.prefPane must be removed.

 

Also, the latest Chameleon 2 RC5 fully supports memory detection allowing removal of the memory info from the smbios.plist:

 

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

 

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

 

Edit: As far as the FakeSMC.kext, here is what I achieve with the hardware sensor monitor plugin integration using iStat Menus 3:

 

 

 

http://www.projectosx.com/forum/index.php?showforum=165

 

http://www.projectosx.com/forum/index.php?showtopic=1206

Link to comment
Share on other sites

@DarwinX,

 

CPU is the T9500 2.6GHZ

 

I will see if I can get you a clean DSDT then you can use the patch posted above by MaLd0n or run his DSDT Auto patcher with a clean DSDT.

Link to comment
Share on other sites

@DarwinX,

 

CPU is the T9500 2.6GHZ

 

I will see if I can get you a clean DSDT then you can use the patch posted above by MaLd0n or run his DSDT Auto patcher with a clean DSDT.

 

Thank You, that is precisely what I require to begin the patching process with the DSDT Auto Patcher. I am currently using your dsdt.aml_XPS_M1530_FInal, which is working as expected. It is the only 25 KB DSDT.aml in the folder you provided, the rest are 20 KB, so I assumed it to be the proper one however, please confirm if this is indeed the correct version.

Also, would you mind sharing your current DSDT.aml, with the latest patch by MaLd0n already included?

Link to comment
Share on other sites

Anybody try upgrading to 10.6.6 and have their sleep functionality restored?

 

I'm not too keen on messing with my DSDT...it seems to work okay.

 

Anybody try upgrading to 10.6.6 and have their sleep functionality restored?

 

I'm not too keen on messing with my DSDT...it seems to work okay.

Link to comment
Share on other sites

Hi DarwinX... what is it that you are trying to get done? I read the last few posts, but understood that you want a new DSDT, but for what?

 

oSxFr33k: about the RAM, I'm sure you tried to mod the SMBIOS.plist. Didn't that work? I would work earlier, something must have broken along the way!! Cannot test it now, tin-can busy crunching some codes....!! Will give it a shot next week and let you know...

 

Sleep has been an issue with SL for a while. I did not bother about it as it happens very very rarely for me. I have uptimes of weeks at a stretch and sleep almost everyday (both me and my tin-can!!). It has something to do with the power management. So make sure you switch power from Battery to AC or vice versa between sleeping ans wakeup. Essentially, sleep and wakeup in the same power mode. This has always worked for me. I am yet to embrace 10.6.6

 

 

 

myrorym: Will look at your patches as soon as I get some "insanelymac" time... you might have figured it out by then...!! Where is IMMO when we need him/her...?? Brett you around...?? Any of the other old dogs...?? We need a roll call here...!!

 

 

Also, just a thought. I prefer iStat Nano to iStat Menu as I don't need so much details. You can convert the widget into an app using Amnesty Singles and then stick it to the desktop and have it run at startup from Accounts preference. If you don't wan't to see its (ugly!) dock icon mod its LSUIElement to 1 in its info.plist or just use dockless...

post-272103-1294494584_thumb.jpg

Link to comment
Share on other sites

MaLd0n,

 

Your patch needs adjustment. Everything works except shutdown. The PTS and GTS need to be separate methods and not the way your patch had it.

 

I have it working now can you fix the patch so I can test?

 

 

This is what the patch did:

 

    Method (_PTS, 1, NotSerialized)
   {
       Store (SMI (0x46, Zero), MIS1)
       SMI (0x8A, Arg0)
       Method (_GTS, 1, NotSerialized)
       {
           If (LEqual (Arg0, 0x05))
           {
               Store (Zero, SLPE)
               Sleep (0x10)
           }
       }
   }

 

If you can please fix your patch so that the script looks like below then shutdown will work:

 

       Method (_PTS, 1, NotSerialized)
   {
       Store (SMI (0x46, Zero), MIS1)
       SMI (0x8A, Arg0)
   }

   Method (_GTS, 1, NotSerialized)
   {
       If (LEqual (Arg0, 0x05))
       {
           Store (Zero, SLPE)
           Sleep (0x10)
       }
   } 

 

 

Thanks

Link to comment
Share on other sites

Hi DarwinX... what is it that you are trying to get done? I read the last few posts, but understood that you want a new DSDT, but for what?

 

Welcome back, Talisman. I just want the best possible DSDT.aml for my current system.

 

MaLd0n,

 

Your patch needs adjustment. Everything works except shutdown. The PTS and GTS need to be separate methods and not the way your patch had it.

 

I have it working now can you fix the patch so I can test?

 

Interestingly, I do have the shutdown function using your final DSDT.aml. However, I did also have it with Brett Whinnen's DSDT.aml dated April 14, 2010.

Link to comment
Share on other sites

@DarwinX,

 

I don't want to go into this too much since I already went into this in one of my above posts. Brett's should have the modified DSDT with the GTS method added instead of changing or modifying the PTS method for Gigabyte boards which btw is where they got the PTS shutdown method from. This is not invented by anyone from this thread. It was from a gigabyte thread then modified by AB__73. AB's method was very inventive one and as he quoted from one of the posts in this thread a better method for shutdown without changing the PTS method.

 

DarwinX what exactly are you trying to achieve? I soon will attach a vanilla DSDT but at this point I cannot provide you with much anything else. Brett's DSDT is really not much different than MaLdon's DSDT as far as functionality. MaLd0n's DSDT patch for the M1530 cuts out all the unnecessary devices that OSX will not use. WHat ever is not working for you now with Bretts will not fix anything with Mald0n's just FYI.

Link to comment
Share on other sites

MaLd0n,

 

Your patch needs adjustment. Everything works except shutdown. The PTS and GTS need to be separate methods and not the way your patch had it.

 

I have it working now can you fix the patch so I can test?

 

 

This is what the patch did:

 

    Method (_PTS, 1, NotSerialized)
   {
       Store (SMI (0x46, Zero), MIS1)
       SMI (0x8A, Arg0)
       Method (_GTS, 1, NotSerialized)
       {
           If (LEqual (Arg0, 0x05))
           {
               Store (Zero, SLPE)
               Sleep (0x10)
           }
       }
   }

 

If you can please fix your patch so that the script looks like below then shutdown will work:

 

       Method (_PTS, 1, NotSerialized)
   {
       Store (SMI (0x46, Zero), MIS1)
       SMI (0x8A, Arg0)
   }

   Method (_GTS, 1, NotSerialized)
   {
       If (LEqual (Arg0, 0x05))
       {
           Store (Zero, SLPE)
           Sleep (0x10)
       }
   } 

 

 

Thanks

 

Hi oSxFr33k

 

I'll fix the patch

Thanks for that

 

EDIT

 

DSDT_Auto_Patcher_1530.zip

Link to comment
Share on other sites

Welcome back, Talisman. I just want the best possible DSDT.aml for my current system.

 

I echo oSxFr33k: Yes, shutdown is by _GTS is AB_73's work and M1530 has gained much from the Gigabyte people. The _PTS method HAD to be modified to have the correct hardware id to work with M1530. It was discovered by dLach in the Gigabyte threads and MorLipf modified it according to his suggestion. What AB_73 did was keep the OEM(not Gigabyte) _PTS and shutdown with _GTS instead. The Gigabyte _PTS and AB_73's _GTS will not work together. The code suggested by oSxFr33k here is precisely OEM _PTS and AB_73 _GTS.

 

As far as I know, Brett's DSDT is not only the best one working for M1530, but also M1530 with the current DSDT is the one of the most functional laptops around. Also, I don't complain about the PTS method as shutdown still works without fail and doesn't affect anything else. Only things that won't work are:

 

restart works intermittently with Chameleon RC5 (SVNs)

C-States are yet to be implemented, but that would just save some battery and run the laptop cooler (possibly) but we can still do without it. I get almost 3.5-4 hours from my 9 cell and don't need any more.

 

Yes Brett's DSDT needs cleaning, but that is just aesthetics as it does not interfere with its functionality. The M1530 is not perfect but the cost to benefit in perfecting the DSDT anymore is too large for me now. Hopefully, I will still be able to give the C-States another shot.

 

Also, most of us will graduate from the M1530 in a matter of a year or so. Hopefully the i7 quads that we will buy will serve us equally well.

Link to comment
Share on other sites

@DarwinX,

 

I don't want to go into this too much since I already went into this in one of my above posts. Brett's should have the modified DSDT with the GTS method added instead of changing or modifying the PTS method for Gigabyte boards which btw is where they got the PTS shutdown method from. This is not invented by anyone from this thread. It was from a gigabyte thread then modified by AB__73. AB's method was very inventive one and as he quoted from one of the posts in this thread a better method for shutdown without changing the PTS method.

 

So I see however, I never implied that someone from this thread invented such a method but simply stated that there is one already in existence. I hadn't realized that there is more than one DSDT shutdown methods for our systems.

 

DarwinX what exactly are you trying to achieve? I soon will attach a vanilla DSDT but at this point I cannot provide you with much anything else. Brett's DSDT is really not much different than MaLdon's DSDT as far as functionality. MaLd0n's DSDT patch for the M1530 cuts out all the unnecessary devices that OSX will not use. WHat ever is not working for you now with Bretts will not fix anything with Mald0n's just FYI.

 

Specifically, I desire to achieve system fan control via FakeSMC.kext hardware sensors monitoring functionality. The ACPIMonitor.kext which allows that, requires the modification of an existing DSDT.aml per:

 

http://www.projectosx.com/forum/index.php?showtopic=1206

 

The project itself is at: http://www.projectosx.com/forum/index.php?showforum=165

 

Here is a screenshot of my progress thus far:

 

 

Link to comment
Share on other sites

Specifically, I desire to achieve system fan control via FakeSMC.kext hardware sensors monitoring functionality. The ACPIMonitor.kext which allows that, requires the modification of an existing DSDT.aml per:

 

Do you want to "control" the fan speed or just monitor it. Monitoring works even without the DSDT mod. I have the same DSDT as Brett's and FakeSMC from the thread you linked, just that I build my own from their SVN. All monitors work fine without any DSDT mod I get all fan speeds.

Link to comment
Share on other sites

Also, most of us will graduate from the M1530 in a matter of a year or so. Hopefully the i7 quads that we will buy will serve us equally well.

 

I'm likely getting a genuine Mac laptop next, possibly after the OS X Lion.

 

Do you want to "control" the fan speed or just monitor it. Monitoring works even without the DSDT mod. I have the same DSDT as Brett's and FakeSMC from the thread you linked, just that I build my own from their SVN. All monitors work fine without any DSDT mod I get all fan speeds.

 

I believe I already do possess the ability to view all available SMC sensor read outs. Now, I just want fan speed control, which does require some DSDT.aml editing, per Slice. Would you care to post a screenshot or just a list of your currently available sensor read outs?

 

 

Link to comment
Share on other sites

There you go:

 

ps. You fan speed readout seems too high. I get: 960/970, 1230 and 1410 rpm.

 

I have noticed that. With the former FakeSMC which only loaded from the /S/L/E/ direcotory, my fan speed varied around 960-970. However, my fan readout increased by approximately 1,000 RPM with the latest 3.1.0 iteration which works from the /Extra/Exensions/. Also, based on your Heatsink A temperature, I believe that you have manually set your TJMax value in the IntelCPUMonitor.kext plist; that override is purely cosmetic and serves no actual purpose

Link to comment
Share on other sites

I have noticed that. With the former FakeSMC which only loaded from the /S/L/E/ direcotory, my fan speed varied around 960-970. However, my fan readout increased by approximately 1,000 RPM with the latest 3.1.0 iteration which works from the /Extra/Exensions/. Also, based on your Heatsink A temperature, I believe that you have manually set your TJMax value in the IntelCPUMonitor.kext plist; that override is purely cosmetic and serves no actual purpose

 

No I didn't change the TJMax, it all came from the SVN, they might have changed it there. Anyways, I don't really care about the TJMax, I just compare with coolbook and know the difference. Then it is just a little bit of math...!!

Link to comment
Share on other sites

 Share

×
×
  • Create New...