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

Hello

 

I am trying to implement my wireless Dell 1395 (Ven:14e4, Dev:4315, CC:0280, SS:000B1028)as native AirPort via DSDT but have no success (info taken from here)

 

This would be a nice addon to the dsdt!

Link to comment
Share on other sites

That is the easy bit, all the cosmetics can be done very easily and it will show up in System Profiler correctly, but getting the underlying subsystem vendor and device ID's to stick other than cosmetically is being a pain for a PCi card ;)

 

From System Profiler (This is a dell wireless 1505 card):

post-437386-1273135827_thumb.png

 

Wish I could say the same for the lspci output:

 

0b:00.0 Network controller [0280]: Broadcom Corporation BCM4328 802.11a/b/g/n [14e4:4328] (rev 03)
	Subsystem: Dell Wireless 1500 Draft 802.11n WLAN Mini-card [1028:000a]

 

I am trying to figure out how to hard set the registers for the Subsytem vendor and device to be 106b:00a0 (which is the same as the Broadcom BCM432b found in the MacBookPro5,1).

 

No if I could figure out how to post on the Osx board that The King frequents for a pointer I'd be well on the way...

 

I'll post up a DSDT when I've finished some of the cosmetic bits :)

 

Cheers

 

Brett

Link to comment
Share on other sites

Also, is there a possibility to replace SoftSMC.kext with DSDT fix (thoughts came from hack used in DSDTSE)?

 

FAN hack

On some machines, the fan settings are incorrect.
Here we examine why on this machine (Fujitsu Siemens Amilo Pro 2030):


Device (FAN)
			{
				Name (_HID, EisaId ("PNP0C0B"))
				Name (_PSC, 0x00)
				Method (_PS0, 0, NotSerialized)
				{	 <----------------------------- This control method is empty.
				}

				Method (_PS3, 0, NotSerialized)
				{	  <----------------------------- This one too.
				}
			}

The solution consists of adding extra code and filling the empty spaces in the methods with the correct "State" information.



				Method (_PS0, 0, NotSerialized)
				{
				   \_TZ.PFAN._ON ()
				   SFAN(0x03)
				}

				Method (_PS1, 0, NotSerialized)
				{
					SFAN (0x01)
				}

				Method (_PS2, 0, NotSerialized)
				{
					SFAN (0x02)
				}

				Method (_PS3, 0, NotSerialized)
				{
					\_TZ.PFAN._OFF ()
				}



That way, the FAN (Ventilador) would end up this way:


