Jump to content

[GUIDE] Dell Latitude E6410


ktbos
 Share

153 posts in this topic

Recommended Posts

I followed Foxhunter's tutorial in this thread (i.e., ######, install, ######, additional kexts), but I am getting stuck at the "PCI Configuration Begin" stage as well when I try to update from 10.6.3 to 10.6.8. I have an E6410 i5 with the Intel HD graphics card.

 

Anyone else figure this one out on their own? Any suggestions that I can give a shot? Ultimately I'm hoping to get OS X 10.7 Lion installed, if that makes a difference at all tactically.

 

I thought I'd post some new explorations and discoveries in the "how to get that fixed" chapter for E6410. My specs are core i5 with NVidia graphics and 3gb RAM, and I'm running 10.6.8 without trouble except sleep, restart, and a somewhat higher temperature than I wish I had. So I donnow how my solutions will go for someone with different specs (especially thoses with integrated Intel graphics). This deals with do-it-yourself DSDT, but don't be scared away, it's easy.

 

First off, olarila.com maintains a trusted database of DSDT patches for specific hardware. They happen to have one for both E6410 and E6510. I thought it wouldn't hurt to apply the current patch over ktbos' DSDT which was made a while ago. Furthermore the ones posted in this topic seemed not to have been so stable in this end. I'm using all the fixes I'm posting now and everything is stable. If you know nothing of DSDT, you're just like me, so just follow the steps:

 

1. If you're happy with your current DSDT stability, open your DSDT.aml (from your /Extra folder) with DSDT Editor. In my case I worked it out from ktbos' modifed DSDT.aml file.

2. If you're not happy with it, you'll have to extract the unmodified DSDT from your motherboard. To do this you will need to use DSDT Editor and boot without a custom DSDT (or the Editor will mistake it for your original DSDT). If that is a problem, run DSDT Editor Windows or Linux version.

3. Download DSDT Editor from

4. Select File>Extract DSDT. If you're working from an existing DSDT.aml file, simply select File>Open instead.

5. Go to the
, register and download the E6410.txt patch

6. In DSDT Editor, select Patch>Open and browse the file. Press Apply button and Close.

7. Select IASL>Compile and press Fix Errors. If Errors don't get fixed instantly, something was already wrong with the extracted/opened DSDT. Repeat steps as stated.

8. Select IASL>Save AML as... and save the new file as DSDT.aml in some safe place.

9. Optionally select File>Save DSL as... if you want to edit your DSDT in your favorite text editor in the future. If you don't save your DSDT as DSL at that point, you will still be able to create it by converting your AML file with the help of an app called
.

9. Place the compiled AML file in your /Extra folder with the name DSDT.aml. Make sure you have a backup of the one you may so replace. Make sure you com.apple.boot.plist file mentions <key>DSDT</key><string>/Extra/DSDT.aml</string> in order to use the new file at boot.

10. You should now boot with a better custom DSDT that helps your OSX install to better speak to your hardware.

 

 

Second, the dreadful [PCI Configuration Begin] is not so dreadful as it seems. Basically the booting process goes on but doesn't show up on the screen. Keep looking at the blinking icon on the top-left of your keyboard: if it keeps thinking, you're on the right track - but if it stops for a long while, it means you got a panic, the worst part being you can't diagnose it since no error has appeared!

Anyway I found a DSDT way to permanently fix it in some forums:

 

EDIT: I found out this fix doesn't work for Lion. However, it works fine for Snow Leopard 10.6.8.

EDIT2: Recently I found out that once update to 10.6.8, the freshly installed AppleACPIPlatform kext prevents this fix from working (if not OSX altogether). Therefore, make sure you use the 10.6.7 version of AppleACPIPlatform (and possibly IOPCIFamily) for this to work.

 

1. Open your personally modified .AML file in DSDT Editor

2. From the left panel, scroll a few lines and select the "Device (PCI0)" section

3. Add "Name (_UID, Zero)" right under "Name (_ADR, Zero)" (FYI Zero is interchangeable with 0x00)

4. Look just a few lines below, if you see another occurrence of "Name (_UID, Zero)" close to a "Method" sub-section (I had one just above "Method _PRT..."), delete the occurrence (I think I had it from a wrong patch I had done earlier so don't worry if it's not there).

5. Now select IASL>Compile from the menu. Press fix errors if any shows up and they should resolve instantly. Then select IASL>Save AML as... and save the new file as DSDT.aml in your /Extra for next booting.

6. The [PCI Configuration Begin] no longer shows up at boot.

 

