Jump to content
1,149 posts in this topic

Recommended Posts

For 10.7, see the new thread here

 

Here's what I've figured out so far on getting OSX working on the dell studio xps 1340, aka dell studio xps 13 under Snow Leopard.

 

Working "out of the box":

  • gig-ethernet, usb, firewire, sata
  • system suspend
  • touchpad as mouse
  • webcam (video only), video capture verified with photo booth application
  • bluetooth in HID mode (think dumb mouse)
  • Dell 1515 802.11 wireless (note: Atheros driver is 32 bit only)
  • Dell 1510 802.11 wireless, in some alternate configurations; also works.

Working with mods below:

  • GeForce 9400M G graphics with quartz extreme, external HDMI/VGA/display port
  • Built-in speaker, headphone jack, internal mic (without volume control), hotkey volume/mute controls
  • Intel speedstep
  • Touchpad gestures, and working touchpad after resume with modified version of voodoo team's Voodoops2controller
  • battery status & suspend on lid close
  • Bluetooth in HCI mode (full functionality)

Not working:

  • Gain for built-in digital mic, mic-in jack
  • SLI with 9500m video
  • SD flash card. I've tried VoodooSDHCI, but I just get an 'VoodooSDHC: no response from CMD_8 -- ComInhibitCMD" error upon card insertion, and the system hangs.

Not tested yet (let us know):

  • Infrared
  • expresscard

Update: For installation, you can either install 10.6 using a previous install of osx to install from, outlined here or using a boot cd install method, instructions shown below

 

Pre-flight preparation

For basic installation, there are snow leopard install guides sprouting up all over the place. I've yet to see a comprehensive guide, but I have the following install recommendations.

  • I'm not sure if this is necessary but... Before upgrading an existing install, you can setup your /Extra/smbios.plist so that the model name isn't genuine (parts of the installer look at this; I'm not sure if leaving the model set to MacbookPro4,1 causes failure or not, but it seems to cause issues...) I use: smbios.plist.v2.zip After installing this file, reboot & verify that system profiler has 'Model Identifier:' set to "Studio XPS 1340". (Later, after the 10.6 install place a copy of smbios.plist into your 10.6 /Extra partition as well.)
  • Some guides recommend installing extra hackintosh kexts including: NullCPUPM, PlatformUUID. The only kexts necessary for booting snow leopard on this platform are one to defeat the runtime DSMOS check and one to provide a usable keyboard+mouse. For the former, the only kext supported as of 10.6.2 is netkas's fakesmc . Netkas's 2.5 version for snow leopard is available here:fakesmc.kext.2.5.zip The keyboard kext is detailed below.
  • If you care about having an MBR partitioned disk (fairly important if you also want linux or windows to be able to deal with partitioning changes on the disk), you'll need a modified OSInstall binary that stops mandating a GUID partitioned disk. There is a patched version here. (Choose the version to match the version of your install dvd.) Replace the version in /Volumes/Mac OS X Install DVD/System/Library/PrivateFrameworks/Install.framework/Frameworks/OSInstall.framework/Versions/A/OSInstall (on your snow leopard dvd or usb/flash/esata based install drive). This change is unnecessary if you are happy with GUID partitioned disks.

boot-cd based install method:

Start with an OSX 10.6 or 10.6.3 retail DVD, or a copy you've made onto a dual layer dvd, or usb thumb drive or usb disk drive. For a usb based install (this is the method I tested):
  1. setup a usb thumb drive or disk drive, with an hfs+ partition to install on (the destination partition),

     

     

     

  2. run disk utility

     

     

     

  3. right click on destination partition, select restore

     

     

     

  4. select 10.6 dmg file as source

     

     

     

  5. select destination partition again

Take .iso and burn to cd-rw or cd-r

I have pre-built a boot132 iso, available here

 

Boot system from cd

Watch 4 "EBIOS read error: Device timeout" error messages pass by, followed by startup of chameleon

Press F8 to start chameleon graphical menu (or let it timeout for same effect)

From chameleon graphical menu, select "Mac OS X Install DVD", or swap in the vanilla install DVD and boot from that

As bootstrap begins, watch 4 more EBIOS read errors pass by

MacOS installer runs with graphical window

select customize

unselect printer support->nearby and popular printers

Let install complete

Go back and boot from CD again

this time select your newly installed 10.6 distro

viola

You may now complete the configuration of your 10.6 system as described below

Post-install configuration - platform specific details

Once you've installed 10.6, probably the first thing to do is to insure that you have a hackintosh bootloader installed (Chameleon 2.0 or Netkas pci-efi v10.x).

Then you can proceed to install the rest of my changes to get platform specific components working fully. For the case where you don't have a fancy multi-boot setup to worry about, probably the easiest bootloader setup is to use the chameleon installer, the newest seems to be named: Chameleon-2.0-r431.pkg.zip

Note however that you will need to update your /boot to at least the chameleon 2rc4 version in order for 'About this mac' to identify the CPU as a core 2 duo.

I have not used the above installer myself as I do have a complex multi-boot setup for which I don't trust beta installers to do the right thing. I simply used the 3 install commands (which are detailed in chameleon's doc/README under "Normal Install") to install chameleon manually.

 

