Jump to content
331 posts in this topic

Recommended Posts

Sadly, I'm getting a whole lot of errors in the decompiled version of SSDT-2.aml, and it's very difficult to figure out how to get it to compile without deleting something that could be quite critical...

 

At the moment, all I can think is to try applying RehabMan's "common patches" one at a time, and see if any of them fixes the errors... but if any of you could give me a little bit of a nudge in the right direction, I'd very much appreciate it.

 

I've uploaded my origin ACPI files here.

Link to comment
Share on other sites

Sadly, I'm getting a whole lot of errors in the decompiled version of SSDT-2.aml, and it's very difficult to figure out how to get it to compile without deleting something that could be quite critical...

 

At the moment, all I can think is to try applying RehabMan's "common patches" one at a time, and see if any of them fixes the errors... but if any of you could give me a little bit of a nudge in the right direction, I'd very much appreciate it.

 

I've uploaded my origin ACPI files here.

Disassembling without refs.txt worked for me, so I tried and get only two files with errors:

 

- DSDT needs Fix ADBG Error > no errors

- SSDT-2 needs some code to be deleted. There are 16 packets that are out of _PSS method that are like this:

Package (0x06)
        {
            0x80000000, 
            0x80000000, 
            0x80000000, 
            0x80000000, 
            0x80000000, 
            0x80000000
        }

Now you can move to try what patches are needed for your Companion 2.

I've recently checked with RehabMan that battery patch I created for my device matches Dell XPS 18 patch, so that will give you battery (must install ACPIBatteryManager.kext).

 

Use these patches:

- [sys] Rename _DSM to XDSM

- [bat] Dell XPS 18

- [igpu] Brightness fix (delete AddPNL_1000000 in Clover if you have it)

- [igpu] Rename GFX0 to IGPU (balanced in SSDT-7)

- [igpu] Rename B0D3 to HDAU (also manually rename some B0D3 that weren't patched, balanced in SSDT-7)

- [usb] USB _PRW 0x6D (instant wake)

- [sys] OS Check Fix (Windows 8) > Change Windows 2012 to 2013 in the patch.

- Delete methods content of XSEL, ESEL and XWAK in order to make them do nothing.

- SAT0 to SATA manually renamed (cosmetic)

- BAT0 to SMB0 manually renamed (cosmetic)

- EHC1 to EH01 manually renamed.

- EHC2 to EH02 manually renamed.

- HECI to IMEI manually renamed.

 

Balanced means that any find/replace you do in your DSDT you must do it in all SSDT that contains what you're replacing. And don't forget to rename any _DSM method to XDSM in SSDT if you find them (there will be some in SSDT-7)

 

These are all patches you need, mate. Good luck! ;)

 

Your disassembled files with no errors are here. You must apply patches I previously mentioned.

  • Like 1
Link to comment
Share on other sites

I finally managed to boot into Yosemite. At the moment the graphic drivers are missing and everything is terrible slow, but it seems to work. I have absolutely no idea what is important, what is a good and what is a bad idea, so I try to summarize everything I've done: 

I still boot from the clover-stick which uses clover v2.3 r3923. I sticked to the clover settings from MacTabletMan and added HFSPlus.efi in the drivers64UEFI folder.

I didn't include any DSDT or SSDT files at the moment. 

I added these kexts in the "other"folder: 

 

  • FakePCIID_Broadcom_WiFi.kext 
  • FakePCIID.kext
  • FakeSMC.kext
  • VoodooPS2Controller.kext 

for the config.plist I used a config from rehabman's OS-X-Clover-Laptop-Config-master and modified it with the SMBIOS from a Macbookpro 12,1 and the ig-platform-id  0x162B8086.

 

I guess I did a lot of useless stuff, but I added a ZIP with my files anyway. 

And thank you a lot bertolin, I'll guess this DSDT and SSDT patches will fix the graphic problems.

CC2_512gb_v01_01.zip

Link to comment
Share on other sites

- VoodooPS2Controller not needed.

- Just need in Other folder FakeSMC, the rest must be installed to System/Library/Extensions with Kext Wizard or similar.

- I think our devices needs EmuVariableUEFI-64 and Install RC Scripts on target Volume.

 

I've deleted and changed some stuff in your config.plist. Try it and if it works, try to check what I've changed. Note that maybe there are something that I'm missing because your hardware is Broadwell. You should check what's essential for Broadwell to boot and works.

 