Third, fix shutdown (so you don't have to press the power button to actually turn the computer off after OSX has exited):

 

Open your custom DSDT in DSDT Editor, find the "Device (PS2M)" section, and replace:

Method (_PTS, 1, NotSerialized)
{
	APTS (Arg0)
	EV5 (Arg0, Zero)
}

with

 

OperationRegion (PMRS, SystemIO, 0x0430, One)
Field (PMRS, ByteAcc, NoLock, Preserve)
{
		,   4,
	SLPE,   1
}
Method (_PTS, 1, NotSerialized)
{
	If (LEqual (Arg0, 0x05))
	{
		Store (Zero, SLPE)
		Sleep (0x10)
	}
	Else
	{
		APTS (Arg0)
		EV5 (Arg0, Zero)
	}
}

2. Select IASL>Compile, then press Fix Errors

3. IASL>Save AML as...

 

Fourth, fix VGA. Note that this most probably applies to those with NVidia Graphics only:

 

1. Find the "Device DP2" section. There should be a "Method (UCMP…)" sub-section, scroll a few lines below and there should be a "Method (_DSM…)" sub-section.

2. Replace:

 

Method (_DSM, 4, Serialized)
	{
		Name (_T_0, Zero)
		If (LEqual (UCMP (Arg0, Buffer (0x10)
					{
						/* 0000 */	0x75, 0x0B, 0xA5, 0xD4, 0xC7, 0x65, 0xF7, 0x46,
						/* 0008 */	0xBF, 0xB7, 0x41, 0x51, 0x4C, 0xEA, 0x02, 0x44
					}), One))
		{
			If (LNotEqual (Arg1, 0x0102))
			{
				Return (0x80000002)
			}

			Store (Arg2, _T_0)
			If (LEqual (_T_0, Zero))
			{
				VDP1 (0x06, Zero)
				Return (Buffer (0x04)
				{
					0x21, 0x00, 0x08, 0x00
				})
			}
			Else
			{
				If (LEqual (_T_0, 0x05))
				{
					CreateDWordField (Arg3, Zero, DSTS)
					If (And (DSTS, 0x01000000))
					{
						And (DSTS, 0x0FFF, GATD)
						And (ShiftRight (DSTS, 0x0C), 0x0FFF, GACD)
					}

					Return (Buffer (0x04)
					{
						0x00, 0x00, 0x00, 0x00
					})
				}
				Else
				{
					If (LEqual (_T_0, 0x13))
					{
						Return (Buffer (0x04)
						{
							0x00, 0x06, 0x00, 0x00
						})
					}
				}
			}

			Return (0x80000002)
		}

		Return (0x80000001)
	}

with

 

Method (_DSM, 4, NotSerialized)
	{
		Store (Package (0x2A)
			{
				"AAPL,aux-power-connected",
				Buffer (0x04)
				{
					0x01, 0x00, 0x00, 0x00
				},
				"AAPL,backlight-control",
				Buffer (0x04)
				{
					0x01, 0x00, 0x00, 0x00
				},
				"AAPL00,blackscreen-preferences",
				Buffer (0x04)
				{
					0x00, 0x00, 0x00, 0x00
				},
				"AAPL00,DualLink",
				Buffer (0x04)
				{
					0x01, 0x00, 0x00, 0x00
				},
				"AAPL01,blackscreen-preferences",
				Buffer (0x04)
				{
					0x00, 0x00, 0x00, 0x00
				},
				"@0,built-in",
				Buffer (One)
				{
					0x01
				},
				"@0,compatible",
				Buffer (0x0B)
				{
					"NVDA,NVMac"
				},
				"@0,device_type",
				Buffer (0x08)
				{
					"display"
				},
				"@0,name",
				Buffer (0x0F)
				{
					"NVDA,Display-A"
				},
				"@1,compatible",
				Buffer (0x0B)
				{
					"NVDA,NVMac"
				},
				"@1,device_type",
				Buffer (0x08)
				{
					"display"
				},
				"@0,display-cfg",
				Buffer (0x04)
				{
					0x03, 0x01, 0x00, 0x00
				},
				"@1,display-cfg",
				Buffer (0x04)
				{
					0xFF, 0xFF, 0x00, 0x01
				},
				"@1,name",
				Buffer (0x0F)
				{
					"NVDA,Display-B"
				},
				"NVCAP",
				Buffer (0x18)
				{
					/* 0000 */	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
					/* 0008 */	0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
					/* 0010 */	0x00, 0x00, 0x00, 0x00
				},
				"NVPM",
				Buffer (0x1C)
				{
					/* 0000 */	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
					/* 0008 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
					/* 0010 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
					/* 0018 */	0x00, 0x00, 0x00, 0x00
				},
				"VRAM,totalsize",
				Buffer (0x04)
				{
					0x00, 0x00, 0x00, 0x20
				},
				"device_type",
				Buffer (0x0D)
				{
					"NVDA,GeForce"
				},
				"model",
				Buffer (0x19)
				{
					"nVidia GeForce NVS 3100M"
				},
				"built-in",
				Buffer (One)
				{
					0x01
				},
				"rom-revision",
				Buffer (0x27)
				{
					"nVidia GeForce NVS 3100M OpenGL Engine"
				}
			}, Local0)
		DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
		Return (Local0)
	}

 

3. Select IASL>Compile, then press Fix Errors

4. IASL>Save AML as...

 

I'm attaching my DSDT in case you don't wanna run the trouble to do it all yourself. However I don't recommend it since we may not have have the exact same specs/motherboard. That is why you should always patch your own DSDT by yourself.

 

Now I'm mostly looking for CPU temperature solutions. Since I switched to a 500Go 7200RPM hard-drive, my idle temperature is around 60°, but easily goes to 70°-75° under normal load and above 85° under heavier, but still regular load. Unfortunately olarila's DSDT patch doesn't fix much regarding this.

 

Also sleep works without SleepEnabler but only half of the time (I think it won't wake up when I've waited to long after putting it to sleep - I get the "incorrect image signature" message).

 

And finally I've been reading that some got restart to work on this machine. I'd be grateful if they could give more info on that one.

 

Hope this is useful!

DSDT.aml.zip

Edited by jebediah2
Link to comment
Share on other sites

  • 4 months later...
  • 6 years later...

Old thread, but I have Mojave running on my Dell Latitude E6410 / 3100m here.  My laptop won't boot with device_type set to "NVidia,GeForce" - must be "NVidia,Parent"

Link to comment
Share on other sites

 Share

×
×
  • Create New...