I recommend that all kext additions you make be installed in /Extra/Extensions. As I add or make changes to /Extra/Extensions, I use the following commands to keep its cache up to date

rm -f /Extra/Extensions.mkext /Extra/Caches
		  kextcache -m /Extra/Extensions.mkext /Extra/Extensions

 

As of 10.6.2, all system kexts support both 32&64 bit mode. In any case, I recommend 32 bit as a starting point, as genuine macs use 32 bit mode. So I recommend editing /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and adding arch=i386 -v to the Kernel Flags string. Result: com.apple.Boot.plist.zip

 

For working keyboard and touchpad, I recommend my compiled version of the VoodooPS2 kexts, here My version is the stock 0.98 version plus 64 bit support, and the keyboard enhancements posted over here http://forum.voodoop...opic,304.0.html, and my fix for the touchpad over here http://forum.voodooprojects.org/index.php/...00.html#msg2300

 

For working quartz Extreme & core image (QE/CI), install my modified DSDT.aml to /Extra/DSDT.aml (note that filename case matters to the boot loader here). I have several versions of my modified DSDT.aml to choose from.

Choose the version to match the BIOS running on your hardware.

 

For working IDT audio, the above DSDT.aml includes EFI strings to point AppleHDA in the right direction, but you'll also need the following kext plist to set up a working pin configuration for the codec. hdaidt.kext.v4.zipYou can then verify working audio by going to the sound effects tab and trying something. Both 1/8" output jacks works as a headphone jacks, with proper headphone jack detection (mutes speakers when jack inserted), except that the right jack mutes the left if you try to use both. Thanks to boombeng for getting the right jack working (and ridgeline/boombeng for their earlier IDT work). Special thanks to the king, master chief, madtux for their work deciphering the applehda pinconfig/pathmap maze.

Update: As of 10.6.3, you must also patch AppleHDA in order for the audio codec to be recognized. Patch program is here: patch_hda.v5.zipRun from a terminal window to patch your AppleHDA. Re-run this patch program when upgrading to 10.6.[4-8].

 

Intel speedstep seems to be working out of the box with the modified dsdt. Since appleintelcpupowermanagement handles the stepping, cpu-x will not correctly report the current multiplier or voltage. cpu-x will stay stuck at the max. multiplier for your cpu.

 

For working CPU halt/restart, there is the snow leopard build of OpenHaltRestart: here

 

For battery status and system sleep upon lid close, there are changes in the above DSDT.aml for that , but you also need

  1. the ACPI Embedded Controller to load properly. Turns out a bug in AppleACPIPlatform was causing the embedded controller (AppleACPIEC) to fail to load, I've made a patch to AppleACPIPlatform to fix that. Attached.AppleACPIPlatform.mcp79.v1.7.pkg.zip. So far my installer supports snow leopard versions 10.6 thru 10.6.6. There is no need to re-run this package update when upgrading from 10.6 to 10.6.1 or 10.6.2, but you do need to re-run this patching installer when upgrading to any of the later versions (thus far).
     
     
     
  2. VoodooBattery, for the battery icon

