Jump to content

Dell XPS 9550 detailled 10.11 Guide


Gymnae
 Share

60 posts in this topic

Recommended Posts

The SMBIOS truncation is not a problem for the 9,1 Smbios I'm using here with elcap, I guess for Sierra and the fancy new MBPs this should be solved. Lasts I read on that other forum, rehabman explained that using a kext doesn't solve the problem of truncation. Did not dive in deep yet

Link to comment
Share on other sites

Do you guys have some fix for smbios truncation?

 

Wysłane z mojego Pixel przy użyciu Tapatalka

there is no "real" fix, only part workarounds. It's not fixed in Sierra, because it's a problem between CLOVER and the original Dell Firmware.

Most Probably because "Dell XPS 15" is 11 chars long, which must be overwritten by 14 chars "MacBookPro13,3" which results in "MacBookPro1  ". The kext used on the Sierra setup guide changes it back to "MacBookPro13,3", but this happens after the kernel is loaded for a "MacBookPro1" which is not a skylake system, but a "Core Duo".

 

So in fact using MacBookPro13,3 will be far more problematic than using MacBookPro9,1. Best solution yet is using a smaller SMBios like "MacBook9,1" or "iMac17,1".

  • Like 1
Link to comment
Share on other sites

I used both usb 2 for el capitan and usb 3 for Sierra. Do you have your usb intaller already?

 

Sent from my VS986 using Tapatalk

 

i tried with another el capitan image and finally the error went away, but now i'm getting garbled text with the prohibited sign just after the "missing bluetooth controller transport" error

 

 

 

I've tried with this, but doesn't solve the problem and causes cannot allocate memory error.

 

This is my CLOVER folder: Archive 2.zip

post-1630748-0-22087600-1483368802_thumb.jpg

Link to comment
Share on other sites

i tried with another el capitan image and finally the error went away, but now i'm getting garbled text with the prohibited sign just after the "missing bluetooth controller transport" error

 

 

 

I've tried with this, but doesn't solve the problem and causes cannot allocate memory error.

 

This is my CLOVER folder: attachicon.gifArchive 2.zip

 

 

Isn't it "still waiting for root device"? If yes then you have problem with the SSD recognition. Please check if you have nvmegeneric.kext

 

Wysłane z mojego Pixel przy użyciu Tapatalka

 

Yes, looks exactly like that.

 

@parseInt32 - You are using the standard IOPCIClassMatch of: 0x01080200&0xFFFFFF00 which conflicts with the vanilla IONVMeFamily.kext

 

I would use clover hotpatching to change the IOPCIClassMatch for the NVMe drive and make the same change in HackNVMeFamily.kext/Contents/info.plist

 

Instructions: https://github.com/RehabMan/patch-nvmeand http://www.insanelymac.com/forum/topic/312803-patch-for-using-nvme-under-macos-sierra-is-ready/page-29#entry2322636

Link to comment
Share on other sites

@parseInt32 - You are using the standard IOPCIClassMatch of: 0x01080200&0xFFFFFF00 which conflicts with the vanilla IONVMeFamily.kext

 

I would use clover hotpatching to change the IOPCIClassMatch for the NVMe drive and make the same change in HackNVMeFamily.kext/Contents/info.plist

 

Instructions: https://github.com/RehabMan/patch-nvmeand http://www.insanelymac.com/forum/topic/312803-patch-for-using-nvme-under-macos-sierra-is-ready/page-29#entry2322636

 

dont do the hotpatching! Thats the main reason for data corruption! Edit: Nevermind. Hotpatching is something different than ID-spoofing. That's fine as long as you use a native kext.

Link to comment
Share on other sites

Guys, did you try dual booting with this config? I installed Windows on the same drive in uegi model then booted with pendrive because windows overwritten bootloader. I deleted boot...Fw.efi Mac boots just fine and Windows partition is visible as legacy HD.

 

Wysłane z mojego Pixel przy użyciu Tapatalka

Link to comment
Share on other sites

Guys, did you try dual booting with this config? I installed Windows on the same drive in uegi model then booted with pendrive because windows overwritten bootloader. I deleted boot...Fw.efi Mac boots just fine and Windows partition is visible as legacy HD.

 

Wysłane z mojego Pixel przy użyciu Tapatalka

 

I did not delete boot, did you really delete the boot parition? All that would have been required is to let Clover install itself as UEFI boot option again. This enables booting win and macOS from the same drive.

 

If you deleted boot, you lost some important info. You can recover the windows EFI boot section with recovery media for windows 10. MacOS will still happily boot when started via Clover from USB 

Link to comment
Share on other sites

Just reinstall clover after windows install without touching /EFI/Microsoft/ ?

 

Wysłane z mojego Pixel przy użyciu Tapatalka

This is all you have to do

To recover Clover, easy way:

