Fergarth Posted January 14, 2017 Share Posted January 14, 2017 On January 9, I did the update for version 10.12.3 beta 3 (16D25a) post #976 and today I just did for 10.12.3 beta 4 (16D30a). Again, it was just say yes to update and wait for the system to restart. And again I did not have to mess with anything. The system starts the OS as if it were a real Mac Pro with everything running smoothly and perfect. If someone wants my EFI, I'll post it here, but notice that it will only work well with Board, Processor and Graphics Card just like mine, since my DSDT and SSDT is specifically created and edited for that purpose. Even the FakeSMC was edited to my board's wifi card. Once again, a big, big thank you to this forum, especially to nmano for DSDT and PMheart for the special tips and secrets. 2 Link to comment Share on other sites More sharing options...
mfc88 Posted January 14, 2017 Share Posted January 14, 2017 SSDT Work without X99 USB 3_Injector I tried to do this a long time ago but today I finally got a breakthrough. Just drop SSDT-XHC2.AML into EFI folder and add port limit patch in config.plist. Happy New Year to you all and don’t forget to like my post! Enjoy! Works well so far. Taking a look at the SSDT, I noticed you injected all of _SB.PCI0.XHCI.RHUB into _SB.PCI0.XHCI.XHCI. This seams a bit redundant, no? But, I guess... if it works... it works. Thanks! I will check this out tomorrow and post the results You can bypass the XHCI->XCH_ DSDT patch by... Using nmano's SSDT (remove all DSDT patches in config.plist and remove the uia-exclude=HSXX boot argument and remove kexts dealing with USB injection). Also, you will need this in your config.plist->KextsToPatch: Name: AppleUSBXHCIPCI Find: 83BD74FFFFFF10 Replace: 83BD74FFFFFF16 Comment: Change 15 Port Limit To 30 1 Link to comment Share on other sites More sharing options...
mfc88 Posted January 14, 2017 Share Posted January 14, 2017 Small update: I'm no longer injecting my GPU into the DSDT, now I have it injected via SSDT. When loading into 10.12.2, I can now use the nvidiaweb flag (black screen with DSDT injection). -Removed all instances of _SB.PCI0.BR3A.GFX0 and SB.PCI0.BR3A.D077, replace with H00Y and HDA1. -Loaded GFX1 and HDAU via custom SSDT-BR3A.aml 1 Link to comment Share on other sites More sharing options...
mfc88 Posted January 14, 2017 Share Posted January 14, 2017 # Patched FakeSMC (build version 16C67) if WIFI breaks after updating to HWsensors 6.24.1421 for Asus X99 Pro USB 3.1 # Replaces HWsensors' FakeSMC FakeSMC.kext.zip 3 Link to comment Share on other sites More sharing options...
mfc88 Posted January 15, 2017 Share Posted January 15, 2017 All righty! Done for now... Here are some SSDTs for an Asus X99 Pro USB 3.1. This is very similar to DSDT injection but with the "newer" SSDT injection. So if you want/need to edit something, you'll just need to disassemble/edit/save the SSDT, instead of disassemble/edit/compile/save the entire DSDT. You will, however, need to utilize Clover config.plist DSDT patches for some devices! If you'd like to create your own, please use my tool: ssdtGen(beta) (only support x99/z170 motherboards and will NOT make a custom SSDT-UIAC.aml) Notes:SSDT-ALZA.aml => Realtek Audio Controller. Works alongside AppleHDA.kext/AppleALC.kext/RealtekALC.kext.SSDT-GFX1.aml => GFX1 and HDAU (audio) injection.SSDT-EVSS.aml => AHCI (Advance Host Controller Interface) controller -- allows Hybrid or standard HDD devices to comm. w/ software. SSDT-GLAN.aml => Intel ethernet controller. Works alongside IntelMausiEthernet.kext SSDT-HECI.aml => IMEI Controller (Intel Management Engine Interface) for various tasks while the system is booting, running or sleeping. SSDT-LCP0.aml => Adds support to AppleLPC.kext for Low Pin Count devices to connect to the CPU SSDT-NVMe-Pcc.aml => Spoofed NMVe. Works alongside HackrNVMeFamily_10_12_x.kext (in CLOVER->kexts->other). Should be OK as is if using same board, same OS version, and have a supported NVMe. If problems, create your own via my generic HackrNVMeFamily guide or Rehabman's HackrNVMe guide. Or remove it and the kext. No DSDT edit required. SSDT-SAT1.aml => SATA Controller -- allows SSD devices to comm. w/ software. SSDT-SMBS.aml => SMBUS (Sys. Mgnmt. Bus) -- comm. w/ power source (such as rechargeable batteries or external devices). SSDT-XHC2.aml => nmano's x99 XHCI USB controller. Should be OK as is. Notes: Not compatible with all X99 chipsets. Removed. Use UIAC.aml below or nmano's X99 Injector USB3.kext. Follow this link for more information on how to use X99 Injector USB3.kext. SSDT-UIAC.aml => Rehabman's x99 XHC USB 2.0/3.0 controller. Follow this link for more information on how to make your own. SSDT-XHC.aml => Power options for your USB xHC ports. SSDT-XOSI.aml => Simulated Windows _OSI methods. SSDT.aml => Custom CPU power management. You can follow this (look at second to last note in my post) to generate your own. 5 Link to comment Share on other sites More sharing options...
mfc88 Posted January 15, 2017 Share Posted January 15, 2017 Sorry fellas and/or ladies, it looks like I forgot to test Bluetooth. I used the wrong kexts and broke it. Reuploaded EFI with working Bluetooth. Also added four new SSDTs (ALZA -- Realtek Audio Controller, EVSS -- AHCI Controller, RP04 -- Broadcom Wireless Network Adapter, and SAT1 -- SATA Controller) as well as an updated DSDT for the new SSDTs. Notes: ++ Added BrcmFirmwareData.kext ++ Added BrcmPatchRAM2.kext -- Removed BroadcomBluetooth.kext -- Removed AHCIPortInjector.kext -- Removed USB X99 Injector 3.kext Testing done in 10.12.2: ✓ Audio over HDMI/DP ✓ Bluetooth ✓ CPU Power Management/Stepping ✓ Ethernet ✓ GPU recognition/usage ✓ NVMe recognition and R/W/E permissions ✓ Sleep ✓ USB 2.0, 3.0, 3.1 recognition/usage ✓ WIFI 2.4ghz/5ghz 2 Link to comment Share on other sites More sharing options...
jacoweb Posted January 16, 2017 Share Posted January 16, 2017 Hey again! Is it possible to help me how i can extract the usb/sata/HECI/Audio/smbus patches etc from the patches DSDT from mfc88 to seperate SSDT`s?. DSDT.aml.zip Link to comment Share on other sites More sharing options...
jacoweb Posted January 16, 2017 Share Posted January 16, 2017 (edited) Just saw this. I think the DSDT provided by another user might not be compatible with your system. Already ahead of you... Try this EFI (modified DSDT from your "debug Mac Pro" folder above, includes SSDT-BR3A.aml for GPU and SDDT-XHCI.aml for USB injection). Includes: ++ SSDT-BR3A.aml ++ SSDT-XHCI.aml ++ config.plist edits to work with SSDTs/DSDT ++ voodootsync for 6-core (should help with sleep issues) Removed: -- USBInjectAll.kext -- XHCI-x99-injector.kext Check if: ?? Graphics still loads ?? USB ports still work ?? CPU PM still works ?? Sleep still works If not: -- Remove SSDT-XHCI.aml -- Remove AppleUSBXHCIPCI from KextsToPatch ++ Add XHCI to XHC_ DSDT patch ==> Find: 58484349 Replace: 5848435F ++ Add USBInjectAll.kext, XHCI-x99-injector.kext, add uia_exclude=HS07;HS08;HS09;HS10;HS12 boot args Oh thank you Testing it right away! Update: First solution: results reboot on sleep. And buggy when insert on the usb ports. Second solution: I can wake it from sleep but it freezes. Dunno what to try. Edited January 17, 2017 by jacoweb Link to comment Share on other sites More sharing options...
nmano Posted January 17, 2017 Author Share Posted January 17, 2017 DSDT all in one patched. #XHCI worked well with out any USB_Injector. Thank god Its worked DSDT regular patchs. Archive.zip 2 Link to comment Share on other sites More sharing options...
mfc88 Posted January 17, 2017 Share Posted January 17, 2017 Oh thank you Testing it right away! Update: First solution: results reboot on sleep. And buggy when insert on the usb ports. Second solution: I can wake it from sleep but it freezes. Dunno what to try. Stick with second solution and find out what causes it to freeze. Impossible for me to know since I don't have your board and can't test it. Link to comment Share on other sites More sharing options...
jacoweb Posted January 17, 2017 Share Posted January 17, 2017 Stick with second solution and find out what causes it to freeze. Impossible for me to know since I don't have your board and can't test it. Yep Link to comment Share on other sites More sharing options...
mfc88 Posted January 18, 2017 Share Posted January 18, 2017 Yep Taking a more in-depth look at your USB structure via IOReg... Your USB ports are laid out a bit different than ours. Mine: PCI0.EH01 PCI0.EH02 PCI0.RP05 PCI0.XHCI Yours: PCI0.BR1B PCI0.EHC1 PCI0.EHC2 PCI0.XHC(I) But most of your useable ports are nested inside XHC(I), so not sure why you're getting issues. If I had to guess, it might just something simple like a device ID change (everything else looks pretty much the same). Link to comment Share on other sites More sharing options...
thenightflyer Posted January 18, 2017 Share Posted January 18, 2017 Taking a more in-depth look at your USB structure via IOReg... Your USB ports are laid out a bit different than ours. Mine: PCI0.EH01 PCI0.EH02 PCI0.RP05 PCI0.XHCI Yours: PCI0.BR1B PCI0.EH01 PCI0.EH02 PCI0.XHC(I) But most of your useable ports are nested inside XHC(I), so not sure why you're getting issues. If I had to guess, it might just something simple like a device ID change (everything else looks pretty much the same). I tried your SSDT-XHC2 removing my x99_USB3_injector kext and leaving only kext patch about port number, but USB ports don't work....i've an x99 deluxe II so it's similar to your mainboard and there shouldn't be compatibility problems but i'm not able to work USB with SSDT only....same for graphics. I've a GTX 680 and i tried to create SSDT to rename GFX1 following shilooh's guide but my GPU is not renamed Link to comment Share on other sites More sharing options...
mfc88 Posted January 18, 2017 Share Posted January 18, 2017 I tried your SSDT-XHC2 removing my x99_USB3_injector kext and leaving only kext patch about port number, but USB ports don't work....i've an x99 deluxe II so it's similar to your mainboard and there shouldn't be compatibility problems but i'm not able to work USB with SSDT only....same for graphics. I've a GTX 680 and i tried to create SSDT to rename GFX1 following shilooh's guide but my GPU is not renamed Attach your working EFI folder with dumped .amls in the origin and an IOReg dump. I think I might know what to do... 2 Link to comment Share on other sites More sharing options...
Mike Ranger Posted January 18, 2017 Share Posted January 18, 2017 So.... I also start now with DSDT patching..... but first a very fundamental problem. I dump my DSDT.aml with clover, I open with MaciASL, compile..... I get 19 Error and 22 Warnings..... not a good start for DSDT editing..... any guidance to how to get a error free initial clean version? Thanks, Mike Link to comment Share on other sites More sharing options...
mfc88 Posted January 18, 2017 Share Posted January 18, 2017 So.... I also start now with DSDT patching..... but first a very fundamental problem. I dump my DSDT.aml with clover, I open with MaciASL, compile..... I get 19 Error and 22 Warnings..... not a good start for DSDT editing..... any guidance to how to get a error free initial clean version? Thanks, Mike What version of MaciASL are you running? What version of iasl are you running? Also, we only want DSDT.aml, (not DSDT-0.aml or any other name) and SSDT-0.aml, SSDT-1.aml...etc. If you're not sure, then follow my guide on how to install the latest of both: http://www.insanelymac.com/forum/topic/312803-patch-for-using-nvme-under-macos-sierra-is-ready/page-37?do=findComment&comment=2343228 1 Link to comment Share on other sites More sharing options...
Mike Ranger Posted January 18, 2017 Share Posted January 18, 2017 I use Rehabmans version of Maciasl with ACPI 6.1 Compiler version is 20160422-64 Also tried the latest MaciASL 1.4 with ACPI 5.0 Similar results with both. I attached my extracted DSDT.aml file. Can you verify please? Thanks, Mike DSDT.aml.zip 1 Link to comment Share on other sites More sharing options...
mfc88 Posted January 18, 2017 Share Posted January 18, 2017 I use Rehabmans version of Maciasl with ACPI 6.1 Compiler version is 20160422-64 Also tried the latest MaciASL 1.4 with ACPI 5.0 Similar results with both. I attached my extracted DSDT.aml file. Can you verify please? Thanks, Mike No errors on my end (included DSDT.dsl in file below)... Ranger-DSDT.zip Link to comment Share on other sites More sharing options...
Mike Ranger Posted January 18, 2017 Share Posted January 18, 2017 hmmm ok.... I guess it is the compiler then.... I will read through your instructions in the link you sent me. Thanks, a lot. If I open your dsl file.... I still get the same errors..... really confusing. Cheers, Mikel Link to comment Share on other sites More sharing options...
Mike Ranger Posted January 18, 2017 Share Posted January 18, 2017 So this is the log I get when compiling the decompiled dsl again. I really do not understand why I get all these errors, I installed the latest compiler as advised and the latest MacIasl from Rehabman. Really confused. Thanks, Mike 18.01.17, 23:44:04, Intel ACPI Component Architecture 18.01.17, 23:44:04, ASL+ Optimizing Compiler version 20161222-64(RM) 18.01.17, 23:44:04, Copyright (c) 2000 - 2017 Intel Corporation 18.01.17, 23:44:04, Intel ACPI Component Architecture 18.01.17, 23:44:04, ASL+ Optimizing Compiler version 20161222-64(RM) 18.01.17, 23:44:04, Copyright (c) 2000 - 2017 Intel Corporation 18.01.17, 23:44:33, iASL6JaSTo.dsl(122) : warning 3144 - Method Local is set but never used (Local0) 18.01.17, 23:44:33, iASL6JaSTo.dsl(378) : warning 3144 - Method Local is set but never used (Local0) 18.01.17, 23:44:33, iASL6JaSTo.dsl(2758) : warning 3144 - Method Local is set but never used (Local1) 18.01.17, 23:44:33, iASL6JaSTo.dsl(2811) : error 6086 - Not a control method, cannot invoke (PRID is a BufferField) 18.01.17, 23:44:33, iASL6JaSTo.dsl(2811) : error 6058 - Invalid type (Target is [Package], Source must be a package also) 18.01.17, 23:44:33, iASL6JaSTo.dsl(2816) : error 6086 - Not a control method, cannot invoke (PRID is a BufferField) 18.01.17, 23:44:33, iASL6JaSTo.dsl(15675) : warning 3115 - Not all control paths return a value (_OSC) 18.01.17, 23:44:33, iASL6JaSTo.dsl(15675) : warning 3107 - Reserved method must return a value (Buffer required for _OSC) 18.01.17, 23:44:33, iASL6JaSTo.dsl(15880) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(16825) : warning 3130 - Result is not used, possible operator timeout will be missed 18.01.17, 23:44:33, iASL6JaSTo.dsl(17038) : warning 3129 - ResourceTag smaller than Field (Size mismatch, Tag: 1 bit, Field: 8 bits) 18.01.17, 23:44:33, iASL6JaSTo.dsl(17295) : warning 3144 - Method Local is set but never used (Local0) 18.01.17, 23:44:33, iASL6JaSTo.dsl(17337) : warning 3144 - Method Local is set but never used (Local0) 18.01.17, 23:44:33, iASL6JaSTo.dsl(23927) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(24564) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(25206) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(25843) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(26480) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(27122) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(27759) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(28396) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(29033) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(29675) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(30944) : warning 3115 - Not all control paths return a value (_OSC) 18.01.17, 23:44:33, iASL6JaSTo.dsl(30944) : warning 3107 - Reserved method must return a value (Buffer required for _OSC) 18.01.17, 23:44:33, iASL6JaSTo.dsl(31290) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(31299) : error 6051 - Address Min is greater than Address Max 18.01.17, 23:44:33, iASL6JaSTo.dsl(31306) : error 6051 - Address Min is greater than Address Max 18.01.17, 23:44:33, iASL6JaSTo.dsl(31313) : error 6051 - Address Min is greater than Address Max 18.01.17, 23:44:33, iASL6JaSTo.dsl(31318) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(31325) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(31526) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(32149) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(32772) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(33395) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(34018) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(34641) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(35264) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(35887) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(36510) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(37133) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(37756) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(38281) : warning 3115 - Not all control paths return a value (_OSC) 18.01.17, 23:44:33, iASL6JaSTo.dsl(38281) : warning 3107 - Reserved method must return a value (Buffer required for _OSC) 18.01.17, 23:44:33, iASL6JaSTo.dsl(38627) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(38636) : error 6051 - Address Min is greater than Address Max 18.01.17, 23:44:33, iASL6JaSTo.dsl(38643) : error 6051 - Address Min is greater than Address Max 18.01.17, 23:44:33, iASL6JaSTo.dsl(38650) : error 6051 - Address Min is greater than Address Max 18.01.17, 23:44:33, iASL6JaSTo.dsl(38655) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(38662) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(38863) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(39486) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(40109) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(40732) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(41355) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(41978) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(42601) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(43224) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(43847) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(44470) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(45093) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(45618) : warning 3115 - Not all control paths return a value (_OSC) 18.01.17, 23:44:33, iASL6JaSTo.dsl(45618) : warning 3107 - Reserved method must return a value (Buffer required for _OSC) 18.01.17, 23:44:33, iASL6JaSTo.dsl(45964) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(45973) : error 6051 - Address Min is greater than Address Max 18.01.17, 23:44:33, iASL6JaSTo.dsl(45980) : error 6051 - Address Min is greater than Address Max 18.01.17, 23:44:33, iASL6JaSTo.dsl(45987) : error 6051 - Address Min is greater than Address Max 18.01.17, 23:44:33, iASL6JaSTo.dsl(45992) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(45999) : warning 3090 - Min/Max/Length/Gran are all zero, but no resource tag 18.01.17, 23:44:33, iASL6JaSTo.dsl(46200) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(46823) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(47446) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(48069) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(48692) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(49315) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(49938) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(50561) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(51184) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(51807) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(52430) : warning 3023 - Duplicate value in list (Source is the same as Target) 18.01.17, 23:44:33, iASL6JaSTo.dsl(53204) : warning 3124 - Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer 18.01.17, 23:44:33, iASL6JaSTo.dsl(53285) : warning 3124 - Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer 18.01.17, 23:44:33, iASL6JaSTo.dsl(53676) : warning 3124 - Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer 18.01.17, 23:44:33, iASL6JaSTo.dsl(53771) : warning 3124 - Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer 18.01.17, 23:44:33, iASL6JaSTo.dsl(53884) : warning 3124 - Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer 18.01.17, 23:44:33, iASL6JaSTo.dsl(53901) : warning 3124 - Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer 18.01.17, 23:44:33, iASL6JaSTo.dsl(54520) : warning 3079 - _REG has no corresponding Operation Region 18.01.17, 23:44:33, iASL6JaSTo.dsl(56779) : warning 3115 - Not all control paths return a value (_E10) 18.01.17, 23:44:33, iASL6JaSTo.dsl(56832) : warning 3115 - Not all control paths return a value (TINI) 18.01.17, 23:44:33, iASL6JaSTo.dsl(56851) : warning 3115 - Not all control paths return a value (TWAK) 18.01.17, 23:44:33, iASL6JaSTo.dsl(56936) : warning 3115 - Not all control paths return a value (TPTS) 18.01.17, 23:44:33, iASL6JaSTo.dsl(57363) : warning 3130 - Result is not used, possible operator timeout will be missed 18.01.17, 23:44:33, iASL6JaSTo.dsl(57377) : warning 3130 - Result is not used, possible operator timeout will be missed 18.01.17, 23:44:33, iASL6JaSTo.dsl(57392) : warning 3130 - Result is not used, possible operator timeout will be missed 18.01.17, 23:44:33, iASL6JaSTo.dsl(57407) : warning 3130 - Result is not used, possible operator timeout will be missed 18.01.17, 23:44:33, iASL6JaSTo.dsl(57421) : warning 3130 - Result is not used, possible operator timeout will be missed 18.01.17, 23:44:33, iASL6JaSTo.dsl(57436) : warning 3130 - Result is not used, possible operator timeout will be missed 18.01.17, 23:44:33, iASL6JaSTo.dsl(57451) : warning 3130 - Result is not used, possible operator timeout will be missed 18.01.17, 23:44:33, ASL Input: iASL6JaSTo.dsl - 57670 lines, 1968047 bytes, 28131 keywords 18.01.17, 23:44:33, Compilation complete. 12 Errors, 86 Warnings, 258 Remarks, 7956 Optimizations Link to comment Share on other sites More sharing options...
mfc88 Posted January 18, 2017 Share Posted January 18, 2017 Compile result before fixes: ***************** ... ERRORS ... *************** These errors are decompiler errors (syntax related): error 6086 - Not a control method, cannot invoke (PRID is a BufferField) error 6058 - Invalid type (Target is [Package], Source must be a package also) Problem: If (LEqual (CSTA (Arg0, Arg1), 0x00)) { Store (0x00, FLAG) Store (0xFF, PRID (Store (0xFF, APID))) } Else { Store (APID, Local0) Store (Local0, PRID (Store (0x01, FLAG))) } Fix: If (LEqual (CSTA (Arg0, Arg1), 0x00)) { Store (0x00, FLAG) Store (0xFF, PRID) Store (0xFF, APID) } Else { Store (APID, Local0) Store (Local0, PRID) Store (0x01, FLAG) } --- These errors have to do with the undefined max range addresses in P1RS, P2RS, and P3RS (and P0RS): error - Address Min is greater than Address Max warning - Min/Max/Length/Gran are all zero, no resource tag Fixes:Find P1RS and fix the min/max/length addresses as noted below, then repeat for P2RS, and then repeat P3RS (*NOTE, the addresses for P1RS/P2RS/P3RS in Dword, WordIO, etc may be different from each other, so you won't have to change the first three digits, but just the last (see below for an example). Also some may even already have a min of xx59, but just follow the same pattern: min: xx58, max: xx59 and length: 0002 or 000001. For example P1RS (do not touch anything aside from the categories below!):Under DWordMemory: 0x00000001, // Length Under WordIO (1 of 3): 0x4158, // Range Minimum 0x4159, // Range Maximum 0x0002, // Length Under WordIO (2 of 3): 0x5758, // Range Minimum 0x5759, // Range Maximum 0x0002, // Length Under WordIO (3 of 3): 0x5858, // Range Minimum 0x5859, // Range Maximum 0x0002, // Length Under DwordMemory: 0x00000001, // Length Under QwordMemory: 0x0000000000000001, // Length --- And lastly find P0RS (again, do not touch anything else aside from the category below):Under QWordMemory 0x0000000000000001, // Length ***************** ... Warnings ... * ************** This warning is basically stating that a method/function has an IF statement, that when false, won't return anything: Not all control paths return a value (_OSC/O1EX/TINI/TWAK...etc) Reserved Method must return a value (Buffer required for _OSC) Sample Problem: Method (_TINI, 0, NotSerialized) { If (LEqual (Arg0, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) { (bunch of code here that'll get executed if the above IF statement returns true) } } Fix ( adding a Return (Zero) before the method closes ): Method (TINI, 4, Serialized) { If (LEqual (Arg0, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) { (bunch of code here that'll get executed if the above IF statement returns true) } Return (Zero) } ---- This warning has to deal with incorrect/unused method names: Invalid object type for reserved name (_OSC: found Integer, Buffer Required) Problem: Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { Fix ( remove underscore "_" or rename "XOSC" ): Method (XOSC, 4, Serialized) // _OSC: Operating System Capabilities { ---- This warning has to deal with a decompiler mistake: Duplicate Value in List (Source is the same as Target) Problem: Method (OSHP, 0, NotSerialized) { Store (SSTS, SSTS) Store (0x00, HGPE) } Fix ( add quotes to first "SSTS" ): Method (OSHP, 0, NotSerialized) { Store ("SSTS", SSTS) Store (0x00, HGPE) } ---- This warning has to deal with an unused operator: Result is not used, possible operator timeout will be missed Problem: Acquire (MUTE, 0x03E8) Fix ( replace address with 0xFFFF ): Acquire (MUTE, 0xFFFF) ---- This warning has to deal with a mismatch ResourceTag length: ResourceTag smaller than Field (Size mismatch, Tag: X, Field: X bits) Sample Problem ( example below is Tag: 1 bit, Field: 8 bits ) : CreateByteField (CRS3, \_SB.PCI0.LPC0.SIO1._Y0D._HE, IRQS) // _HE_: High-Edge Fix ( depending on the size Tag mismatch: 1 bit = CreateBitField, 8 bits = CreateByteField, 16 bits = CreateWordField, 32 bits = CreateDwordField, 64 bits = CreateQwordField ) : CreateBitField (CRS3, \_SB.PCI0.LPC0.SIO1._Y0D._HE, IRQS) // _HE_: High-Edge ---- This warning has to deal with the switch variable not being defaulted to an Integer: Switch expression is not a static Integer/Buffer/String data type, default to integer Problem: Method (WMBC, 3, Serialized) { Store (0x01, Local0) Switch (Arg1) { Case (0x43455053) Fix (add Switch(ToInteger (XXXX)) ): Method (WMBC, 3, Serialized) { Store (0x01, Local0) Switch (ToInteger (Arg1)) { Case (0x43455053) ---- This warning has to deal with an unset method local variable: Method Local is set, but never used (Local 0) Problem: Store (0x03, OSVR) If (CondRefOf (\_OSI, Local0)) { If (_OSI ("Windows 2001")) or Store (RGE3, PMFG) Store (RGE3, Local0) And (RGE0, 0x9F, RGE0) Fix ( And(Local0, Ones, Local0) ==> Local 0 set to 0x11111111 ): Store (0x03, OSVR) If (CondRefOf (\_OSI, Local0)) { And(Local0, Ones, Local0) If (_OSI ("Windows 2001")) or Store (RGE3, PMFG) Store (RGE3, Local0) And(Local0, Ones, Local0) And (RGE0, 0x9F, RGE0) ---- Compile results after fixes: 6 Link to comment Share on other sites More sharing options...
Mike Ranger Posted January 18, 2017 Share Posted January 18, 2017 Wow.... thank you very much.... I need to analyse your post a bit more but I think that will get me going. Cheers, Mike Link to comment Share on other sites More sharing options...
mfc88 Posted January 18, 2017 Share Posted January 18, 2017 Wow.... thank you very much.... I need to analyse your post a bit more but I think that will get me going. Cheers, Mike Updated my post above for fixes. Should be straight forward. Link to comment Share on other sites More sharing options...
thenightflyer Posted January 19, 2017 Share Posted January 19, 2017 Try the EFI folder first (graphics should work, USBs are a question mark, and didn't touch Thunderbolt)... only if it doesn't work, swap the DSDT.aml in the zip below inside EFI-CLOVER-ACPI->patched and try again. After work i will try and report to you..thanks Link to comment Share on other sites More sharing options...
Mike Ranger Posted January 19, 2017 Share Posted January 19, 2017 Updated my post above for fixes. Should be straight forward. One more question regarding the warnings in the log.... Can I ignore those or could it be they will have an influence on the result? Link to comment Share on other sites More sharing options...
Recommended Posts