For bluetooth with HCI, I've written a driver that enables HCI mode, an installer is available here

 

After the first resume from suspend, the firewire controller loses its GUID. This gets logged over&over and the logging keeps the system from suspending (I know, poor OSX implementation of idle status, but...). You can see that the logging is the problem by turning off syslog (you'll see that fixes it). I have two workarounds for this problem.

  1.    #!/bin/bash
    			sle=/System/Library/Extensions/IOFireWireFamily.kext/Contents/PlugIns
    			mv $sle/AppleFWOHCI.kext $sle/AppleFWOHCI.kext.good

    Which avoids the problem.
     
     
     

  2. Another choice is to use hibernate instead of suspend.
    pmset hibernatemode 1

    When the system resumes from hibernate, firewire is broken just as in the suspend case, but no errors are logged.

If someone has a fix for the GUID problem that'd obviously be a lot better, as firewire is still of use on occasion.

 

There are reports that for the TS-T633A model of optical drive to work with OSX you need to use the DW10 firmware for some reason:

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

 

 

I could really use some help on the non-working components! Such as:

  • For 9500m, maybe someone could figure out how to get SLI video working. The OSX drivers may not be able to handle SLI at all but it's not clear whether or not that's really true.
  • For audio, it'd be great if someone could figure out the fix to the pathmap/pinconfig to allow the analog&digital mics to fully work.
  • The firewire GUID problem mentioned above. The workaround in 10.5.x of unloading/reloading the AppleFWOHCI.kext to fix this no longer works as that kext can't be unloaded.
  • Someone could work with zef to help figure out why his SDHC driver doesn't work with the ricoh SD card controller on this system

Contributions welcome

I've updated the audio kexts in post #1 to fix the headphone support. Now the front left 1/8" output jack works as a headphone jack with proper jack detection (mutes speakers when jack is inserted).

 

Still could use help figuring out the digital & analog mics.

@bcc9: Are you using PC_EFIv9 like the OP at infinitemac, or are you using a different bootloader? I'm having little luck getting it to boot in PC_EFIv10. Also, did you install a PS2 Keyboard controller BEFORE booting into Snow Leo or afterwards? My system seems to hang after loading one of the NV kexts(can't remember exact name though), right around where AppleHDA is loaded. Apple HDA was giving me quite a few errors, and trying to install your audio helpers before successfully booting Snow Leopard caused a Kernel Panic.

 

Oddly enough I've been able to get Snow Leopard running before, but the last few times I have tried have been unsuccessful. I am currently using 10A432, and have made the Extensions.mkext in /Extras/ along with included DSDT.aml in that folder.

 

@pmcnano: Were you able to successfully install and boot into Snow Leopard?

@bcc9: Are you using PC_EFIv9 like the OP at infinitemac, or are you using a different bootloader? I'm having little luck getting it to boot in PC_EFIv10.
I am using pcefiv10.
Also, did you install a PS2 Keyboard controller BEFORE booting into Snow Leo or afterwards?
Before. If you don't install a hackintosh ps2 kext you're pretty much screwed because you can't type anything even in single user mode.

 