- on the EFI partition: rename EFI/Microsoft/Boot/bootmgfw.efi to bootmgfw-orig.efi

 

After a Windows update, Windows may re-create bootmgfw.efi with updated code. To fix after a Windows update:

- on the EFI partition, remove EFI/Microsoft/Boot/bootmgfw-orig.efi

- rename EFI/Microsoft/Boot/bootmgfw.efi to bootmgfw-orig.efi

 

Credits to RehabMan

 

 

Sent from my VS986 using Tapatalk

Link to comment
Share on other sites

@Lockzi

I read the "Patching LAPTOP DSDT/SSDTs" guide, and it says that hotpatching is for advanced users, and since i can barely understand the other method maybe i'll do it later.  :lol:

 

What i've done up to now is: 

  • Create a .dsl file and paste the code for injecting the bogus class code
  • Boot on windows, grab the ssd path and replace it in the script, mine was: _SB.PCI0.RP09.PXSX 
  • Save as .aml in /EFI/CLOVER/ACPI/patched/mynvmefix.aml
  • Remove all kext regarding nvme from the Other directiory, boot clover, select F2 for generating preboot.log 
  • Add to patch-nvme.sh's devids array my ssd id, mine should be 1179 0115, because is under 010802 class, am i right? preboot.txt
  • Execute the script, open the .kext's Info.plist and replace IOPCIClassMatch with <string>0x0108ff00&0xFFFFFF00</string>
  • Put the kext in the Other directory
As expeted it doesn't work XD

Am i way off base? 

Link to comment
Share on other sites

@Lockzi

I read the "Patching LAPTOP DSDT/SSDTs" guide, and it says that hotpatching is for advanced users, and since i can barely understand the other method maybe i'll do it later.  :lol:

 

What i've done up to now is:

  • Create a .dsl file and paste the code for injecting the bogus class code
  • Boot on windows, grab the ssd path and replace it in the script, mine was: _SB.PCI0.RP09.PXSX 
  • Save as .aml in /EFI/CLOVER/ACPI/patched/mynvmefix.aml
  • Remove all kext regarding nvme from the Other directiory, boot clover, select F2 for generating preboot.log 
  • Add to patch-nvme.sh's devids array my ssd id, mine should be 1179 0115, because is under 010802 class, am i right? attachicon.gifpreboot.txt
  • Execute the script, open the .kext's Info.plist and replace IOPCIClassMatch with <string>0x0108ff00&0xFFFFFF00</string>
  • Put the kext in the Other directory
As expeted it doesn't work XD

Am i way off base?

 

No need to change anything in the patch_nvme.sh script. The kext will match on class, not specific device-ids. And you can use --spoof to generate a kext with the spoofed class-code.

And your mistake is probably due to an existing _DSM at the SSD path.

As per guide, you must use the _DSM->XDSM to rename all _DSM methods such that OEM _DSM methods don't conflict with the one you're trying to add via mynvmefix.aml.

  • Like 2
Link to comment
Share on other sites

Ok, i generated another kext with spoof paramter and put it in the Other folder.  

 

So basically i need to open DSDT.dsl and replace all _DSM occurrences with XDSM, compile, and then save it as .aml in patched folder?

 

 

post-1630748-0-64760600-1483396610_thumb.png

 

 

errors:

 

 

line 14907:

 I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C0",
                    0x00, ResourceConsumer, _Y24, Exclusive,
                    )
 
line 15068:
CreateWordField (SBFB, \_SB.PCI0.I2C0.HDAC._CRS._Y26._ADR, ADR)  // _ADR: Address
Store (CADR, ADR)
CreateDWordField (SBFI, \_SB.PCI0.I2C0.HDAC._CRS._Y27._INT, AINT)  // _INT: Interrupts
 
 
line 15085:
                If (LEqual (BID, 0x20))
                {
                    Return (SBFB)
                }
 
                Return (ConcatenateResTemplate (SBFB, SBFI))
            }
 
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LNotEqual (I2SC, Zero))
                {
                    Return (0x0F)
                }
 
                Return (Zero)
            }
 
 
 

 

 

Link to comment
Share on other sites

I renamed it to something with .bak. is it some problem? I can boot Mac with it but can't boot windows because it is seen as legacy HD.

 

Wysłane z mojego Pixel przy użyciu Tapatalka

Yes. Yes rename as instructed above

 

Sent from my VS986 using Tapatalk

@Lockzi

I read the "Patching LAPTOP DSDT/SSDTs" guide, and it says that hotpatching is for advanced users, and since i can barely understand the other method maybe i'll do it later.

 