Device (FAN)
			{
				Name (_HID, EisaId ("PNP0C0B"))
				Name (_PSC, 0x00)
				Method (_PS0, 0, NotSerialized)
				{
				   \_TZ.PFAN._ON ()
				   SFAN(0x03)
				}

				Method (_PS1, 0, NotSerialized)
				{
					SFAN (0x01)
				}

				Method (_PS2, 0, NotSerialized)
				{
					SFAN (0x02)
				}

				Method (_PS3, 0, NotSerialized)
				{
					\_TZ.PFAN._OFF ()
				}

 

and

 

Some cosmetic hacks:



			 Device (SMC)  // We will be faking up some of SMC Devices which are used in MacBookAir
		  {
			  Device (ALS0) // Ambient Light Sensor , we'll be faking this up , to get the ambient sensor to work , will find a way to link with cam
				{
				 Name (_HID, "ACPI0008") //The ID used in macbook air
				 Name (_CID, "smc-als") // The one which talks with the ALS kext
				 Method (_ALI, 0, NotSerialized)
				  {
				   Return (0x012C)
				  }

				Name (_ALR, Package (0x03)
				 {
				  Package (0x02)
				  {
				   0x46, 
				   0x00
				  }, 

				 Package (0x02)
				 {
				   0x64, 
				   0x012C
				 }, 

				Package (0x02)
				{
				   0x96, 
				   0x03E8
				}
			  })
			}


Another cosmetic hack:

		  Device (SMS0)  //Faking Sudden Motion Sensor Here 
			 {
			   Name (_HID, EisaId ("APP0003"))  // ID which is used in macbook air
			   Name (_CID, "smc-sms") // This talks with the SMS kext
	   Method (_ALI, 0, NotSerialized)
		 {
		 Return (0x012C)
		 }
			   Method (_DSM, 4, NotSerialized)  // We are going to fake the disk-sense level so that it doesnt lock up our drives 
		{
		  Store (Package (0x03)
		{
		 "disk-sense-level", 
		  0x01, 
		  Buffer (0x01)
		   {
			0x00
		   }
		 }, Local0)
	   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
	   Return (Local0)
			  }						
			}

Link to comment
Share on other sites

Guys.. i think our (Dell mangled) LPCB aka ISAB (<i replaced all in dsdt) is incomplete due to propietary windows WMI ?

i was playing around with a D620 GMA 950 for past week and one day i got CST evaluation failed instead of LPC not init! (i think what i did was leave the SSDT out of dsdt and use External on first part of dsdt calling CFGD but not sure.. i saw ibm T60p structure of cpu scope, thats where i saw template i also had External NPSS)

i wish i could reproduce but when i see dead ends i tend to erase all crazy dsdts.. and there it went i believe.

 

p.s. i added subvendor id to LPCB with DTGP method in a inspiron530 (has a few dell things in common and this board is partially based on a mobile ich9 chipset i believe)

Edit: doesnt work on network devices.. use .plist ?

Link to comment
Share on other sites

Now I have made further tests on sleepmode with the result that the ethernet controller is not yet compatible with it. Everytime I wake the computer up, I cannot access the network any longer. So I cannot reach the internet or even renew the dhcp lease. Is someone able to fix it?

Link to comment
Share on other sites

if im correct the ethernet should be on a pci slot in dsdt and that would wake device on pci ( i have same problems with a inspiron desktop 530 Lan intel )

 

Post up your DSDT and identify which LAN device it is and we can have a look. Both my wireless and wired NICs work correctly.

Link to comment
Share on other sites

im leaving inspiron 530 alone.. it works fine they dont care for sleep.

 

What i do have issues with is AR5BXB72 80211 N draft real apple atheros ar5008 in my inspiron 1520 wont load due to some strange error i think its Dell pcie memory or i/o range

 

weird thing it did on first boot with new card is give me issues with keyboard could not be detected. had to press z/ to recognize. (memory or io conflict ?) WORKS IN LINUX FINE

 

" Error: offset_0x100 = 0xffffffff ( eeprom address memory range! its a real apple card i got on ebay.. hope it hasnt been mangled by someone with linux ath_info )

 

start [/sourceCache/AirPortDriverAtheros5424/AirPortDriverAtheros5424-300.22/src/driver/AtherosController.cpp:480] loaded unsuccessfully"

 

it shows up on lspci as

 

0c:00.0 Network controller [0280]: Atheros Communications Inc. AR5418 802.11abgn Wireless PCI Express Adapter [168c:0024] (rev 01)

 

im thinking of fresh install 10.5.6 then update to .8 .. this is last summers install maybe its screwy..

but im not the only one with this issue and it seems to happen to dells

EDIT: did fresh install. same issue.. tried slice's 1525 dsdt same error.

dunno what do do.. even with a toshiba ar5bxb63 same error but not with broadcom

also i think the reason some have to switch to cellular slot aka RP01 is not controlled by wifi catcher advanced features

 

DSDT on snipt.net for anyone to edit

 

EDIT: i think this issue is the eeprom address, osx is looking for mac or some other properties in the wrong address 0x100 see this

Link to comment
Share on other sites

Interesting, I only get the errors when I click on the iStat icon up in the menu bar. Other than that I see no errors, well on the exception of a reboot when it loads iStat to the menu bar.

 

My /E/E contains:

 

AppleACPIBatteryManager.kext VoodooHDA.kext

AppleACPIPS2Nub.kext VoodooSDHC.kext

ApplePS2Controller.kext fakesmc.kext

 

Just upgraded to Chameleon RC5r8 this morning. And yes VoodooHDA will work from /E/E more often than not, over three reboots this morning it has loaded from there.

 

What is your Mac model injected via smbios.plist? Mine is a MBP5,1.

 

Cheers,

 

Brett

 

 

Hello guys Thanks for your work,

 

I have a dell 1530 T8100, SL was working without shutdown/restart so i tried to fix this.

 

I upgraded to Chameleon RC5, then used Brett's latest DSDT.aml, then used only the above kexts (deleted 3 others) but used VoodooPS2Controller not applePS2Controller. Then used kext utility.

 

Now SL doesn't open stays in the blue screen after the apple logo screen.

 

I don't remember exactly the names of the kext i removed but they were called something like Legacy...kext, IOATA...kext, Null....kext/

 

How can i add them back with boot -s?

 

Why didn't the above setup work? I 'm sure i used kext utility to fix permissions (think that was I should do!).

 

EDIT: I 'm using Bretts LATEST DSDT and I mean the one to work with what AB suggested. Should I return to the one posted in the first page of the thread? (If i ever manage to enter into SL again!)

 

EDIT 2: I FIXED IT. Needed to use command for cache in terminal. Thanks anyway!

 

Thanks!

Link to comment
Share on other sites

Hello,

 

Sorry to bother you again, I can't make voodoohda work from E/E. I have version 2.5.6.

 

I 'm using Bret's last DSDT, the same kexts as Bret (thanks Bret!).

 

I have a dell 1530 T8100, MBP5,1.

 

I'm not sure about my com.apple.boot.plist which contains:

 

<dict>

<key>Kernel</key>

<string>mach_kernel</string>

<key>Kernel Flags</key>

<string>arch=i386</string>

<key>Rescan</key>

<string>Yes</string>

<key>Graphics Mode</key>

<string>1280x1024x32</string>

<key>Timeout</key>

<string>0</string>

<key>SMBIOSdefaults</key>

<string>No</string>

<key>DSDT</key>

<string>rd(0,0)/Extra/DSDT.aml</string>

</dict>

</plist>

 

I don't think this is the problem anyway...

 

Thank you guys for your work, my machine works almost perfectly, with dual boot and shutdown/restart. I know that i can add voodoohda.kext to system/library/extensions and have everything ok, but i'm trying to do it in E/E.

Link to comment
Share on other sites

@ Brett

 

I am using your latest DSDT and I have this LAN issue when waking up the notebook. How did you manage to get LAN working with DHCP after waking up from sleep?

 

You need to hex edit Ethernet driver to include your MAC address, search around the forums, there is a topic that covers it.

 

 

Hello,

 

Sorry to bother you again, I can't make voodoohda work from E/E. I have version 2.5.6.

 

I 'm using Bret's last DSDT, the same kexts as Bret (thanks Bret!).

 

I have a dell 1530 T8100, MBP5,1.

 

I'm not sure about my com.apple.boot.plist which contains:

 

<dict>

<key>Kernel</key>

<string>mach_kernel</string>

<key>Kernel Flags</key>

<string>arch=i386</string>

<key>Rescan</key>

<string>Yes</string>

<key>Graphics Mode</key>

<string>1280x1024x32</string>

<key>Timeout</key>

<string>0</string>

<key>SMBIOSdefaults</key>

<string>No</string>

<key>DSDT</key>

<string>rd(0,0)/Extra/DSDT.aml</string>

</dict>

</plist>

 

I don't think this is the problem anyway...

 

Thank you guys for your work, my machine works almost perfectly, with dual boot and shutdown/restart. I know that i can add voodoohda.kext to system/library/extensions and have everything ok, but i'm trying to do it in E/E.

 

VoodooHDA needs its dependencies if you want it in /E/E, so copy those.

Link to comment
Share on other sites

@ Chrysaor

Thanks for the hint, I will try it. Is this the only way to fix the MAC-address or is it possible to set it via Chameleon or the DSDT?

 

Edit: Is it possible to inject EDID data by the DSDT? I have noticed that my colour settings are totally wrong, when they are set to EDID in the control panel. At the moment I am using the general colour settings.

Link to comment
Share on other sites

Hello Guys,

 

I'm starting getting crazy these last days.

 

Temperatures are getting hotter these last days and my fingers are burning everytime i touch the touchpad.

 

Now i want to loose cpu speed to get a cooler cpu.

I know this is related to C_state but can i do something to decrease the cpu temp like blocking it at 800mhz?

 

Any advice will be great as i'm getting hurt more and more everyday ;-)

 

Thanks.

 

My Dell is an XPS 1530 with a C2D 2,5Ghz.

 

Julien.

Link to comment
Share on other sites

Hello Guys,

 

I'm starting getting crazy these last days.

 

Temperatures are getting hotter these last days and my fingers are burning everytime i touch the touchpad.

 

Now i want to loose cpu speed to get a cooler cpu.

I know this is related to C_state but can i do something to decrease the cpu temp like blocking it at 800mhz?

 

Any advice will be great as i'm getting hurt more and more everyday ;-)

 

Thanks.

 

My Dell is an XPS 1530 with a C2D 2,5Ghz.

 

Julien.

 

 

If you make a CPU specific DSDT as in the guide on the first page (and don't forget to boot with the DROPSSDT='y' option) you can remove all the P-states other than the lowest.

 

You can also try the registered version of CoolBook for a user friendly solution but I can't confirm that it works on a Hack.

 

To be honest though I would be looking at hardware not software. I would open it up and make sure the vents aren't blocked with dust. Also, sometimes heat sync can become a little disconnected from the CPU and/or GPU (especially after a drop), and re-seating it can help. Finally, there is a well known mod for M1330 to enhance the GPU cooling using copper (Google m1330 copper mod), and I'd imagine it would work just as well for the M1530.

 

As you may already know, these computers feature a defective NVidia graphics chip that can get worse over time and eventually fail. The issue is more likely to be the GPU rather than the CPU in my opinion. Any issues in Windows?

 

Immo

Link to comment
Share on other sites

Hi Immo,

 

First thanks for answering.

 

I tried Coolbook but all the frequencies were greyed so i cannot choose between them.

 

About cleaning the vents, some days ago i've opened my Pc to clean it up. I think it is clean now.

 

I will try to check which device is burning my hands ;-) by opening it when running. It can help me guessing which device is so hot but it looks like it is the hard drive (it has been replaced by Dell some month ago)

 

I do not have Windows installed, only linux but as far as i can remember, my Pc is not as hot it is when running MacOs.

I will give a try and let you know.

 

Thanks again for all the advices.

 

Julien.

Link to comment
Share on other sites

I tried Coolbook but all the frequencies were greyed so i cannot choose between them.

Did you register it? The free version is view only. I think it's $10 to register. Again I never tried it so I can't promise it'll work on a hack.

 

 

Thanks again for all the advices.

 

No problem.

Link to comment
Share on other sites

Hi Immo,

 

I finally register Coolbook and you were right, i was able to choose the cpu frequency i wanted.

 

Here are the temperatures my Pc is having under Osx :

 

CPU 1 :52

CPU 2 :52

HD :45

 

I can't see the GPU temp, is that normal?

I guess there is a sensor for the Gpu too but i've tried istat and temperature monitor and both were not able to see the gpu temp...

 

I find the Pc temp still too high even running at 800Mhz and i starting thinking like you about a gpu issue.

 

I will try your gpu trick first.

 

Thanks.

Link to comment
Share on other sites

Hi Immo,

 

I finally register Coolbook and you were right, i was able to choose the cpu frequency i wanted.

 

Here are the temperatures my Pc is having under Osx :

 

CPU 1 :52

CPU 2 :52

HD :45

 

I can't see the GPU temp, is that normal?

I guess there is a sensor for the Gpu too but i've tried istat and temperature monitor and both were not able to see the gpu temp...

 

I find the Pc temp still too high even running at 800Mhz and i starting thinking like you about a gpu issue.

 

I will try your gpu trick first.

 

Thanks.

 

Probably is the GPU. Those numbers don't look that high. Unfortunately I don't know how to look up the GPU temperature in OS-X. HWMonitor works great in Windows and is free (although I know you said you don't have Windows installed).

 

http://www.cpuid.com/softwares/hwmonitor/v...ns-history.html

 

I once had a GPU that went over 100C under load (can't remember the idle but it was really high also) and Dell wound up giving me a new motherboard and heat sync. If it is the GPU overheating, if the heat sync is not properly connected you have a chance of fixing it with a home repair, and the copper mod may help if you are game. If you happen to be under warranty talk to Dell.

 

Disclaimer: not responsible if you break your machine :(

 

Immo

Link to comment
Share on other sites

How far out of warranty are you? Dell have stated that they will keep replacing the motherboard / heatsink for 1 year after due to problems with the nVidia chipset used. If you ring them up and say you are getting screen corruption and are getting thermal shutdowns when running something CPU intensive they should replace it for you if you are within that 1 year of warranty.

 

As a comparison mine runs at the following on idle (web browsing etc):

 

CPU A: 38 - 41ºC

CPU B: 38 - 41ºC

HDD: 30 - 38ºC

 

and at full tilt, encoding, watching mkv's through plex:

 

CPU A: 63 - 65ºC

CPU B: 63 - 65ºC

HDD: 38 - 40ºC

 

I had the motherboard and heatsink replaced about 15months ago due to idle temps sitting at 54ºC and getting thermal shutdowns when running anything intensive for too long, would easily sit at 95ºC to thermal shutdown under load.

 

As immo mentioned if you are out of warranty you can put a copper shim between both the GPU and CPU and heatsink with some decent thermal paste and that will sort most problems out.

 

Cheers

Brett

Link to comment
Share on other sites

Hi Immo, Hi Brett

 

Thanks to you two, i finally called Dell as my Pc was still under waranty.

 

A technician come on monday to replace the motherboard.

 

Thanks a lot guy. Good to talk to you as you always gave us good advices.

 

Have a good weekend.

 

Cheers

Julien.

Link to comment
Share on other sites

Thanks to you two, i finally called Dell as my Pc was still under waranty.

 

Any time. Coincidentally my computer started showing the same problems again yesterday! GPU goes over 90 then the computer slows down to a small fraction of its speed. Looks like my laptop will be going back to Dell again.

 

Immo

Link to comment
Share on other sites

do u just hate having to do this when its out of warranty

www.youtube.com/watch?v=NJlgPbELL0E

 

luckily i have access to tools and if i mess up i give to my friend. hes a pro

 

btw in the video he forgot something.. heat repellent tape around sides of chip to prevent other components from desoldering and possibly moving

Link to comment
Share on other sites

do u just hate having to do this when its out of warranty

www.youtube.com/watch?v=NJlgPbELL0E

 

Wow. Not for the faint of heart. Might come in useful someday when the warranty is up.

 

Immo

Link to comment
Share on other sites

 Share

×
×
  • Create New...