My system seems to hang after loading one of the NV kexts(can't remember exact name though), right around where AppleHDA is loaded. Apple HDA was giving me quite a few errors, and trying to install your audio helpers before successfully booting Snow Leopard caused a Kernel Panic.
I see several HDA errors printed, I think some of them concern the 2nd HDMI codec and can be ignored. After I made the headphone jack change, I did also get a panic from the audio subsystem on first boot but it worked fine thereafter.
Before. If you don't install a hackintosh ps2 kext you're pretty much screwed because you can't type anything even in single user mode.

Ah. I've just been plugging in a USB mouse/keyboard from an old imac G3 given to my family. I installed your PS2 controller and it works for keyboard so far. Haven't been able to boot into Snow Leopard though, and I'm trying to find the cause. I'm looking at my logs right now. I've noticed that in system.log I'm getting launchd crashes possibly related to throttling, so I'm going to see if I can't figure that out. I'm wondering what is different between our setups though that I'm getting this crash but you aren't...

 

I see several HDA errors printed, I think some of them concern the 2nd HDMI codec and can be ignored. After I made the headphone jack change, I did also get a panic from the audio subsystem on first boot but it worked fine thereafter.

Yeah, it kernel panicked for me with the first version you had, but after installing the second version kexts, no KP, just getting stuck in the normal spot.

Ah. I've just been plugging in a USB mouse/keyboard from an old imac G3 given to my family. I installed your PS2 controller and it works for keyboard so far. Haven't been able to boot into Snow Leopard though, and I'm trying to find the cause. I'm looking at my logs right now. I've noticed that in system.log I'm getting launchd crashes possibly related to throttling, so I'm going to see if I can't figure that out. I'm wondering what is different between our setups though that I'm getting this crash but you aren't...
I thought it was clear in post #1 that you need a hackintosh ps2 kext. I also assume you're booting with arch=i386 but it sounds like maybe you're not. I have not bothered to build 64 bit kexts, as we're stuck with 32 bit because of the atheros 802.11 driver. If you boot with the default 64 bit without the right drivers you can hang/crash.

I've been booting with arch=i386 the whole time. The whole point of me running Snow Leopard over Leopard is Wifi, and so there's no point in me booting in 64bit mode. I double checked to see if I it was that maybe I had accidentally installed a different bootloader, but I reinstalled Chameleon 2.0RC1 + PCEFIv10.1 and no change whatsoever. If I were to install FakeSMC I'm assuming it would replace dsmos, so I won't need both, right?

 

Eh, I'll give that a shot right now.

I've been booting with arch=i386 the whole time. The whole point of me running Snow Leopard over Leopard is Wifi, and so there's no point in me booting in 64bit mode. I double checked to see if I it was that maybe I had accidentally installed a different bootloader, but I reinstalled Chameleon 2.0RC1 + PCEFIv10.1 and no change whatsoever. If I were to install FakeSMC I'm assuming it would replace dsmos, so I won't need both, right?

 

Eh, I'll give that a shot right now.

Yes, fakesmc should replace dsmos. I haven't tried fakesmc myself.

Also that snow leopard thread mentions a bunch of other kexts: OpenHaltRestart, NullCPUPM, PlatformUUID. I didn't use any of those, and I don't think the first two are even applicable for this system (we don't have the problems they address).

 

Only other catch is I have an smbios.plist in /Extra that I wrote, but I think that's just cosmetic.

 

Didn't we have this same conversation last month where you had trouble installing snow leopard?

(And the fix last time was for you to run kextcache; as shown in post #1)

Yes, fakesmc should replace dsmos. I haven't tried fakesmc myself.

Also that snow leopard thread mentions a bunch of other kexts: OpenHaltRestart, NullCPUPM, PlatformUUID. I didn't use any of those, and I don't think the first two are even applicable for this system (we don't have the problems they address).

 

Only other catch is I have an smbios.plist in /Extra that I wrote, but I think that's just cosmetic.

 

Didn't we have this same conversation last month where you had trouble installing snow leopard?

(And the fix last time was for you to run kextcache; as shown in post #1)

 

Heh, yeah we did cover this last month and yes, the solution was to run kextcache as you've been showing. I've been running kextcache as shown though(because of last time), so I don't think that's it this time. The reason I'm having to install Snow Leopard again is because last time I think I used GPT, and got Windows 7 to install beside it, but then I later tried installing Ubuntu in a third partition and it's partition software totally messed up my partition table.

 

I will try running your kextcache script again, without the other kexts listed in that thread.

Also, I tried with FakeSMC, and it just gave me a Kernel Panic related to AppleHDA every time I booted with it. Maybe it'll work for other people, but didn't work for me.

 

You're also very quick to reply tonight :)

Well, off to try again...

 

EDIT: Still no luck. Now I'm also getting a P-States warning after removing NullCPUPM. Do you get that as well?

I'm almost to the point where I'm going to try a full reinstall here and see if that works. Gonna try something else first...

EDIT: Still no luck. Now I'm also getting a P-States warning after removing NullCPUPM. Do you get that as well?

I'm almost to the point where I'm going to try a full reinstall here and see if that works. Gonna try something else first...

I seem to remember seeing the OS complaining about P-states at one point during boot, but not any more now that I have things set up. I also can't reproduce that at this point even without a dsdt.aml or smbios.plist.

I think the P-state errors were just warnings about the p-state information failing to be in the dsdt. But since I've patched voodoopower to handle cpu p-states, I don't think this matters. Yes it might be nicer to add p-state tables to the dsdt if someone wants to figure that out...

 

You should be able to boot snow leopard without the changes I'm recommending in post #1. If you can't, you probably need to figure out what's different between what you're doing vs the snow leopard guides. Would be good to be scientific and narrow down your problems to those guides or one of the platform specific modifications.

 

If you're using dsmos you need a version that matches your snow leopard build (you can't just use an old snow leopard version with 10a432).

I just realized that with my latest audio plists, the built-in mic *is* working, it just has no gain control. It shows up as the 2nd input device with the name "Internal microphone".

 

I seem to remember seeing the OS complaining about P-states at one point during boot, but not any more now that I have things set up. I also can't reproduce that at this point even without a dsdt.aml or smbios.plist.

I take it back, the error

 WARNING - ACPI_SMC_CtrlLoop::initCPUCtrlLoop - no sub-config match for MacBookPro4,1 with 3 p-states, using default stepper instead

flashes by for perhaps 1 second when I don't have an smbios.plist that renames the model from macbookpro4,1 to something else. I'm currently using:

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>SMproductname</key>
 <string>Studio XPS 1340</string>
 <key>SMmemspeed</key>
 <string>1066</string>
 <key>SMmemtype</key>
 <string>24</string>
</dict>
</plist>

as my /Extra/smbios.plist.

The only entry that seems really necessary is the SMproductname entry.

At this point it could very well be the DSMOS.kext I used. I was able to use the one listed on the front page at infinitemac to install Snow Leopard today, but after installing I realized I had installed 10A380 and it was working there. However I could not update using the apple software updater, so I erased the partition and installed 10A480.

 

Went to boot up, and I'm back with the same old problem as always.

Do you keep the default chameleon kexts in the /Extra/Extensions/ folder, or did you erase that before installing DSMOS and such?

 

Also, I realize you probably used the exact same one linked to on the page at infinitemac, but is there any possibility you could attach that for testing in a post here? Or if you didn't use that DSMOS, which one did you use?

 

I find it odd that I was able to successfully boot 10A380 but not 10A432, using the same set of kexts you have given here(plus DSMOS).

 

I guess I'm back to trial and error here.

At this point it could very well be the DSMOS.kext I used. I was able to use the one listed on the front page at infinitemac to install Snow Leopard today, but after installing I realized I had installed 10A380 and it was working there.
So why don't you make sure to get a version of dsmos that is known working with the "gold" version of snow leopard, like I recommended?

 

I just checked the version linked to by the guide over at infinitemac and the dsmos binary is dated 6/27/09. Therefore it pre-dates build 10A432 and shouldn't work. Use the 10a432 version netkas made:

 

http://netkas.org/?p=126

 

Looks like I'll have to update post #1 to dis-recommend that guide. Update: post#1 fixed.

I've made a driver to automatically turn on HCI mode for dell bluetooth devices. This can be used instead of hid2hci. I think it's a better solution, as detailed over here:

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

my idt doesn't work. i have installated the legacyapllehda...but the sound don't work... can you help me pls?

Check:

ioreg -l -t -x -w900 | grep PinConfig

and

ioreg -l -t -x -w900 | grep HDAConfig

 

to verify that the plist values from those two legacy kexts got loaded right.

Check:

ioreg -l -t -x -w900 | grep PinConfig

and

ioreg -l -t -x -w900 | grep HDAConfig

 

to verify that the plist values from those two legacy kexts got loaded right.

 

Hi bbc9

 

I finally got Leopard running on my xps1340, everything (except mic in) seems to work perfectly thanks to you (deeply appreciated). Sleep issues don`t affect me too much, since I tend to shut down my laptop every time.

 

My question is about SL. Should I upgrade to gain with 64 bits and no need to hack so much into the system?

 

I have 1510 wireless, bluetooth 370, 9400M.

 

Can I run SL in 64 bits with everything working, including mic in? I am considering this because I rely very much on voip apps, so for me to transition from Windows to Mac I need mic to work.

 

Thanks for your time.

I finally got Leopard running on my xps1340, everything (except mic in) seems to work perfectly thanks to you (deeply appreciated). Sleep issues don`t affect me too much, since I tend to shut down my laptop every time.
Suspend works with 10.5.x, and the built-in mic probably could too if one applied my new changes to the old OS.

My question is about SL. Should I upgrade to gain with 64 bits and no need to hack so much into the system?
I can't say for you, but I think it makes sense to stay current. With other OSes I can't say as I've "felt" any performance improvement with 64 bit vs 32.

I have 1510 wireless, bluetooth 370, 9400M.

 

Can I run SL in 64 bits with everything working, including mic in? I am considering this because I rely very much on voip apps, so for me to transition from Windows to Mac I need mic to work.

 

Thanks for your time.

Since you have the older wifi card you should be able to run in 64 bit mode. The built-in digital mic works without any gain control (volume control). I need help figuring out how to get that to work.

I haven't yet bothered to rebuild the Voodoo* kexts I linked to in post #1 with 64 bit support, you would have to recompile them yourself at the moment if you're eager to boot into 64 bit.

Wow I just went from your awesome guide to installing normal Leopard on a 1340 to this one. You're and awesome guy btw.

 

I have a few questions though.

 

I was wondering where I could find a reliable download for Snow Leopard (or a version that's hacked to work with PC like iDeneb, XxX, etc.). I know the forum rules say no linking and stuff, so a simple "go away noob" or "I know it's illegal, but if you google blah blah blah you'll find it" will suffice for me.

 

I was also wondering how to dual boot it with Vista (or Windows 7). I'm not very good with Mac lingo (kexts, coding, etc) having only taken a basic comp sci course (yay, Java), so I am a real beginner. If you feel that it's too much to help me or if you're too lazy, I am fine with that too.

 

Thanks!

Wow I just went from your awesome guide to installing normal Leopard on a 1340 to this one. You're and awesome guy btw.

 

I have a few questions though.

Thanks. You're making me dizzy I just answered your other Qs in the other thread :D

I was wondering where I could find a reliable download for Snow Leopard (or a version that's hacked to work with PC like iDeneb, XxX, etc.). I know the forum rules say no linking and stuff, so a simple "go away noob" or "I know it's illegal, but if you google blah blah blah you'll find it" will suffice for me.
You guessed right - the official rules are:

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

The only extra hint I have is get the final "gold" (build 10a432) version at this point, which is the one available for retail, not one of the older WWDC version(s).

Thanks bcc9 for all your help. If you ever need someone to test anything just let me know; I owe you for all the help you've given; everyone here owes you for what you've done for us.

 

The netkas DSMOS did in fact work. For whatever reason, the DSMOS listed in the infinitemac thread didn't seem to work at all...at least in 32 bit mode(which is what matters for us Wireless 1515 owners). I'm also using your HCIBluetooth Kext without trouble at all.

 

I'm curious though: I read somewhere that HDMI on mac os does not send the audio packets. I'm assuming that there is no way to add this through kext modifications(or custom-built ones), but maybe you could clarify if this is at all possible?

 

Again, thank you for all your hard work and time.

-Wynter Woods

×
×
  • Create New...