What i've done up to now is:

  • Create a .dsl file and paste the code for injecting the bogus class code
  • Boot on windows, grab the ssd path and replace it in the script, mine was: _SB.PCI0.RP09.PXSX
  • Save as .aml in /EFI/CLOVER/ACPI/patched/mynvmefix.aml
  • Remove all kext regarding nvme from the Other directiory, boot clover, select F2 for generating preboot.log
  • Add to patch-nvme.sh's devids array my ssd id, mine should be 1179 0115, because is under 010802 class, am i right? attachicon.gifpreboot.txt
  • Execute the script, open the .kext's Info.plist and replace IOPCIClassMatch with <string>0x0108ff00&0xFFFFFF00</string>
  • Put the kext in the Other directory
As expeted it doesn't work XD

Am i way off base?

I am confused now. What are you trying to do? Install El Capitan or trying to boot into an already installed El Capitan

 

Sent from my VS986 using Tapatalk

Link to comment
Share on other sites

Ok, i generated another kext with spoof paramter and put it in the Other folder.  

 

So basically i need to open DSDT.dsl and replace all _DSM occurrences with XDSM, compile, and then save it as .aml in patched folder?

 

 

attachicon.gifScreen Shot 2017-01-02 at 23.42.47.png

 

 

errors:

If you're going to use static patching to rename _DSM->XDSM, you will need to disassemble correctly, and use correct tools for disassembly and re-compilation.

Or you can use the _DSM->XDSM hotpatch which is just a simple entry in config.plist.

Link to comment
Share on other sites

If you're going to use static patching to rename _DSM->XDSM, you will need to disassemble correctly, and use correct tools for disassembly and re-compilation.

Or you can use the _DSM->XDSM hotpatch which is just a simple entry in config.plist.

 

Would you consider hotpatching equal to manual *dsl patching? Maybe this could save a lot of time and pain after Firmware and BIOS upgrades. 

Link to comment
Share on other sites

Would you consider hotpatching equal to manual *dsl patching? Maybe this could save a lot of time and pain after Firmware and BIOS upgrades. 

 

When you update your BIOS version, it will most likely have changes to ACPI tables, and even possibly add new ACPI tables.

 

You have two choices now a days.

 

Static patching

where you press F4 at Clover Boot screen to generate those vanilla ACPI tables.

 

Afterwards you will have to dessemble the ACPI tables using iasl and apply patch-after-patch to these vanilla ACPI tables using MacIASL to make our Dell work as expected.

After you are done, you will change config.plist to tell Clover during boot to scrap the ACPI tables from BIOS, and use these (EFI/CLOVER/ACPI/patched) instead.

If you were to update your BIOS you would most likely have to redo ALL the steps above again.

 

Hot Patching

You tell Clover to go through the ACPI tables delivered by BIOS (no matter what BIOS version), and search-replace function names (i.e. from johnSmith->johnDoe) in order to make them unusable.

In addition, we create new "short snippets" of these functions we need to adjust with the correct, expected function names (i.e. johnSmith).

What happens now is that the vanilla ACPI tables are calling for function (johnSmith), but we've changed the functions names (johnSmith->johnDoe), so they are calling nothing (there is no johnDoe), and to the bottom added our replacement function which has the right function name (johnDoe), with proper instructions on what we want done.

 

You are therefore with Hot Patching only replacing parts of the ACPI tables, but you will still probably have to make changes to your Hot Patching when updating, but you won't have to re-do all steps as with static patching one-by-one.

Link to comment
Share on other sites

Would you consider hotpatching equal to manual *dsl patching? Maybe this could save a lot of time and pain after Firmware and BIOS upgrades.

Hotpatching is better, but can more difficult to implement, especially for a novice.

As long as the hotpatch remains compatible with the new BIOS, it can make BIOS updating easier.

  • Like 1
Link to comment
Share on other sites

Do you guys have issues when waking your device? I mean it hangs after putting my password for about 15-20 seconds. I

 

Wysłane z mojego Pixel przy użyciu Tapatalka

 

Not at all. Which hibernate mode are you using?

Post the results of 

sudo pmset -g
Link to comment
Share on other sites

Here is the result:

Active Profiles:Battery Power  1AC Power  -1*Currently in use: standbydelay         10800 standby              1 womp                 1 halfdim              1 hibernatefile        /var/vm/sleepimage powernap             0 gpuswitch            2 autorestart          0 networkoversleep     0 disksleep            10 sleep                60 (sleep prevented by softwareupdate_notify_agent) autopoweroffdelay    14400 hibernatemode        0 autopoweroff         1 ttyskeepawake        1 displaysleep         60p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo}span.s1 {font-variant-ligatures: no-common-ligatures}span.Apple-tab-span {white-space:pre} lidwake              1
Also, is there a way to enable USBc functionality without updating to Sierra?
Link to comment
Share on other sites

Hello guys, I followed this guide to install El Capitan on my XPS 9550 with i7, but i'm currently having a "still waiting for device" error, could you help me ?

 

I already run in safe mode and added the HackrNVMeFamily-10_11_5 kexts, but still the error occurs.

 

Thanks for the help!

Link to comment
Share on other sites

 Share

×
×
  • Create New...