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

Hey all, do we have any news on C states working on out m1330`s?

 

CStates and shutdown is the 2 unicorns of these laptops.

Lpc not init.. why? well i bet its cause proprietary dell changes in mobo.

Link to comment
Share on other sites

CStates and shutdown is the 2 unicorns of these laptops.

Lpc not init.. why? well i bet its cause proprietary dell changes in mobo.

 

 

indeed, its just driving me insane when i have extra battery time i cant get!!!!!

seems to be the 2 holy grails!!

 

That's a really good point.

 

So what if we change the deviceid to match the LPC id found in the MBP4,1 or the MP4,1 [ie the model that most closely resembles the T8300/T9300?

 

Can anyone run an LSPCI on a proper mac and report the deviceid?

Here's mine from a Dell XPS M1330 (ICH8 - 2815):

 

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

 

Then in order to change the deviceid to a more compatible id (eg: 3A18 below) insert the hack using DTGP method as shown below:

 

Device (LPCB)

{

Name (_ADR, 0x001F0000)

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x02)

{

"device-id",

Buffer (0x04)

{

0x18, 0x3A, 0x00, 0x00 //hack the ID..

}

}, Local0)

DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

Return (Local0)

}

 

 

Maybe this could be the way towards finding the elusive CST on an XPS!

 

Cheers

jkbuha

 

 

I cant get c states to work at all, even with the generatecstates feature on Chimera

Link to comment
Share on other sites

indeed, its just driving me insane when i have extra battery time i cant get!!!!!

seems to be the 2 holy grails!!

 

 

 

 

I cant get c states to work at all, even with the generatecstates feature on Chimera

 

i tried all that. even with subsystem and subvendor apple.

its a change in the way our laptops use the Embedded Controller ala Dell Style ( i say we petition dell to update the dam D05 M08 series dsdt acpi)

on newer laptops the (VID) has _S3D or _PSC but ours got left behind.

many people had issues with linux and this laptop in 2009 with ACPI .. did they ever release a Linux version (N series) probably.. but wheres the dloads for that bios ?

it dynamicaly detects it in mobo.. so why cant they do same with intel gma or nvidia and make separate dsdt to avoid mixed (VID) in same dsdt!!!

 

/me paints face blue and screams... WE WANT ACPI COMPLIANCE !! (fix acpi phuckups)... lets hit DuLL support forums !!

also we could ask WTF is MECI ? only these non shutdown lappies use it. i think its part of the EC as it shows 0x66 EC usualy is 0x60 i think.

 

i was looking at NWAK and i think thats where it says no wake! aka shutdown. but the sequence doesnt complete.

(also was reading changelog of acpi specs to 2.0 and said _PTS and _GTS doesnt run on some shutdowns.)

or theory 2 it assigns memory for both card bus'es but uses only part of it and cant shut down a portion of it.

Link to comment
Share on other sites

immo id sugest u put similar steps to dsdt auto-patcher of clearing up anycpu dsdt with RC5 GeneratePStates and DropSSDT=No

and maybe clearup the com.apple.Boot.plist [ code] ?and the newer revs renaming it to org.chameleon.Boot.plist

 

At some point I have to update the smbios.plist. Adding a com.apple.Boot.plist would also be helpful. One thing, I don't actually use GeneratePStates, I use the P-States built into the bios SSDT. I also don't use the DropSSDT option. This works fine for me. Doesn't DropSSDT=No conflict with GeneratePStates, since the SSDT defines the P-states?

Link to comment
Share on other sites

i tried all that. even with subsystem and subvendor apple.

its a change in the way our laptops use the Embedded Controller ala Dell Style ( i say we petition dell to update the dam D05 M08 series dsdt acpi)

on newer laptops the (VID) has _S3D or _PSC but ours got left behind.

many people had issues with linux and this laptop in 2009 with ACPI .. did they ever release a Linux version (N series) probably.. but wheres the dloads for that bios ?

it dynamicaly detects it in mobo.. so why cant they do same with intel gma or nvidia and make separate dsdt to avoid mixed (VID) in same dsdt!!!

 

/me paints face blue and screams... WE WANT ACPI COMPLIANCE !! (fix acpi phuckups)... lets hit DuLL support forums !!

also we could ask WTF is MECI ? only these non shutdown lappies use it. i think its part of the EC as it shows 0x66 EC usualy is 0x60 i think.

 

i was looking at NWAK and i think thats where it says no wake! aka shutdown. but the sequence doesnt complete.

(also was reading changelog of acpi specs to 2.0 and said _PTS and _GTS doesnt run on some shutdowns.)

or theory 2 it assigns memory for both card bus'es but uses only part of it and cant shut down a portion of it.

 

 

 

 

I think Dell are trying to ignore anything to do with our systems, due to the serious problems they actually had on release. The obvious one being the Graphics chip faliure!!!

 

C`mon Dell, HELP!!! we`re your customers!

Link to comment
Share on other sites

what smbios.plist u using ?(post in code box)

 

did u get the dsdt fixed with Device (PCI) _UID instead of _ADR ??

 

i recommend smbios.plist of MacBookPro6,1 my issues with browser lag are over.

fixed Firewire power conservation disabled in my latest dsdt also.

 

i think im gona tame a lion tonight. i have to go onsite today.

 

Upon substituting the MacBookPro5,1 smbios.plist with the recommended MacBookPro6,1, I lose the DSDT based graphics acceleration.

 

immo id sugest u put similar steps to dsdt auto-patcher of clearing up anycpu dsdt with RC5 GeneratePStates and DropSSDT=No

and maybe clearup the com.apple.Boot.plist [ code] ?and the newer revs renaming it to org.chameleon.Boot.plist

 

also the HPET i think 0x0F works best (check out my new dsdt) i added firewire fix. but for m1330 and m1530 is in different locations.

(and emphasize its a beta dsdt with room for improvements with feedbacks)

 

Would you please further elaborate on your DSDT.aml modifications as they pertain to the XPS M1530 systems?

(RTC, HPET, FRWR and SDHC)

 

DSDT.aml.zip

I appreciate your input as it is extremely valuable to me.

Link to comment
Share on other sites

Upon substituting the MacBookPro5,1 smbios.plist with the recommended MacBookPro6,1, I lose the DSDT based graphics acceleration.

 

 

 

Would you please further elaborate on your DSDT.aml modifications as they pertain to the XPS M1530 systems?

(RTC, HPET, FRWR and SDHC)

 

DSDT.aml.zip

I appreciate your input as it is extremely valuable to me.

 

with ioreg i can fix it. mines a good example of what it needs.. not where it needs it ( mem address ranges change for CRD1)

the m1330 is much more closer to inspiron 1520 than m1530. but same stuff should work if adapted to m1530 and m1330.

im using GraphicsEnabler now and it works fine here but i have g84 nvidia u have g86 with hdmi?

 

u cant just copy my stuff to yours blindly.. IORegexplorer helps .

(example Lan is in RP01 for u. for me its between CRD0 and CRD1 and address changes)

 

EDIT: i fixed it back to normal. (no graphics Injection.. use graphicsenabler in Boot.plist)

DRW was missing entry bellow for DRW return 0x40 next to WLG. (LGreaterequal 0x20 = 0x40)

removed the (0) in MB2 now its IRQNo () so HPET can use 0 freely.

placed SMBUs under HPET

 

get me ioregistry of m1530 and i put in the SDHC and Firewire power conservation fix.

 

heres my sendme with kextstat so people see how i roll.

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

 

DSDT i posted here has wrong value in RTC 0x70 is right i put 0x72 ( from memory i should have checked it)

Link to comment
Share on other sites

with ioreg i can fix it. mines a good example of what it needs.. not where it needs it ( mem address ranges change for CRD1)

the m1330 is much more closer to inspiron 1520 than m1530. but same stuff should work if adapted to m1530 and m1330.

im using GraphicsEnabler now and it works fine here but i have g84 nvidia u have g86 with hdmi?

 

u cant just copy my stuff to yours blindly.. IORegexplorer helps .

(example Lan is in RP01 for u. for me its between CRD0 and CRD1 and address changes)

 

EDIT: i fixed it back to normal. (no graphics Injection.. use graphicsenabler in Boot.plist)

DRW was missing entry bellow for DRW return 0x40 next to WLG. (LGreaterequal 0x20 = 0x40)

removed the (0) in MB2 now its IRQNo () so HPET can use 0 freely.

placed SMBUs under HPET

 

get me ioregistry of m1530 and i put in the SDHC and Firewire power conservation fix.

 

heres my sendme with kextstat so people see how i roll.

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

 

Actually, according to the NVClockX.kext, we both have the same G84.

NVClockX: Card: 0, Vendor ID: 10de, Device ID: 407, Architecture: 40000, G84 [GeForce 8600M GT]

Here is my IORegistry output:

XPS_M1530.ioreg.zip

Frankly, I understand DSDT's and such in concept only, the details are all gibberish to me. So, while I am able to competently apply existing DSDT patches and edit it following expert recommendations, I fail to conceive its inherent governing mechanism. Thank You for all your DSDT efforts and please do not hesitate to inform me if you require anything further from me as it pertains to this issue.

 

Edit: your modified DSDT.aml inexplicably resets/formats the CMOS chip and there is NO log output. I do see a new error in the verbose boot up log, something pertaining to the AppleSMbus.

Link to comment
Share on other sites

Actually, according to the NVClockX.kext, we both have the same G84.
NVClockX: Card: 0, Vendor ID: 10de, Device ID: 407, Architecture: 40000, G84 [GeForce 8600M GT]

Here is my IORegistry output:

XPS_M1530.ioreg.zip

Frankly, I understand DSDT's and such in concept only, the details are all gibberish to me. So, while I am able to competently apply existing DSDT patches and edit it following expert recommendations, I fail to conceive its inherent governing mechanism. Thank You for all your DSDT efforts and please do not hesitate to inform me if you require anything further from me as it pertains to this issue.

 

Edit: your modified DSDT.aml inexplicably resets/formats the CMOS chip and there is NO log output. I do see a new error in the verbose boot up log, something pertaining to the AppleSMbus.

 

Strange i dont get cmos resets with RTC 0x08.

EDIT: RTC needs 0x70 not 0x72 my mistake.

 

The SDcard is disabled in bios i dont see 0822 anywhere.

but should be _ADR 0x00900001 end digit is 1 and 2 would be the other device not used in VoodooSDHC

 

SMBUS .. only thing i can think of it needs SMBD enable and disable.

 

wireles can be rebranded for a real apple bcm in dsdt so it says IOVendor Apple instead of Unknown

 

the BUS0@0 ..look at _STA 0xFFFFFFF i have 0x0F on my ioreg.

heres my ioreg

MHacBook6_1520.zip

Link to comment
Share on other sites

Edit: your modified DSDT.aml inexplicably resets/formats the CMOS chip and there is NO log output. I do see a new error in the verbose boot up log, something pertaining to the AppleSMbus.

 

Same here. Resets it big time. It's not the '08' in the RTC because I have '08' too and it does not reset the CMOS.

 

It would nice to know what your patches are. Thanks.

 

Regards

Link to comment
Share on other sites

Same here. Resets it big time. It's not the '08' in the RTC because I have '08' too and it does not reset the CMOS.

 

It would nice to know what your patches are. Thanks.

 

Regards

 

i used bad source (dsdt darwinx posted yesterday)

ill have to outline what patches are done in my untouched dsdt. (doing that soon today)

 

By the way im using bios A04 inspiron 1520 with the dsdt from A09 :) seems to work so far past week well.

 

search dsdt for words i use (search this in dsdt)

Mainly the patches are OSI (DRW)=0x040 , HPET irq 0 and 8, RTC single ram bank fix 0x72 not 0x70, (SBUS) under Hpet, PCI (_UID) add PNP0C08, remove irq 0 from (MB2)

(USB i did not touch on darwinx dsdt except clock id 0x02 for second (EHC2)

 

MacBookPro6,1 Smbios works for me with graphicsenabler

GeneratePStates GenerateCStates (even if they dont work) GenerateTStates (dunno where i found that line but i believe it helps)

system type 02

 

(no kexts in /Extra/Extensions) to prevent issues with cache in future for lion.

VooDooPS2 from andy december (synaptics) (M1530 use Bretts voodoops2 modded for m1530)

VooDooHDA 2.6.x works better for HDMi cases (m1530)but i hear has lower volume on reboot..

i use 2.7.2 i got no hdmi (try to edit gfx-hda in both hdef and AGP,VID with DSM

im not using hdadisabler i get one line with sound assertion but works fine. with hdmi and older 2.6.x i think u do need it.

(ill add more as it comes to mind today)

i can post my untouched dsl and the current dsl to compare..

u do same.. Post untouched dsdt aml or dsl of m1530 so i can run patches on it to compare to last one i posted.

 

Bios settings:

disable flash cache module.

enable ahci

disable PXE of LAN and in power management Wake From Lan.

Power management: Enable Virtual technology, Speedsteps, Intel dynamic acceleration,

Post Behavior: Num Lock on boot =Off

WIreless: WWan(cell broadband slot) and WLA(wireless slot) enabled same with bluetooth.

switch: disable all, and wireless catcher. reset to basic mode first. then turn off.

 

this post will be revised more after looking more at my settings

 

dsl s in this zip is my current and original untouched (textwrangler compare?)

1520dsls.zip

Link to comment
Share on other sites

hi

i have uploaded image with that error

i hope this help

thanks

It looks like you need to replace 'IOPCIFamily' and 'AppleACPIPlatform' with those from Snow Leo 10.6.6/7 and replace _ADR by _UID in your DSDT (PCI0 level).

 

These are amply covered in this thread and many others.

 

Cheers

 

i used bad source (dsdt darwinx posted yesterday)

ill have to outline what patches are done in my untouched dsdt. (doing that soon today)

 

That would be great. There is no rush :)

 

Rgds

Link to comment
Share on other sites

It looks like you need to replace 'IOPCIFamily' and 'AppleACPIPlatform' with those from Snow Leo 10.6.6/7 and replace _ADR by _UID in your DSDT (PCI0 level).

These are amply covered in this thread and many others.

As LatinMcG mentioned, you do not have to replace any stock Apple kexts with older versions, period. You'll probably cause more issues than you're trying to fix. This replacement was only necessary before the PCI patch you mentioned was discovered.

Link to comment
Share on other sites

As LatinMcG mentioned, you do not have to replace any stock Apple kexts with older versions, period. You'll probably cause more issues than you're trying to fix. This replacement was only necessary before the PCI patch you mentioned was discovered.

 

yah the Tequila-fix in dsdt sticky. old too

(in gigabytes i change _ADR 0x01 to 0x00)

 

by the way i forgot to add i used SLice's (SMBD) enable/disable in pci wak and pts/gts that might help enable smbus.

in the WAK

						LIDE ()
				}
			}
		}
	}

	Store (Zero, SMBD)
	If (LEqual (Arg0, 0x04))
	{
		Notify (\_SB.PBTN, 0x02)
		Store (One, MIS4)
		SOST ()
	}

in the PCI

	Scope (_SB)
{
	Device (PCI0)
	{
		Name (_HID, EisaId ("PNP0A08"))
		Name (_CID, EisaId ("PNP0A03"))
		Name (_UID, Zero)
		Name (_PRW, Package (0x02)
		{
			0x0B, 
			0x05
		})
		Method (_INI, 0, NotSerialized)
		{
			Store (SMI (0x98, Zero), MIS0)
			And (MIS0, 0x13, MIS0)
			Store (Zero, SMBD)
			Store (One, MIS4)
			SOST ()
		}

in the_PTS or _GTS

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

 

in the m1530 the (CRD0) can be renamed to (FRWR)

				Device (FRWR)
			{
				Name (_ADR, 0x00090000)
				Name (_GPE, 0x1A)
				Method (_INI, 0, NotSerialized)
				{
					SMI (0x95, 0x04)
				}

				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x04)
						{
							"fwhub", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x00
							}, 

							"model", 
							Buffer (0x0F)
							{
								"Firewire Ricoh"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}

				Name (_S1D, Zero)
				Name (_S3D, 0x03)
			}

then add the _GPE L1A.

		Method (_L1A, 0, NotSerialized)
	{
		Notify (\_SB.PCI0.PCIE.FRWR, Zero)
		Notify (\_SB.PBTN, 0x02)
	}

firewire power conservation fixed.

next is SDHC

rename (CRD1) to Device (SHDC)

				Device (SDHC)
			{
				Name (_ADR, 0x00090001)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x04)
						{
							"model", 
							Buffer (0x14)
							{
								"SD-reader Ricoh 822"
							}, 

							"device_type", 
							Buffer (0x10)
							{
								"Card Reader PCI"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}
}

thats the sdhc vendor 1180, device 822 . just found it!.

Complete PCIE section for M1530

            Device (PCIE)
           {
               Name (_ADR, 0x001E0000)
               Name (_PRW, Package (0x02)
               {
                   0x0B, 
                   0x04
               })
              Device (FRWR)
               {
                   Name (_ADR, 0x00090000)
                   Name (_GPE, 0x1A)
                   Method (_INI, 0, NotSerialized)
                   {
                       SMI (0x95, 0x04)
                   }

                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x04)
                           {
                               "fwhub", 
                               Buffer (0x04)
                               {
                                   0x00, 0x00, 0x00, 0x00
                               }, 

                               "model", 
                               Buffer (0x0F)
                               {
                                   "Firewire Ricoh"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }

                   Name (_S1D, Zero)
                   Name (_S3D, 0x03)
               }

               Device (SDHC) // Renamed from CRD1 optional cosmetic
               {
                   Name (_ADR, 0x00090001)
                   Method (_DSM, 4, NotSerialized) // Start ADDING HERE
                   {
                       Store (Package (0x04)
                           {
                               "model", 
                               Buffer (0x14)
                               {
                                   "SD-reader Ricoh 822"
                               }, 

                               "device_type", 
                               Buffer (0x10)
                               {
                                   "Card Reader PCI"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   } // Stop Adding HERE
            }

            Name (_S1D, Zero)
            Name (_S3D, 0x03)
        }

dont forget to use VoodooSDHC.kext (should be included in my signature link)

Link to comment
Share on other sites

It looks like you need to replace 'IOPCIFamily' and 'AppleACPIPlatform' with those from Snow Leo 10.6.6/7 and replace _ADR by _UID in your DSDT (PCI0 level).

 

These are amply covered in this thread and many others.

 

Cheers

 

 

 

That would be great. There is no rush :)

 

Rgds

hi

how can i replace it ?

can u upload it to me.

thanks

Link to comment
Share on other sites

hi

how can i replace it ?

can u upload it to me.

thanks

Do you mean how do you replace the kexts? As said before, don't replace them! If you are talking about the patched DSDT, it is attached to the first post, as are the instructions to make your own patched DSDT should you want to. This will work fine so long as you have NVidia graphics.

 

Immo

Link to comment
Share on other sites

Do you mean how do you replace the kexts? As said before, don't replace them! If you are talking about the patched DSDT, it is attached to the first post, as are the instructions to make your own patched DSDT should you want to. This will work fine so long as you have NVidia graphics.

 

Immo

 

i used the patched DSDT, nothing happen, the same error as before? i put it in extra folder and reboot.

any hint?

i have 2,5 GH core due, T9300, Nvidia 8400

Link to comment
Share on other sites

i used bad source (dsdt darwinx posted yesterday)

 

Bad source? I believe that the CMOS chip reset is caused by the Scope (_PR) section being moved to the very top of your modified DSDT, above all Methods: :)

 

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

Link to comment
Share on other sites

Bad source? I believe that the CMOS chip reset is caused by the Scope (_PR) section being moved to the very top of your modified DSDT, above all Methods: :blink:

 

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

 

nope at least not for me..

it was the FULL SMBUS . i recommend a non SMBUS'ed dsdt to add the simple smbus .. not the fully bloated SMBUS ( its missing by dell for a reason)

(Immo post on the old smbus addition as optional and new simple smbus further down .)

 

check RTC 0x72 not 0x70 (oops real macbook is 0x70) Hmmm

I USE 0x70 my mistake. i had put in yours 0x72 (wrong).. i must have bad memory in socket (head) :wacko:

 

lets try again.

 

MistakeLog aka Changelog

am time:

bahh i forgot to add the _GPE Method L1A

pm time:5:02 EST

EDIT: FIXED RTC reset! (im smokin it today!) .. reuploaded

.. reuploaded

.. reuploaded

 

(do u have an untouched m1530 dsdt.. i want to compare in case i removed something stock)

 

Boot -v -f the first time. then run disk util repair permissions.

M1530.zip

Link to comment
Share on other sites

nope at least not for me..

it was the FULL SMBUS . i recommend a non SMBUS'ed dsdt to add the simple smbus .. not the fully bloated SMBUS ( its missing by dell for a reason)

 

check RTC 0x72 not 0x70

 

lets try again.

bahh i forgot to add the _GPE Method L1A .. reuploaded

 

(do u have an untouched m1530 dsdt.. i want to compare in case i removed something stock)

 

Boot -v -f the first time. then run disk util repair permissions.

 

Well, it was the RTC after all. :thumbsup_anim: In your last edition, I changed both the Ranges and the Length - no CMOS chip reset.

Unfortunately, I never did extract the stock vanilla DSDT due to difficulties in booting the OS X kext free.

While I have been able to concoct my own version based on the DSDT_M1530_NVIDIA_ANYCPU_20110720 and your recent expert recommendations, it does differ quite a bit from your latest M1530 revision. :help:

By the way, if it at all matters, I'm exclusively using the 10.7 at this point.

DSDT.aml.zip

Link to comment
Share on other sites

I have a Dell M1530 and the system randomly freeze (had freeze also during install) with Lion.

Do I have to revert back to Snow Leopard IOPCIFamily IO80211Family and AppleACPIPlatform kexts?

Link to comment
Share on other sites

I have a Dell M1530 and the system randomly freeze (had freeze also during install) with Lion.

Do I have to revert back to Snow Leopard IOPCIFamily IO80211Family and AppleACPIPlatform kexts?

 

This has been continuously discussed ad nauseam everywhere including this very thread. Just use the DSDT_M1330_NVIDIA_ANYCPU_20110720 from the front page of this thread or simply properly patch the PCI section of your existing DSDT.aml (_ADR to _UID) No kext roll back is necessary.

Link to comment
Share on other sites

 Share

×
×
  • Create New...