Jump to content
pavthefiddler

Need advice patching DSDT for Dell Precision m4500

Recommended Posts

Hi, I'm installing Mountain Lion 10.8.2 on Dell Precision m4500 and I would like to as a few questions regarding the DSDT patching.


CPU: i7 Q740 @ 1.73 GHz

GPU: Quadro FX 880M 1024 MB

RAM: 4 GB


Used the unishit/multishit method.


Quick summary in case anyone else has this laptop (there isn't that much info about osx on m4500 on the net)


1. In chameleon plist I had to use npci=0x300 kernel flag to fix the 'PCI configuration begin' problem. I also had to set darkwake=No - otherwise the system was really slow.


2. The ALPS touchpad works (only basic functionality, no scrolling) with multishit ApplePS2Controller.kext. I had to remove the trackpad kext from within the PS2 controller kext (Plugins folder) - otherwise the trackpad didn't work.


There are some ALPS kexts floating on the internet but none of them seems to work - I have some more experimenting to do though.


3. Sound works with Voodoo HDA 2.7.4 (and the PIC/TIMR DDST fixes - see below).


4. Ethernet works with hnal kext from multi beast.


5. WIfi card is not supported so I just replaced it with some other that works out of the box (can't remember the model).


6. Battery indicator works with VoodooBattery kext v1.3.3. There are 2 small issues with it:


- after unplugging the charger the indicator still says 'Power charger' - this is only a cosmetic problem,

- after log out/log in the indicator is gone - I'm sure this is something simple, just didn't have a chance to look into it.


7. The restart works (with the below DSDT fixes). The shutdown doesn't - the system closes but the fans are still working.


8. The sleep doesn't work - the system shuts down, the hard disk stops spinning but the fans are still working and laptop dosn't go into the sleep mode. This is the main problem for me.


9. The external VGA port doesn't work - the laptop crashes as soon as the monitor is connected. I didn't test the display port and HDMI.


DSDT questions:


I extracted the DSDT using Ubuntu (see attached original and patched DSDT files).


I applied the following patches (from Olarila, Nehalem architecture):


- DTGP,

- EHCI (there is no UHCI section in DSDT),

- HPET,

- LPC (the device is called LPCB in DSDT); also patched the AppleLPC.kext with the LPC chipset address obtained with lspci tool,

- RTC,

- TIMR and PIC (the device is called IPIC in DSDT) - this fixed the pops and clicks in sound/video,

- SMBUS


I extracted SSDT using DSDTSE - this gave me 7 tables (see attached). I know I don't need them all but I'm not sure how to compile them to just one, removing all the unnecessary information.


I drop the P and S states in chameleon plist.


I removed the SleepEnabler kext, NullCPUPowerManagement, evoreboot.


The system seems fine with the above DSDT and SSDT files. But when I checked the CPU temperature using SMC monitor, the idle temperature is about 60 C (about 10 degrees more than in Ubuntu). The P&C states window display the available states.


I believe the difference in idle temperature means the SSDT CPU states information is incorrect/incomplete.


To test this I generated the SSDT for my CPU using ssdtPRgen.sh and CPU multiplier/max frequency.


ssdtPRgen.sh 45 2930


See attached generate SSDT.


The SMC monitor shows lower CPU idle temperature (about 50 C - same as Ubuntu), but the P&C states window is empty - I'm not sure if this is a problem or not.


- I would really appreciate if someone could help me generating the correct SpeedStep information for my CPU. I believe this might fix the sleep issue.


- Which SHUTDOWN patch should I use?


- Can the external VGA port be fixed in DSDT?


- I would also appreciate if someone could point me in the right direction regarding the ALPS touchpad.


Thanks,


Pawel

dell m4500 files.zip

Link to comment
Share on other sites

Thanks a lot for that.


Just tried your DSDT (generate both states in chameleon plist, removed any ssdt from the /Extra folder).


The system seems to boot quicker and it doesn't freeze randomly on PCI configuration begin.


The idle CPU temperature is still a bit higher than in ubuntu, but I can live with that. Unfortunately the sleep and shutdown still don't work.


I'm going to compare your DSDT to see if can learn anything from that. Other than that I'm not sure what to do, there doesn't seem to be anything on the net regarding Dell m4500 and Mountain Lion.


Thanks for your help, I really appreciate it.


Regards,


Pawel

Link to comment
Share on other sites

I'm in here now too with a m4500 but a new version than you have, i bet there will be a lot we can share later on.


Just installed Mountain Lion from original DVD via USB (Purchased and put the 10.8.2 on USB) installed with PCIRootUID=0 only otherwise my screen would go blank.


I did not remove my 8GB of ram nor run any CPUs=X


WIFI - Not working

Sound - Not working

Reboot - Not Working


Bluetooth - Working

Ethernet - Working

DisplayPort - Working


It recognizes my Quadro FX 1800 without a glitch and my 8 cores and cpu speed.

1716561746_Skrmavbild2012-12-11kl_21_50_29.png.571308bf5ef48ecdce7e5acc5b78b080.png

Link to comment
Share on other sites

OK, yes I have Dell M4500 with 4GB RAM, nVidia card and 2.67GHz i7 CPU mentioned above.


Are you interested in my dsdt or just patch file so you can patch yours dump?

Here is what I've added to /Extra folder, cause all (except VooDooHDA.kext) is loadable from E/E so you can use Vanilla instalation.


SpeedStep, TurboBoost and HT works with DPDT

Battery power management and indicator works with latest VoodooBattery.kext

nVidia digital outputs (both laptop display and DP port) works with official Cuda drivers from their web (if you don't need DP port and use LCD only you can use just Graphic Enabler = yes in Chameleon without driver update). QL/CL works in both cases. Connecting analog VGA with CUDA will cause system freeze.

Restart and Shutdown works with patched DSDT

Deep sleep (hybernation to HDD) work with DSDT

I haven't tried (RAM) Sleep cause I don't use it (I expect work wake-up only with external USB keyboard)

Intel Audio works from DSDT + latest VooDooHDA.kext (must be loaded from S/L/E). Delete AppleHDA or use AppleHDAdisabler.kext in E/E

Ricoh SD/MCC PCIe card reader works with modified linux opensoarce SDHC driver (recompiled for mac)

Gigabit Ethernet card work with AppleIntelE1000e.kext from here http://www.insanelymac.com/forum/topic/205771-appleintele1000ekext-for-108107106105/

SATA and eSATA work in AHCI mode with AHCI SATA injector (I've used one from iAtkos)

I use 10.8.3 lapic kernel from osx86.net

Alps Trackpad works with Voodoops2controller.kext (I use modified version to enable scrolling with holding both buttons together), had no luck with original one in 64bit mode

Firewire iLink port and usb work OOTB

Wifi DW1520 kext is loading but I'm not able enable wifi radio - I don't know anybody to make this card working in ML (you might replace it for supported one)

For FakeSMC smbios use MacbookPro6,1 or 6,2. You need to boot with npci=0x2000 kernel flag.


System Geekbench score is slightly above 6000.


I will post the DSDT as I get home later, let me know if you prefer compiled version or just the patch itself.

Link to comment
Share on other sites

Thanks a lot for your detailed reply. Could you please post both your DSDT patch and the compiled file?


I will try to analise and apply the patch to my system (working fine except for Sleep etc. as per my first post), if that fails I will try the vanilla installation. Either way I will post the results here in case there are any more people interested.


Which OSX version are you running? 10.8.2 or 10.8.3?


I really appreciate your help! Thanks again.

Link to comment
Share on other sites

Which OSX version are you running? 10.8.2 or 10.8.3?

 

Done this on 10.8.2 and then upgrated to 10.8.3 using delta update from Apple.

So it should work with both of them. You need to remove NullCPUPowerManagement, Sleepenabler and Evoreboot if installed before.

Using Dell bios rev. A12


I've checked your binary DSDT you've posted and your rom is different so maybe you may need change

one bit of mine aml in hexedit, check line Name (MG2L, 0x2C80C000), your's is 0x2C807000). The rest is the same.


EDIT: files attached - enjoy and let me know...

M4500_mykl.zip

Link to comment
Share on other sites

Ok, I compared the DSDTs and decided to use yours first. First impressions:


1. Hibernation to HD (hibernationmode=1 and hibernationmode=25) seems to be working (it takes about 1 min. and laptop powers down) - this is a great improvement as previously the laptop would not power down at all.


2. On wake up from HD hibernation laptop just boots as usual (when it's powered off). Not sure if that's correct - need to investigate. It doesn't seem to be waking up from the image.


3. On power off, the laptop actually powers off - instead of the screen going black and fans/LEDs working. This is a major improvement.


4. I'm getting about 5780 on geekbench - seems to make sense as my processor is slower than yours.


5. Sleep to RAM (hibernationmode=3) doesn't work (as expected) - laptop seems to go to sleep but it doesn't power off the motherboard.


6. As with my DSDT, maybe 5 out of 10 times when I boot the laptop it hangs on 'PCI configuration begins' message. npci=2000 or npci=3000 doesn't seem to be making any difference. Otherwise the laptop boots very quickly.


7. As with my DSDT, on boot from powered off, on the login screen I need to wait for about a minute before logging in, otherwise I'm getting kernel panic.


8. As with my DSDT, closing the laptop lid doesn't seem to be doing anything. I suppose this will be the next major thing to sort out if I get the hibernation working properly.


I will do some more testing over the next couple of days.


Thanks again!

Link to comment
Share on other sites

Update:


Upon investigation, I discovered that the laptop doesn't use the /var/vm/sleepimage on wake up due to the 'incorrect image signature' error. Quick google reveals a few possible solutions (deleting the sleepimage file, disabling the VM encryption) but they don't seem to be making any difference.


Did you come across this problem on your laptop?


Also, could you post the content of your org.chameleon.Boot.plist when you get a chance? Just wondering what kernel flags you use.


On my laptop ncpci=2000 doesn't seem to be making much difference, I still get the 'PCI configuration begins...' freeze problem 50% of time. So I removed it altogether, laptop works the same.


darkwake=0 makes things worse - it breaks the hibernation and seems to be making the laptop slower (maybe is subjective).

Link to comment
Share on other sites

Update:


Not sure why, but chameleon wasn't looking in the correct place for the sleepimage. So I added


WakeImage=(hd0,2)/var/vm/sleepimage


at boot and that sorted it - the laptop wakes properly from the hibernation.


Now if I could get the laptop to go to RAM sleep (or RAM+HD hibernation)...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.





×
  • Create New...