schwarzgrau, your config.plist ;)

Link to comment
Share on other sites

Thank you for clarifying what is needed and what not. 

 

Unfortunately your/my config.plist doesn't seem to work. I'll look deeper into it, to find what's important. 

 

By the way I downloaded MaciASL to apply the patches to the DSDT and the SSDT, but unfortunately I have absolutely no idea what to do, except of renaming. And even with renaming I still get compiling errors at SSDT07.

Link to comment
Share on other sites

Thank you for clarifying what is needed and what not. 

 

Unfortunately your/my config.plist doesn't seem to work. I'll look deeper into it, to find what's important. 

 

By the way I downloaded MaciASL to apply the patches to the DSDT and the SSDT, but unfortunately I have absolutely no idea what to do, except of renaming. And even with renaming I still get compiling errors at SSDT07.

 

 

Hi schwarzgrau,

 

I'm no expert, but I believe the first step is to add the following repository to MaciASL (follow the instructions at the link):

 

https://github.com/RehabMan/Laptop-DSDT-Patch

 

Then, presumably you open each file in sequence and select "Patch", then select and apply each of the patches in sequence to each file (hopefully you don't need to be on the target machine, cause I'm doing this on my actual Mac laptop). Finally, you select "Generate SDDT" to put all this back together... and - um - put that somewhere in the Clover folder.

 

Tinkering with it now, I'll let you know how I go.

Link to comment
Share on other sites

Hi schwarzgrau,

 

I'm no expert, but I believe the first step is to add the following repository to MaciASL (follow the instructions at the link):

 

https://github.com/RehabMan/Laptop-DSDT-Patch

 

Then, presumably you open each file in sequence and select "Patch", then select and apply each of the patches in sequence to each file (hopefully you don't need to be on the target machine, cause I'm doing this on my actual Mac laptop). Finally, you select "Generate SDDT" to put all this back together... and - um - put that somewhere in the Clover folder.

 

Tinkering with it now, I'll let you know how I go.

Almost well, mate. You add RehabMan repository in MaciASL as you said, open *.dsl files (DSDT and SSDT), apply patches and Save as ACPI Machine Language Binary (*.aml). Put them in EFI/CLOVER/ACPI/patched

  • Like 1
Link to comment
Share on other sites

Hmm... yeah, no dice... getting a LOT of errors after I apply those patches.

 

Only done DSDT.dsl so far, but I've applied all patches from bertolin's list, and the manual rename stuff as well, and it's giving me:

11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(2669) : error    6085 - Object not found or not accessible from scope (^^_DOS)11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(11965) : error    6084 - Object does not exist (\_SB.PCI0.B0D3.ABAR)
11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(11965) : error    6084 - Object does not exist (\_SB.PCI0.B0D3.ABAR)
11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(11967) : error    6084 - Object does not exist (\_SB.PCI0.B0D3.ABAR)
11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(11967) : error    6084 - Object does not exist (\_SB.PCI0.B0D3.BARA)
 
Plus a whole lot of warnings.
 
These errors don't appear before the patching process, so I'm afraid they must be introduced by the patches.
 
Wish I knew enough about this code to debug them...
 
Seems to be some relevant discussion online that indicates I missed some renames...? Will keep working.
Link to comment
Share on other sites

 

Hmm... yeah, no dice... getting a LOT of errors after I apply those patches.

 

Only done DSDT.dsl so far, but I've applied all patches from bertolin's list, and the manual rename stuff as well, and it's giving me:

11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(2669) : error    6085 - Object not found or not accessible from scope (^^_DOS)11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(11965) : error    6084 - Object does not exist (\_SB.PCI0.B0D3.ABAR)
11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(11965) : error    6084 - Object does not exist (\_SB.PCI0.B0D3.ABAR)
11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(11967) : error    6084 - Object does not exist (\_SB.PCI0.B0D3.ABAR)
11/17/16, 7:35:10 PM, iASLDKn1Qz.dsl(11967) : error    6084 - Object does not exist (\_SB.PCI0.B0D3.BARA)
 
Plus a whole lot of warnings.
 
These errors don't appear before the patching process, so I'm afraid they must be introduced by the patches.
 
Wish I knew enough about this code to debug them...
 
 
Might be I missed some renames...? Will keep working.

 

You forgot to rename BD03 to HDAU after apply patch as I said. There's some B0D3 entries where patch don't work. Read carefully every step.

Link to comment
Share on other sites

You forgot to rename BD03 to HDAU after apply patch as I said. There's some B0D3 entries where patch don't work. Read carefully every step.

 

Ah! You're right!

 

Sorry - I'm being a bit timid about making manual changes... I'm down to just that ^^_DOS error now.

 

The code reads as follows...

Method (_DOS, 1, NotSerialized) {
    // Note: Some systems have this defined in DSDT, so uncomment
    // the next line if that is the case.
    //External(^^_DOS, MethodObj)
    ^^_DOS(Arg0)
}

As such, maybe it's OK to just uncomment that line, or add to refs.txt.

Link to comment
Share on other sites

Ah! You're right!

 

Sorry - I'm being a bit timid about making manual changes... I'm down to just that ^^_DOS error now.

 

The code reads as follows...

Method (_DOS, 1, NotSerialized) {
    // Note: Some systems have this defined in DSDT, so uncomment
    // the next line if that is the case.
    //External(^^_DOS, MethodObj)
    ^^_DOS(Arg0)
}

As such, maybe it's OK to just uncomment that line, or add to refs.txt.

I don't know where this error come from, mate, but I've applied all patches I said before (remember you must always balance names, so if you renamed GFX0 to IGPU in DSDT, do it all SSDT, same for _DSM to XDSM, B0D3 to HDAU...)

 

Anyway, here you have your patched ACPI files. They are *.dsl, you need to save them as ACPI MAchine Language Binary and put them in EFI/CLOVER/ACPI/patched. Do not put dynamic SSDT files there (they are SSDT with a number and an "x" at the end).

  • Like 2
Link to comment
Share on other sites

Thank you kindly, bertolin!

 

For my own education, could you please clarify whether you're applying the other patches to the SSDT files also?

e.g. are you running patches like [bat] Dell XPS 18 on the SSDTs as well, or only the patches you specifically marked as "balanced"?

 

Thanks again, you're most generous to take the time. I really don't know what I messed up...

 

Also, one thing Rehabman is unclear about - should we be dropping in the extra unpatched AMLs as well? e.g. MCFG.aml

 

Or will Clover simply use the existing ones in the system, where the patched folder is missing them?

 

He also suggests to set

 

ACPI/SSDT/DropOem=true (Clover) to drop all the SSDTs, then provide the patched (and unpatched) files for loading by the bootloader.

 

I guess that will drop those "x" ones that you said to avoid, but will that drop the unmatched AMLs like RSDT.aml, as well? Do I therefore need to include this in the "patched" folder?

 

Or should I not be dropping them at all?

 

For the time being, I've edited your config.plist to include the DropOem flag, and left the excess ones out of the folder... we'll see if that works, for booting the thing.

Link to comment
Share on other sites

Thank you kindly, bertolin!

 

For my own education, could you please clarify whether you're applying the other patches to the SSDT files also?

e.g. are you running patches like [bat] Dell XPS 18 on the SSDTs as well, or only the patches you specifically marked as "balanced"?

 

Thanks again, you're most generous to take the time. I really don't know what I messed up...

It's normal to feel that way, man, it took almost two years to start to know what I was doing ^_^

 

No patch needed for SSDT, just balance names. There are some: 

 

_DSM to XDSM: there is a patch for DSDT and you must manually rename some _DSM present in SSDT-7

GFX0 to IGPU: there is a patch for DSDT and you must manually rename some GFX0 present in SSDT-7

B0D3 to HDAU: manually rename in DSDT and SSDT-7

EHC1 to EH01: manually rename in DSDT

EHC2 to EH02: manually rename in DSDT

SAT0 to SATA: manually rename in DSDT and SSDT-0

BAT0 to SMB0: manually rename in DSDT

HECI to IMEI: manually rename in DSDT

 

Note: some patches for SSDT exists but we don't need anyone.

 

You only need to put in EFI/CLOVER/ACPI/patched:

 

- DSDT.aml

- SSDT.aml for CPU power management

- All SSDT (keep original name) except dynamic.

 

You also need to set in config.plist in ACPI/SSDT/DropOEM to YES. About MCFG, it comes in RehabMan config but that gave me kernel panics. If you are booting ok with that, don't delete it. If issues comes, remove that entry. 

 

You're welcome, mate. I wish I knew all this sooner, I was working without CPU power management almost a year ^_^

  • Like 1
Link to comment
Share on other sites

Thanks for the quick answer! You're a dynamo. =)

 

You only need to put in EFI/CLOVER/ACPI/patched:

 

- DSDT.aml

- SSDT.aml for CPU power management

- All SSDT (keep original name) except dynamic.

 

I notice that neither your files, nor mine, nor your original folder, has an SSDT.aml or SSDT.dsl

 

There isn't one in my "origin" folder, either...

 

Where do I get that one? 0_0

 

Or is that the SSDT-0 one?

Link to comment
Share on other sites

Thanks for the quick answer! You're a dynamo. =)

 

 

I notice that neither your files, nor mine, nor your original folder, has an SSDT.aml

 

There isn't one in my "origin" folder, either...

 

Where do I get that one? 0_0

I've said this before: you need to generate a SSDT.aml for your CPU power management with:

 

Piker's script.

 

See your private inbox, mate.

Link to comment
Share on other sites

I've said this before: you need to generate a SSDT.aml for your CPU power management with:

 

Piker's script.

 

See your private inbox, mate.

 

Ah right - I wasn't up to that step yet in your guide... thought you had to do that on the target device, once it's booting.

 

Will keep going through now!

 

Edit: Looks like you DO have to do it on the target device... so I'll test now to see if I can boot first.

Link to comment
Share on other sites

Edit: Looks like you DO have to do it on the target device... so I'll test now to see if I can boot first.

 

Yes, Piker's script auto detect your CPU and generate a proper SSDT.aml.

 

But first boot must be without patched ACPI files in EFI/CLOVER/ACPI/patched, DropOEM set to NO, and ACPI/SSDT/Generate to YES.

 

ACPI/SSDT/Generate do almost the same than Piker's script, it generates a SSDT for CPU power management on the fly. So you can boot installer and installation at first stage to proceed to post-installation.

 

After boot and generate with Piker's script, put ACPI files again, set DropOEM to YES and Generate to NO.

Link to comment
Share on other sites

Huh...

 

Well, I've figured out why it keeps turning off when I try to boot it.

 

It's actually getting a bit further now, and scrolling text before it turns itself off.

 

But just before it turns off, it scrolls a kernel panic error which says that the kernel extension that generated the error is:

 

com.apple.Dont_Steal_Mac_OS_X(7.0)

 

That's pretty clear, methinks... -_-

 

Also, further up it has a code signing error.

 

So, I guess it's recognizing that some of the code being used here wasn't written by Apple, and therefore it thinks we're stealing Mac OS X, and it self-terminates.

 

Annoying... maybe they've added some kind of code-signing check in the new version of the system? I guess there's not much one can do about that, right? Should I try running again without any kexts?

 

Edit: Saw your post, and trying it now without the patches and such.

 

Edit #2: Same issue, with all patched files removed, DropOEM off and the generate flags on. It says:

Waiting for DSMOS...
unexpected session: 100000 uid: -1 requested by: 54
AppleKeyStore: operation failed (pid: 54 sel: 7 ret: e00002c2 '-536870206', -1, 100000)
AMFI: code signature validation failed.
Previous shutdown cause: 0
IOGraphics flags 0x43
com_driver_GxxxDriver::probe fails
com_driver_GxxxDriver::probe fails
HID: Legacy shim 2
com_driver_GxxxDriver::probe fails
HID: Legacy shim 2

After that there's a huge pile of ACPI errors (mostly "namespace lookup failure, AE_ALREADY_EXISTS")... and a few "Method parse/execution failed".

 

These ACPI errors didn't appear when I had the DSDT files and stuff in, so I don't think they're important, but in both cases it ends with "DSMOS: SMC returned incorrect key", followed by a kernel panic, and a self-shutdown with that Dont_Steal_MacOS_X message.

Link to comment
Share on other sites

Well, I think this is where my knowledge ends, mate. I've read a lot about Haswell and my graphics, you should look for a guide that match your CPU and graphics and try to emulate/copy those values in config.plist and more requirements you probably need, but I can't be more of any help here, sorry.

 

Btw, are you trying to boot the installer or have you already install OSX? Which version?

Link to comment
Share on other sites

I'm trying to boot my pre-installed Mac OS X Sierra.

 

Tried running the installer for Sierra off my USB key, just now, though. Same error.

 

I'll start googling around, see what I find. Thanks so much for your help, man!

 

schwarzgrau, maybe with your own setup and bertolin's fixes, you'll have better luck?

Link to comment
Share on other sites

I'm trying to boot my pre-installed Mac OS X Sierra.

So have already installed macOS Sierra to an external drive?

 

Tried running the installer for Sierra off my USB key, just now, though. Same error.

So you are booting the installer or an installation? I don't get it. Installer need DropOEM=NO, no ACPI files and Generate=YES for what I know. If that works, you should be able to boot installation with same config.plist. If you add patched ACPI files, reverse settings as mentioned.

I'll start googling around, see what I find. Thanks so much for your help, man!

 

That's the best thing you can do, mate. You're very welcome, I was just trying to help :)
Link to comment
Share on other sites

 

So have already installed macOS Sierra to an external drive?

 

So you are booting the installer or an installation? I don't get it. Installer need DropOEM=NO, no ACPI files and Generate=YES for what I know. If that works, you should be able to boot installation with same config.plist. If you add patched ACPI files, reverse settings as mentioned.

 

My USB HD contains Clover, and a clone of my old MacBook Pro's hard drive.

 

Been trying to get that HD to boot, and trying the Sierra installer as a backup.

 

Oddly, I was just able to start the Sierra installer using schwarzgrau's unmodified config.plist...

 

Might see if I can invert those settings, add the ACPIs, and run my drive that way!

Link to comment
Share on other sites

Holy heck, it worked!

 

Running a modified version of schwarzgrau's config.plist (DropOEM=YES, Generate=NO) and with the patched ACPIs linked above... I was able to boot off my drive!

 

Peripherals aren't working (my Apple USB Ethernet adaptor shows as "unplugged" all the time, and I can't get the device to use a plugged-in display), the graphics show as "Intel Unknown 1 MB", and it's slow as heck, but it's STARTING - so I feel like this is the home stretch!

 

bertolin: Thanks again for all the help - I feel a lot more confident that it can be made to work, now that it's booting. I'm going to do a diff between your config and schwarzgrau's, to see what else I can bring in from your clover setup, without triggering this kernel panic.

Link to comment
Share on other sites

My USB HD contains Clover, and a clone of my old MacBook Pro's hard drive.

 

Been trying to get that HD to boot, and trying the Sierra installer as a backup.

 

Oddly, I was just able to start the Sierra installer using schwarzgrau's unmodified config.plist...

 

Might see if I can invert those settings, add the ACPIs, and run my drive that way!

Man, WTF?! Why are you trying to do that, what are you trying to accomplish with booting a real MacbookPro cloned HDD with Clover in your Companion? Forget that.

You must to get the installer booting in order to install OSX into an external or internal drive. Even if it's possible to do what you're trying, there will be a lot of things not working properly. Remember, do the installer and install.

 

 

Holy heck, it worked!

 

Running a modified version of schwarzgrau's config.plist (DropOEM=YES, Generate=NO) and with the patched ACPIs linked above... I was able to boot off my drive!

 

Peripherals aren't working (my Apple USB Ethernet adaptor shows as "unplugged" all the time, and I can't get the device to use a plugged-in display), the graphics show as "Intel Unknown 1 MB", and it's slow as heck, but it's STARTING - so I feel like this is the home stretch!

 

bertolin: Thanks again for all the help - I feel a lot more confident that it can be made to work, now that it's booting. I'm going to do a diff between your config and schwarzgrau's, to see what else I can bring in from your clover setup, without triggering this kernel panic.

AS I said, don't try to boot a real Mac cloned HDD, you must install your OSX from scratch.

 

I think config for schwarzgrau is well enough to boot the installer. Try the same to first boot your installation if you get the installer to boot and do its thing.

 

NOTE: In order to boot installer or installation:

 

Yosemite needs the boot flag kext-dev-mode=1.

Sierra (or El Capitan) needs RtVariables I mentioned in this thread.

 

Use only one, not both. kext-dev-mode=1 doesn't work for Sierra (or El Capitan), is only for Yosemite. Same for those RtVariables, only for Sierra (or El Capitan)

Link to comment
Share on other sites

 Share

×
×
  • Create New...