Jump to content

Dell XPS 1340 under OSX 10.6, including boot-132 install cd

- - - - -

  • Please log in to reply
1148 replies to this topic

#1
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male
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: Attached File  smbios.plist.v2.zip   423bytes   1185 downloads 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:Attached File  fakesmc.kext.2.5.zip   30.18KB   103 downloads 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):

  • setup a usb thumb drive or disk drive, with an hfs+ partition to install on (the destination partition),


  • run disk utility


  • right click on destination partition, select restore


  • select 10.6 dmg file as source


  • select destination partition again
Take .iso and burn to cd-rw or cd-r
I have pre-built a boot132 iso, available here http://www.mediafire...php?4jmikzkmzuz

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: Attached File  com.apple.Boot.plist.zip   403bytes   1178 downloads

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.voodoop...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.
  • For Dell A06 BIOS (A06, A07 and A08 BIOS have identical DSDT). Attached File  dsdt.zip   47.7KB   874 downloads
  • For A11 BIOS Attached File  dsdt.a11.zip   48.7KB   429 downloads
  • For A14 BIOSAttached File  dsdt.a14.zip   80.45KB   1192 downloads
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. Attached File  hdaidt.kext.v4.zip   7.42KB   1865 downloadsYou 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: Attached File  patch_hda.v5.zip   1.19KB   348 downloadsRun 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
  • 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.Attached File  AppleACPIPlatform.mcp79.v1.7.pkg.zip   46.3KB   485 downloads. 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).


  • 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.
  • #!/bin/bash
    				sle=/System/Library/Extensions/IOFireWireFamily.kext/Contents/PlugIns
    				mv $sle/AppleFWOHCI.kext $sle/AppleFWOHCI.kext.good
    Which avoids the problem.


  • 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.insanelym...p...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

#2
itwong

itwong

    InsanelyMac Protégé

  • Members
  • PipPip
  • 72 posts
Thanks for the quick up-to-date tutorial on the newly released Snow leopard.
It's good to see the stock AppleHDA works finally on this laptop.

#3
pmcnano

pmcnano

    Preguntaaame caom!

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,128 posts
  • Gender:Male
  • Location:Merida, Mexico
If anyone has time...

http://www.insanelym...p;#entry1235177

Im at work, will post later..

#4
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male
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.

#5
zerotri

zerotri

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts
@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?

#6
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male

@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.

#7
zerotri

zerotri

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts

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.

#8
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male

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.

#9
zerotri

zerotri

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts
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.

#10
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male

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)

#11
zerotri

zerotri

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts

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...

#12
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male

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).

#13
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male
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.

#14
zerotri

zerotri

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts
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.

#15
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male

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.

#16
pmcnano

pmcnano

    Preguntaaame caom!

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,128 posts
  • Gender:Male
  • Location:Merida, Mexico
Sorry, didnt saw you asked, No I hadnt install SL, just in desktop not laptop. Eh, why use dsmos?, why not fakesmc?

#17
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male

Eh, why use dsmos?, why not fakesmc?

Either work for me. The later is brand new & less tested so using it would be a more bleeding edge choice.

#18
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male
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.insanelym...p...t&p=1239975

#19
smarcix

smarcix

    InsanelyMac Legend

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

P.S.
sorry for my english....

#20
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,279 posts
  • Gender:Male

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.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy