mfc88 Posted April 14, 2017 Share Posted April 14, 2017 (edited) It's with great sorrow that due to one moderator's continuous and non-stop actions to target and delete my posts related to ssdtGen App and/or SSDTs that I'm pulling support for my app and guides and moving on to other projects. On a more positive note, a very special thank you to all who helped support, provide feedback, and use ssdtGen. Special Note -- This app is no longer supported by me. Therefore, expect some bugs/issues to occur in future Mac OS updates if you're still using v0.2.2b. If a developer/coder would like to continue support for the app, I've attached the source code below (with plenty of source notes) as well as the Photoshop files for the icons. You are more than welcome to adjust/alter/change/modify the app files to suit your needs -- under one condition, keep the app in line with the rest of the Insanelymac community: Free of charge. -Matt Introduction: ssdtGen is a Mac OS app that attempts to build and compile custom SSDTs for X99/Z170/Z97/H97 systems (see first note below) running Mac OS. Specifically, it will inject properties into your ACPI tables for: on-board sound, an external GPU/HDMI audio, sSata Contoller, ethernet, IMEI controller, LPC support, NVMe devices, Sata Controller, SBUS controller, XHC usb power options, and XOSI support. Note 1: Regardless of motherboard, you can build a custom NVME SSDT that'll work in conjunction with Rehabman's spoofed HackrNVMeFamily-10_xx_x.kext. If you're unfamiliar with how NVME injection works and what is required, please read one or both of the guides in footnote 2 (††) in the "Limitation Notes" below. Note 2: Please note that some of the devices will still need "drivers" (kexts) to be fully functional: AHCIPortInjector.kext for HDD/SSD devices (EVSS and SAT0/SAT1) IntelMausiEthernet.kext for ethernet (GLAN) Custom AppleHDA-ALCXXXX.kext OR AppleALC.kext + CodecCommander.kext OR RealtekALC.kext for on-board and HDMI/DP sound (HDAU and HDEF) Nvidia Web Drivers for GPU recognition (AMD cards are not supported yet) How to download: 1.) You can download the latest version of ssdtGenApp to your Desktop by copying/pasting the following command in a terminal window: cd ~/desktop && curl -OL https://github.com/mattcarlotta/ssdtGenApp/raw/master/ssdtGen.zip && unzip -qu ssdtGen.zip && rm -rf ssdtGen.zip 2.) You must initially run the program as a ROOT user otherwise you may receive an error when attempting to install IASL (after IASL has been installed, double clicking the ssdtGen.app will suffice). Enter the following command in a terminal window to run ssdtGen.app as a ROOT user: sudo $HOME/Desktop/ssdtGen.app/Contents/MacOS/ssdtGen #======================================================================================#### Usage Notes # ##=====================================================================================##Any successfully generated SSDT's will be placed on your Desktop. To use them, place them in your Mac OS's harddrive EFI folder. Using Clover Configurator, mount your primary drive. Open the partition. Add the SSDTs to:EFI->CLOVER->ACPI->patchedIn addition, while using Clover Configurator, you should edit your config.plist, and under "ACPI" tab, you should add this DSDT Clover patch (this will prevent OEM _DSM's located inside the DSDT.aml from interfering with ourcustom SSDTs): Comment: Rename _DSM to XDSM Find: 5F44534D Replace: 5844534D In order for SSDT-XOSI to work, you'll need to add this Clover DSDT patch as well: Comment: Change _OSI to XOSI Find: 5f4f5349 Replace: 584f5349 Lastly, some of the custom SSDTs may conflict with OEM SSDTs, please read here for more information:Utilizing "Drop Tables" for your config.plist #======================================================================================#### Limitation Notes # ##=====================================================================================## DSDT ACPI tables must be vanilla†. If any devices are renamed, forget about it. Won't work. Clover DSDT "fixes" (like addHDMI/fixSBUS) will interfere with SSDT injection. Do not use. This app will install IASL to the usr/bin directory if it's missing (requires app to be run as ROOT) Piker-Alpha's ssdtPRgen is still required if you wish to have CPU power management This app currently only supports 1 connected (discrete) GPU. If you have or are using the IGPU (Intel'sinternal GPU located on the CPU die), then GPU injection won't work. Also, if you have multiple discrete GPU's attached, either GPU injection will fail or only the first one will be injected. A generated SSDT-NVME.aml requires a spoofed HackrNVMeFamily-10_xx_x.kext to be loaded†† If a SSDT-xxxx.aml fails to compile, then it won't be saved. Check the terminal output for errors. †If you're using a custom DSDT.aml, it will conflict with the custom SSDTs if it already has _DSMs injected at the device or already has renamed the device (this app looks for original device names). With that said, there is one exception, where your USB's XHCI/XHC1 device must be named XHC via config.plist DSDT patch in order to work with Rehabman's USBInjectAll.kext + XHCI-x99-injector.kext and a custom SSDT-UAIC.aml: Rehabman's Guide for Creating a Custom SSDT for USBInjectAll.kext My Guide for using UsbInjectAll.kext with a Custom SSDT-UIAC.aml ††In order to generate a spoofed HackrNVMeFamily-10_xx_x.kext to work with SSDT-NVME.aml, please follow: HackrNVMeFamily co-existence with IONVMeFamily using class-code spoof Generic HackerNvmeFamily Guide (skip steps 9-11 if you use the ssdtGen app) This app is in beta testing. Therefore, expect some bugs/issues to occur. #=====================================================================================#### Error Reporting # ##====================================================================================##If you run into unforeseen errors, please run the app in debug mode and run the desired command. You willthen notice the app generating a debug_output.txt file to the Desktop. Next, download IORegistryExplorer v2.1 andrun the application. Click File->Save to generate an IORegistry dump file. When done, take these files along withyour Clover EFI folder (with ACPI tables dropped -- press F4 at Clover Boot Manager screen, wait 5 seconds, thenboot into OS) and compress them into a single .zip folder. Attach this zipped file with a brief description of any errorsyou are experiencing. #======================================================================================#### Change Logs # ##=====================================================================================## 0.2.1b: ✓ Supports Mac OS 10.11+ ✓ Refined toggle switch for NVME Options to appear completely inactive (grey) or active (white) ✓ Removed some text images and replaced them with labels (text images appeared blurry and inconsistent in size) ✓ App window can now be moved around by holding left click on the menu ✓ Condensed the App's menu size ✓ Refined --ERROR-- or --SUCCESS-- message to SSDT-XXXX.dsl compilation results to be more visible 0.2.2b: ✓ Added initial support for z97 and h97 systems! ✓ Adjusted thread title to updated supported systems ✓ Adjusted "About ssdtGen" to show correct build version ✓ Added missing config.plist patch for Renaming _OSI to XOSI to the thread's "Usage Notes" ssdtGenApp_v0.2.2b_source.zip Edited July 29, 2018 by mfc88 18 Link to comment Share on other sites More sharing options...
Ramalama Posted April 14, 2017 Share Posted April 14, 2017 nice :-) Link to comment Share on other sites More sharing options...
SavageAUS Posted April 14, 2017 Share Posted April 14, 2017 So the benefit of this is? And if we use a custom dsdt it won't work? Sent from my SM-G930F using Tapatalk Link to comment Share on other sites More sharing options...
mfc88 Posted April 14, 2017 Author Share Posted April 14, 2017 So the benefit of this is? Read introduction, second sentence. And if we use a custom dsdt it won't work? See first footnote † under "limitation notes". 1 Link to comment Share on other sites More sharing options...
Fergarth Posted April 14, 2017 Share Posted April 14, 2017 Good work mfc88. Thanks for your research, persistence, and help to anyone who chooses to use this method. Link to comment Share on other sites More sharing options...
mfc88 Posted April 14, 2017 Author Share Posted April 14, 2017 Thank you for your work According to your instruction maybe you should point to desktop when you suggest this You must change the file permissions to make it executable: chmod +x ssdtGen.sh Not required. Already in Desktop directory after first command. "cd ~/Desktop" Link to comment Share on other sites More sharing options...
mfc88 Posted April 14, 2017 Author Share Posted April 14, 2017 First command downloads your script in desktop But in my case terminal needs cd desktop before command to acquire script rights However always in my case after using your script i loose audio But in this case it should be because i have a patched kext with toleda alc script When i will have more time i will try again! Send me IOREGs before loading SSDTs (audio working) and after loading SSDTs (audio not working). Link to comment Share on other sites More sharing options...
mfc88 Posted April 14, 2017 Author Share Posted April 14, 2017 now I have this Creating: SSDT-ALZA.dsl *—-ERROR—-* There was a problem locating ALZA's acpi-path property! Please run this script in debug mode to generate a debug text file. *—-ERROR—-* There was a problem locating ALZA's compatible property! Please run this script in debug mode to generate a debug text file. Compiling: SSDT-ALZA.dsl and ssdt-alza is not created anymore also ssdt-gfx1 is missing Run in debug mode, buildall, and send me output. Link to comment Share on other sites More sharing options...
mfc88 Posted April 14, 2017 Author Share Posted April 14, 2017 here is my IOREG with clover folder in a working condition now I will remove any patches in config and in api/patched and try again to run your script Don't remove any config.plist patches. Link to comment Share on other sites More sharing options...
mfc88 Posted April 14, 2017 Author Share Posted April 14, 2017 without removing (I don't know what interferes with your script I have that error) without it creates a bunch of ssdt attached I attached here ssdt and "clean"ioreg debug (done in a working audio and all condition) Debug has to be run with a clean IOREG, otherwise it's going to spit out errors (as mentioned above). Missing the provided IOREG with SSDTs loaded. If you've used Toleda script, I'd recommend you not to in this case. Instead, you'll have 3 options (the following only applies to ALC1150): Option 1 (what I use): Copy/paste "AppleHDA" and "AppleHDAController" KextsToPatch patches to your config.plist. Then remove the modified AppleHDA.kext (if you're using a modified AppleHDA) from /System/Library/Extensions, rebuild cache, then install the provided vanilla AppleHDA.kext and AppleHDA_ALC1150.kext to S/L/E via KextUtility. Option 2: Use AppleALC.kext + CodecCommander.kext (recommend to install to S/L/E) Option 3: Copy/paste "AppleHDA" and "AppleHDAController" KextsToPatch patches to your config.plist. Use RealtekALC.kext (and CodecCommander.kext, if needed) Taking a look at your working Clover folder: - As is, your GPU is located at device BR3A.D080, which is wrong (improper SSDT injection) --> remove SSDT-HDMI-NVIDIA-BR3A.aml from patched and use the generated SSDT-GFX1.aml instead - Replace SSDT-NVMe-Pcc.aml with a generated "build NVME" SSDT (SSDT-NVME.aml). For your particular setup, while running my script: Prompt 1: no (not an incomplete ACPI path) Prompt 2: BR1A.H000 (your NVME's ACPI path) Prompt 3: no (not behind a PCI bridge address) option 1.zip option 2.zip option 3.zip Link to comment Share on other sites More sharing options...
MaLd0n Posted April 14, 2017 Share Posted April 14, 2017 Check AppleAHCIPort.kext about Sata, the kext dont have "pci8086,8d02" U need inject pci8086,9c83 or pci8086,8c83(Serie 9) or Injector AHCIInjector.kext.zip 1 Link to comment Share on other sites More sharing options...
thenightflyer Posted April 14, 2017 Share Posted April 14, 2017 I created my SSDT but i've these errors...i paste here the log and hope you can help me to understand what's the matter. Creating: SSDT-SMBS.dsl *—-ERROR—-* There was a problem locating SBUS's acpi-path property! Please run this script in debug mode to generate a debug text file. Compiling: SSDT-SMBS.dsl Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20161222-64(RM) Copyright (c) 2000 - 2017 Intel Corporation Compiler aborting due to parser-detected syntax error(s) /Users/********/Desktop/SSDT-SMBS.dsl 5: Name (_ADR, 0x) // _ADR: Address Error 6126 - syntax error, unexpected PARSEOP_NAMESEG ^ ASL Input: /Users/*******/Desktop/SSDT-SMBS.dsl - 143 lines, 4436 bytes, 71 keywords Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations Removing: SSDT-SMBS.dsl Link to comment Share on other sites More sharing options...
mfc88 Posted April 14, 2017 Author Share Posted April 14, 2017 I created my SSDT but i've these errors...i paste here the log and hope you can help me to understand what's the matter. Creating: SSDT-SMBS.dsl *—-ERROR—-* There was a problem locating SBUS's acpi-path property! Please run this script in debug mode to generate a debug text file. Compiling: SSDT-SMBS.dsl Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20161222-64(RM) Copyright (c) 2000 - 2017 Intel Corporation Compiler aborting due to parser-detected syntax error(s) /Users/********/Desktop/SSDT-SMBS.dsl 5: Name (_ADR, 0x) // _ADR: Address Error 6126 - syntax error, unexpected PARSEOP_NAMESEG ^ ASL Input: /Users/*******/Desktop/SSDT-SMBS.dsl - 143 lines, 4436 bytes, 71 keywords Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations Removing: SSDT-SMBS.dsl Found a x99 SMBS build mistake (it was searching for a 'SBUS' prop instead of 'SMBS' prop). I've updated script. Re-download script and try again! 1 Link to comment Share on other sites More sharing options...
thenightflyer Posted April 14, 2017 Share Posted April 14, 2017 Found a x99 SMBS build mistake (it was searching for a 'SBUS' prop instead of 'SMBS' prop). I've updated script. Re-download script and try again! I updated script and now i've these: Creating: SSDT-SMBS.dsl Compiling: SSDT-SMBS.dsl Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20161222-64(RM) Copyright (c) 2000 - 2017 Intel Corporation /Users/*****/Desktop/SSDT-SMBS.dsl 43: Store (Arg0, Local0) Warning 3144 - Method Local is set but never used ^ (Local0) ASL Input: /Users/*****/Desktop/SSDT-SMBS.dsl - 144 lines, 4444 bytes, 71 keywords AML Output: /Users/*****/Desktop/SSDT-SMBS.aml - 702 bytes, 34 named objects, 37 executable opcodes Compilation complete. 0 Errors, 1 Warnings, 0 Remarks, 5 Optimizations Removing: SSDT-SMBS.dsl Creating: SSDT-HECI.dsl *—-ERROR—-* There was a problem locating HECI's acpi-path property! Please run this script in debug mode to generate a debug text file. Compiling: SSDT-HECI.dsl Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20161222-64(RM) Copyright (c) 2000 - 2017 Intel Corporation Compiler aborting due to parser-detected syntax error(s) /Users/*****/Desktop/SSDT-HECI.dsl 5: Name (_ADR, 0x) // _ADR: Address Error 6126 - syntax error, unexpected PARSEOP_NAMESEG ^ ASL Input: /Users/*****/Desktop/SSDT-HECI.dsl - 22 lines, 720 bytes, 8 keywords Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations Removing: SSDT-HECI.dsl Link to comment Share on other sites More sharing options...
mfc88 Posted April 14, 2017 Author Share Posted April 14, 2017 I updated script and now i've these: Creating: SSDT-SMBS.dsl Compiling: SSDT-SMBS.dsl Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20161222-64(RM) Copyright (c) 2000 - 2017 Intel Corporation /Users/*****/Desktop/SSDT-SMBS.dsl 43: Store (Arg0, Local0) Warning 3144 - Method Local is set but never used ^ (Local0) ASL Input: /Users/*****/Desktop/SSDT-SMBS.dsl - 144 lines, 4444 bytes, 71 keywords AML Output: /Users/*****/Desktop/SSDT-SMBS.aml - 702 bytes, 34 named objects, 37 executable opcodes Compilation complete. 0 Errors, 1 Warnings, 0 Remarks, 5 Optimizations Removing: SSDT-SMBS.dsl Creating: SSDT-HECI.dsl *—-ERROR—-* There was a problem locating HECI's acpi-path property! Please run this script in debug mode to generate a debug text file. Compiling: SSDT-HECI.dsl Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20161222-64(RM) Copyright (c) 2000 - 2017 Intel Corporation Compiler aborting due to parser-detected syntax error(s) /Users/*****/Desktop/SSDT-HECI.dsl 5: Name (_ADR, 0x) // _ADR: Address Error 6126 - syntax error, unexpected PARSEOP_NAMESEG ^ ASL Input: /Users/*****/Desktop/SSDT-HECI.dsl - 22 lines, 720 bytes, 8 keywords Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations Removing: SSDT-HECI.dsl SMBS has a warning (0 errors), which is expected. As for HECI, run in debug mode and attach debug_output.txt. Link to comment Share on other sites More sharing options...
mfc88 Posted April 15, 2017 Author Share Posted April 15, 2017 ssdtGen updated to 0.1.4beta ssdtGen changelog 0.1.4b: ✓ Adjusted "build NAME" option to allow "build NVME" to built by any motherboard ✓ Adjusted some "if" comparisons to be more flexible for future updates ✓ Fixed a grep error where the _checkBoard loop was allowing a blank gMoboID variable in the _findMoboID function Also added some links for kexts that add OS support to specific devices. 1 Link to comment Share on other sites More sharing options...
thenightflyer Posted April 15, 2017 Share Posted April 15, 2017 SMBS has a warning (0 errors), which is expected. As for HECI, run in debug mode and attach debug_output.txt. Here is debug output for HECI errors: + echo 'Attempting to build all SSDTs...' + _printHeader + gSSDTID=SSDT-HECI + printf 'Creating: SSDT-HECI.dsl \n' Creating: SSDT-HECI.dsl + gSSDT=/Users/*****/Desktop/SSDT-HECI.dsl + echo 'DefinitionBlock ("", "SSDT", 1, "mfc88", "HECI", 0x00000000)' + echo '{' + _buildSSDT HECI + SSDT=HECI + '[' HECI == ALZA ']' + '[' HECI == HDAS ']' + [[ HECI == \E\V\S\S ]] + [[ HECI == \G\F\X\1 ]] + [[ HECI == \G\L\A\N ]] + [[ HECI == \H\E\C\I ]] + _getDevice_ACPI_Path HECI IMEI + DEVICE=HECI + NEWDEVICE=IMEI + PROP=acpi-path ++ ioreg -p IODeviceTree -n HECI -k acpi-path ++ grep acpi-path ++ sed -e 's/ *["|=<A-Z>:/_@-]//g; s/acpipathlane//g; y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' + SSDTADR= + _checkDevice_Prop '' HECI acpi-path + SSDT_VALUE= + SSDT_DEVICE=HECI + SSDT_PROP=acpi-path + '[' -z '' ']' + echo '' + echo '[1m*—-ERROR—-*(B[m There was a problem locating HECI'\''s acpi-path property!' [1m*—-ERROR—-*(B[m There was a problem locating HECI's acpi-path property! + echo 'Please run this script in debug mode to generate a debug text file.' Please run this script in debug mode to generate a debug text file. + echo '' + '[' '!' -z IMEI ']' + echo ' Device (_SB.PCI0.IMEI)' + echo ' {' + echo ' Name (_ADR, 0x) // _ADR: Address' + _getDSM + local LNDSM= + '[' '' = true ']' + echo ' Method (_DSM, 4, NotSerialized)' + echo ' {' + echo ' If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }' + echo ' Return (Package ()' + echo ' {' + _setDeviceProp '"AAPL,slot-name"' '"Built In"' + PROP='"AAPL,slot-name"' + VALUE='"Built In"' + echo ' "AAPL,slot-name", Buffer() {"Built' 'In"},' + _setDeviceProp '"name"' '"IMEI Controller"' + PROP='"name"' + VALUE='"IMEI Controller"' + echo ' "name", Buffer() {"IMEI' 'Controller"},' + _setDeviceProp '"model"' '"IMEI Controller"' + PROP='"model"' + VALUE='"IMEI Controller"' + echo ' "model", Buffer() {"IMEI' 'Controller"},' + _setDeviceProp '"built-in"' 0x00 + PROP='"built-in"' + VALUE=0x00 + echo ' "built-in", Buffer() {0x00},' + _setDeviceProp '"compatible"' '"pci8086,1e3a"' + PROP='"compatible"' + VALUE='"pci8086,1e3a"' + echo ' "compatible", Buffer() {"pci8086,1e3a"},' + _setDeviceProp '"device-id"' '0x3A, 0x1E, 0x00, 0x00' + PROP='"device-id"' + VALUE='0x3A, 0x1E, 0x00, 0x00' + echo ' "device-id", Buffer() {0x3A,' 0x1E, 0x00, '0x00},' + _close_Brackets + local MB= + '[' '' = true ']' + echo ' })' + echo ' }' + echo ' }' + _setDevice_Status + echo ' Name (_SB.PCI0.HECI._STA, Zero) // _STA: Status' + echo '}' + [[ HECI == \N\V\M\E ]] + '[' HECI == LPC0 ']' + '[' HECI == LCPB ']' + '[' HECI == SAT1 ']' + '[' HECI == SAT0 ']' + '[' HECI == SMBS ']' + '[' HECI == SBUS ']' + [[ HECI == \X\H\C ]] + [[ HECI == \X\O\S\I ]] + _compileSSDT + (( gCount++ )) + chown ***** /Users/*****/Desktop/SSDT-HECI.dsl + printf 'Compiling: SSDT-HECI.dsl\n' Compiling: SSDT-HECI.dsl + iasl -G /Users/*****/Desktop/SSDT-HECI.dsl Compiler aborting due to parser-detected syntax error(s) /Users/*****/Desktop/SSDT-HECI.dsl 5: Name (_ADR, 0x) // _ADR: Address Error 6126 - syntax error, unexpected PARSEOP_NAMESEG ^ Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20161222-64(RM) Copyright (c) 2000 - 2017 Intel Corporation ASL Input: /Users/*****/Desktop/SSDT-HECI.dsl - 22 lines, 720 bytes, 8 keywords Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations + printf 'Removing: SSDT-HECI.dsl\n' Removing: SSDT-HECI.dsl + printf '\n%s' -------------------------------------------------------------------------------- --------------------------------------------------------------------------------+ printf '\n' + rm /Users/*****/Desktop/SSDT-HECI.dsl + '[' '!' -z '' ']' + [[ 5 -lt 10 ]] Link to comment Share on other sites More sharing options...
mfc88 Posted April 15, 2017 Author Share Posted April 15, 2017 Here is debug output for HECI errors: + echo 'Attempting to build all SSDTs...' + _printHeader + gSSDTID=SSDT-HECI + printf 'Creating: SSDT-HECI.dsl \n' Creating: SSDT-HECI.dsl + gSSDT=/Users/*****/Desktop/SSDT-HECI.dsl + echo 'DefinitionBlock ("", "SSDT", 1, "mfc88", "HECI", 0x00000000)' + echo '{' + _buildSSDT HECI + SSDT=HECI + '[' HECI == ALZA ']' + '[' HECI == HDAS ']' + [[ HECI == \E\V\S\S ]] + [[ HECI == \G\F\X\1 ]] + [[ HECI == \G\L\A\N ]] + [[ HECI == \H\E\C\I ]] + _getDevice_ACPI_Path HECI IMEI + DEVICE=HECI + NEWDEVICE=IMEI + PROP=acpi-path ++ ioreg -p IODeviceTree -n HECI -k acpi-path ++ grep acpi-path ++ sed -e 's/ *["|=<A-Z>:/_@-]//g; s/acpipathlane//g; y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' + SSDTADR= + _checkDevice_Prop '' HECI acpi-path + SSDT_VALUE= + SSDT_DEVICE=HECI + SSDT_PROP=acpi-path + '[' -z '' ']' + echo '' + echo '[1m*—-ERROR—-*(B[m There was a problem locating HECI'\''s acpi-path property!' [1m*—-ERROR—-*(B[m There was a problem locating HECI's acpi-path property! + echo 'Please run this script in debug mode to generate a debug text file.' Please run this script in debug mode to generate a debug text file. + echo '' + '[' '!' -z IMEI ']' + echo ' Device (_SB.PCI0.IMEI)' + echo ' {' + echo ' Name (_ADR, 0x) // _ADR: Address' + _getDSM + local LNDSM= + '[' '' = true ']' + echo ' Method (_DSM, 4, NotSerialized)' + echo ' {' + echo ' If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }' + echo ' Return (Package ()' + echo ' {' + _setDeviceProp '"AAPL,slot-name"' '"Built In"' + PROP='"AAPL,slot-name"' + VALUE='"Built In"' + echo ' "AAPL,slot-name", Buffer() {"Built' 'In"},' + _setDeviceProp '"name"' '"IMEI Controller"' + PROP='"name"' + VALUE='"IMEI Controller"' + echo ' "name", Buffer() {"IMEI' 'Controller"},' + _setDeviceProp '"model"' '"IMEI Controller"' + PROP='"model"' + VALUE='"IMEI Controller"' + echo ' "model", Buffer() {"IMEI' 'Controller"},' + _setDeviceProp '"built-in"' 0x00 + PROP='"built-in"' + VALUE=0x00 + echo ' "built-in", Buffer() {0x00},' + _setDeviceProp '"compatible"' '"pci8086,1e3a"' + PROP='"compatible"' + VALUE='"pci8086,1e3a"' + echo ' "compatible", Buffer() {"pci8086,1e3a"},' + _setDeviceProp '"device-id"' '0x3A, 0x1E, 0x00, 0x00' + PROP='"device-id"' + VALUE='0x3A, 0x1E, 0x00, 0x00' + echo ' "device-id", Buffer() {0x3A,' 0x1E, 0x00, '0x00},' + _close_Brackets + local MB= + '[' '' = true ']' + echo ' })' + echo ' }' + echo ' }' + _setDevice_Status + echo ' Name (_SB.PCI0.HECI._STA, Zero) // _STA: Status' + echo '}' + [[ HECI == \N\V\M\E ]] + '[' HECI == LPC0 ']' + '[' HECI == LCPB ']' + '[' HECI == SAT1 ']' + '[' HECI == SAT0 ']' + '[' HECI == SMBS ']' + '[' HECI == SBUS ']' + [[ HECI == \X\H\C ]] + [[ HECI == \X\O\S\I ]] + _compileSSDT + (( gCount++ )) + chown ***** /Users/*****/Desktop/SSDT-HECI.dsl + printf 'Compiling: SSDT-HECI.dsl\n' Compiling: SSDT-HECI.dsl + iasl -G /Users/*****/Desktop/SSDT-HECI.dsl Compiler aborting due to parser-detected syntax error(s) /Users/*****/Desktop/SSDT-HECI.dsl 5: Name (_ADR, 0x) // _ADR: Address Error 6126 - syntax error, unexpected PARSEOP_NAMESEG ^ Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20161222-64(RM) Copyright (c) 2000 - 2017 Intel Corporation ASL Input: /Users/*****/Desktop/SSDT-HECI.dsl - 22 lines, 720 bytes, 8 keywords Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations + printf 'Removing: SSDT-HECI.dsl\n' Removing: SSDT-HECI.dsl + printf '\n%s' -------------------------------------------------------------------------------- --------------------------------------------------------------------------------+ printf '\n' + rm /Users/*****/Desktop/SSDT-HECI.dsl + '[' '!' -z '' ']' + [[ 5 -lt 10 ]] No. Need to see debug_output.txt. While at script start screen, type "debug" and hit enter. Then type "build HECI". On your Desktop will be a debug_output.txt file. Zip it, then attach it here. Not only will it show me what was executed, but it attaches an IOREG dump as well. Link to comment Share on other sites More sharing options...
Pavo Posted April 15, 2017 Share Posted April 15, 2017 Here is debug on my Asus Z170 Gaming Pro Arua + echo '' + read -p 'build all SSDTs([1mbuildall(B[m) | build a single SSDT([1mbuild NAME(B[m) | debug([1mdebug(B[m) | help([1mhelp(B[m) | exit([1mexit(B[m) --> ' choice build all SSDTs([1mbuildall(B[m) | build a single SSDT([1mbuild NAME(B[m) | debug([1mdebug(B[m) | help([1mhelp(B[m) | exit([1mexit(B[m) --> + case "$choice" in + buildOne= + [[ '' == \N\V\M\E ]] + _checkBoard + (( i=0 )) + (( i<3 )) + _findMoboID ++ ioreg -lw0 -p IODeviceTree ++ awk '/OEMBoard/ {print $4}' ++ grep -o X99 + moboID= + '[' '!' -z '' ']' + (( i++ )) + (( i<3 )) + _findMoboID ++ ioreg -lw0 -p IODeviceTree ++ awk '/OEMBoard/ {print $4}' ++ grep -o Z170 + moboID=Z170 + '[' '!' -z Z170 ']' + echo 'User has a Z170 board!' + break + [[ Z170 = \X\9\9 ]] + [[ Z170 = \Z\1\7\0 ]] + gTableID=('EVSS' 'GLAN' 'GFX1' 'HDAS' 'HECI' 'LPCB' 'SAT0' 'SBUS' 'XHC' 'XOSI' 'NVME') + _checkIf_SSDT_Exists + (( i=0 )) + (( i<11 )) + [[ '' == \E\V\S\S ]] + (( i++ )) + (( i<11 )) + [[ '' == \G\L\A\N ]] + (( i++ )) + (( i<11 )) + [[ '' == \G\F\X\1 ]] + (( i++ )) + (( i<11 )) + [[ '' == \H\D\A\S ]] + (( i++ )) + (( i<11 )) + [[ '' == \H\E\C\I ]] + (( i++ )) + (( i<11 )) + [[ '' == \L\P\C\B ]] + (( i++ )) + (( i<11 )) + [[ '' == \S\A\T\0 ]] + (( i++ )) + (( i<11 )) + [[ '' == \S\B\U\S ]] + (( i++ )) + (( i<11 )) + [[ '' == \X\H\C ]] + (( i++ )) + (( i<11 )) + [[ '' == \X\O\S\I ]] + (( i++ )) + (( i<11 )) + [[ '' == \N\V\M\E ]] + (( i++ )) + (( i<11 )) + echo '' + echo '[1m*—-ERROR—-*(B[m is not a SSDT!' [1m*—-ERROR—-*(B[m is not a SSDT! + display_instructions + printf '\n' + printf 'To build and compile all SSDTS, input [1mbuildall(B[m or [1mBUILDALL(B[m\n' To build and compile all SSDTS, input [1mbuildall(B[m or [1mBUILDALL(B[m + printf '\n' + printf 'To build and compile one SSDT, input [1mbuild NAME(B[m or [1mBUILD NAME(B[m:\n' To build and compile one SSDT, input [1mbuild NAME(B[m or [1mBUILD NAME(B[m: + printf '\n' + printf ' [1mx99/z170(B[m\n' [1mx99/z170(B[m + printf ' [1m---------(B[m\n' [1m---------(B[m + printf ' - [1mALZA/HDAS(B[m: Adds x99/z170 support for Realtek on-board sound\n' - [1mALZA/HDAS(B[m: Adds x99/z170 support for Realtek on-board sound + printf ' - [1mEVSS(B[m: Adds x99 support for a third PCH sSata controller for IDE, AHCI, RAID storage drives\n' - [1mEVSS(B[m: Adds x99 support for a third PCH sSata controller for IDE, AHCI, RAID storage drives + printf ' (for up to 6Gb/s transfers)\n' (for up to 6Gb/s transfers) + printf ' - [1mGFX1(B[m: Adds x99/z170 support for a single Nvidia graphics card and adds HDMI audio support\n' - [1mGFX1(B[m: Adds x99/z170 support for a single Nvidia graphics card and adds HDMI audio support + printf ' for the card as well \n' for the card as well + printf ' - [1mGLAN(B[m: Adds x99/z170 support for an Intel ethernet controller\n' - [1mGLAN(B[m: Adds x99/z170 support for an Intel ethernet controller + printf ' - [1mHECI(B[m: Intel Management Engine Interface that, in general, adds support for various tasks\n' - [1mHECI(B[m: Intel Management Engine Interface that, in general, adds support for various tasks + printf ' while the system is booting, running or sleeping\n' while the system is booting, running or sleeping + printf ' - [1mNVME(B[m: Adds support for a single NVMe drive (MUST be used in conjuction with Rehabman'\''s\n' - [1mNVME(B[m: Adds support for a single NVMe drive (MUST be used in conjuction with Rehabman's + printf ' spoofed HackrNVMeFamily-10_xx_x.kext)\n' spoofed HackrNVMeFamily-10_xx_x.kext) + printf ' - [1mLPC0/LPCB(B[m: Adds x99/z170 support to AppleLPC.kext for Low Pin Count devices to connect\n' - [1mLPC0/LPCB(B[m: Adds x99/z170 support to AppleLPC.kext for Low Pin Count devices to connect + printf ' to the CPU\n' to the CPU + printf ' - [1mSAT1/SAT0(B[m: Adds x99/z170 support for the PCH SATA controller for SATA devices via Legacy\n' - [1mSAT1/SAT0(B[m: Adds x99/z170 support for the PCH SATA controller for SATA devices via Legacy + printf ' or AHCI mode (for up to 6Gb/s transfers)\n' or AHCI mode (for up to 6Gb/s transfers) + printf ' - [1mSMBS/SBUS(B[m: Adds x99/z170 support for a SMBus controller that allows communication between\n' - [1mSMBS/SBUS(B[m: Adds x99/z170 support for a SMBus controller that allows communication between + printf ' external hardware devices (for example, Apple'\''s Mikey driver)\n' external hardware devices (for example, Apple's Mikey driver) + printf ' - [1mXHC(B[m: Adds power options for the USB xHC Host Controller\n' - [1mXHC(B[m: Adds power options for the USB xHC Host Controller + printf ' - [1mXOSI(B[m: Adds Windows simulated support for DSDT _OSI methods\n' - [1mXOSI(B[m: Adds Windows simulated support for DSDT _OSI methods + printf '\n' + printf 'To debug the script, input [1mdebug(B[m or [1mDEBUG(B[m:\n' To debug the script, input [1mdebug(B[m or [1mDEBUG(B[m: + printf ' - Will put the script in a debug mode that will print to a debug_output.txt file until the \n' - Will put the script in a debug mode that will print to a debug_output.txt file until the + printf ' script has been terminated\n' script has been terminated + printf '\n' + true + read -p 'Would you like to reload the script now? (y/n)? ' choice Would you like to reload the script now? (y/n)? + case "$choice" in + main + local userChosen= + clear [H[2J+ greet + printf ' ssdtGen Version 0.1.4b - Copyright (c) 2017 by M.F.C.' ssdtGen Version 0.1.4b - Copyright (c) 2017 by M.F.C.+ printf '\n%s' ----------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------+ printf ' \n' + sleep 0.25 + '[' -z '' ']' + _user_choices + echo '' + read -p 'build all SSDTs([1mbuildall(B[m) | build a single SSDT([1mbuild NAME(B[m) | debug([1mdebug(B[m) | help([1mhelp(B[m) | exit([1mexit(B[m) --> ' choice build all SSDTs([1mbuildall(B[m) | build a single SSDT([1mbuild NAME(B[m) | debug([1mdebug(B[m) | help([1mhelp(B[m) | exit([1mexit(B[m) --> Link to comment Share on other sites More sharing options...
mfc88 Posted April 15, 2017 Author Share Posted April 15, 2017 Here is debug on my Asus Z170 Gaming Pro Arua + echo '' + read -p 'build all SSDTs([1mbuildall(B[m) | build a single SSDT([1mbuild NAME(B[m) | debug([1mdebug(B[m) | help([1mhelp(B[m) | exit([1mexit(B[m) --> ' choice build all SSDTs([1mbuildall(B[m) | build a single SSDT([1mbuild NAME(B[m) | debug([1mdebug(B[m) | help([1mhelp(B[m) | exit([1mexit(B[m) --> + case "$choice" in + buildOne= + [[ '' == \N\V\M\E ]] + _checkBoard + (( i=0 )) + (( i<3 )) + _findMoboID ++ ioreg -lw0 -p IODeviceTree ++ awk '/OEMBoard/ {print $4}' ++ grep -o X99 + moboID= + '[' '!' -z '' ']' + (( i++ )) + (( i<3 )) + _findMoboID ++ ioreg -lw0 -p IODeviceTree ++ awk '/OEMBoard/ {print $4}' ++ grep -o Z170 + moboID=Z170 + '[' '!' -z Z170 ']' + echo 'User has a Z170 board!' + break + [[ Z170 = \X\9\9 ]] + [[ Z170 = \Z\1\7\0 ]] + gTableID=('EVSS' 'GLAN' 'GFX1' 'HDAS' 'HECI' 'LPCB' 'SAT0' 'SBUS' 'XHC' 'XOSI' 'NVME') + _checkIf_SSDT_Exists + (( i=0 )) + (( i<11 )) + [[ '' == \E\V\S\S ]] + (( i++ )) + (( i<11 )) + [[ '' == \G\L\A\N ]] + (( i++ )) + (( i<11 )) + [[ '' == \G\F\X\1 ]] + (( i++ )) + (( i<11 )) + [[ '' == \H\D\A\S ]] + (( i++ )) + (( i<11 )) + [[ '' == \H\E\C\I ]] + (( i++ )) + (( i<11 )) + [[ '' == \L\P\C\B ]] + (( i++ )) + (( i<11 )) + [[ '' == \S\A\T\0 ]] + (( i++ )) + (( i<11 )) + [[ '' == \S\B\U\S ]] + (( i++ )) + (( i<11 )) + [[ '' == \X\H\C ]] + (( i++ )) + (( i<11 )) + [[ '' == \X\O\S\I ]] + (( i++ )) + (( i<11 )) + [[ '' == \N\V\M\E ]] + (( i++ )) + (( i<11 )) + echo '' + echo '[1m*—-ERROR—-*(B[m is not a SSDT!' [1m*—-ERROR—-*(B[m is not a SSDT! + display_instructions + printf '\n' + printf 'To build and compile all SSDTS, input [1mbuildall(B[m or [1mBUILDALL(B[m\n' To build and compile all SSDTS, input [1mbuildall(B[m or [1mBUILDALL(B[m + printf '\n' + printf 'To build and compile one SSDT, input [1mbuild NAME(B[m or [1mBUILD NAME(B[m:\n' To build and compile one SSDT, input [1mbuild NAME(B[m or [1mBUILD NAME(B[m: + printf '\n' + printf ' [1mx99/z170(B[m\n' [1mx99/z170(B[m + printf ' [1m---------(B[m\n' [1m---------(B[m + printf ' - [1mALZA/HDAS(B[m: Adds x99/z170 support for Realtek on-board sound\n' - [1mALZA/HDAS(B[m: Adds x99/z170 support for Realtek on-board sound + printf ' - [1mEVSS(B[m: Adds x99 support for a third PCH sSata controller for IDE, AHCI, RAID storage drives\n' - [1mEVSS(B[m: Adds x99 support for a third PCH sSata controller for IDE, AHCI, RAID storage drives + printf ' (for up to 6Gb/s transfers)\n' (for up to 6Gb/s transfers) + printf ' - [1mGFX1(B[m: Adds x99/z170 support for a single Nvidia graphics card and adds HDMI audio support\n' - [1mGFX1(B[m: Adds x99/z170 support for a single Nvidia graphics card and adds HDMI audio support + printf ' for the card as well \n' for the card as well + printf ' - [1mGLAN(B[m: Adds x99/z170 support for an Intel ethernet controller\n' - [1mGLAN(B[m: Adds x99/z170 support for an Intel ethernet controller + printf ' - [1mHECI(B[m: Intel Management Engine Interface that, in general, adds support for various tasks\n' - [1mHECI(B[m: Intel Management Engine Interface that, in general, adds support for various tasks + printf ' while the system is booting, running or sleeping\n' while the system is booting, running or sleeping + printf ' - [1mNVME(B[m: Adds support for a single NVMe drive (MUST be used in conjuction with Rehabman'\''s\n' - [1mNVME(B[m: Adds support for a single NVMe drive (MUST be used in conjuction with Rehabman's + printf ' spoofed HackrNVMeFamily-10_xx_x.kext)\n' spoofed HackrNVMeFamily-10_xx_x.kext) + printf ' - [1mLPC0/LPCB(B[m: Adds x99/z170 support to AppleLPC.kext for Low Pin Count devices to connect\n' - [1mLPC0/LPCB(B[m: Adds x99/z170 support to AppleLPC.kext for Low Pin Count devices to connect + printf ' to the CPU\n' to the CPU + printf ' - [1mSAT1/SAT0(B[m: Adds x99/z170 support for the PCH SATA controller for SATA devices via Legacy\n' - [1mSAT1/SAT0(B[m: Adds x99/z170 support for the PCH SATA controller for SATA devices via Legacy + printf ' or AHCI mode (for up to 6Gb/s transfers)\n' or AHCI mode (for up to 6Gb/s transfers) + printf ' - [1mSMBS/SBUS(B[m: Adds x99/z170 support for a SMBus controller that allows communication between\n' - [1mSMBS/SBUS(B[m: Adds x99/z170 support for a SMBus controller that allows communication between + printf ' external hardware devices (for example, Apple'\''s Mikey driver)\n' external hardware devices (for example, Apple's Mikey driver) + printf ' - [1mXHC(B[m: Adds power options for the USB xHC Host Controller\n' - [1mXHC(B[m: Adds power options for the USB xHC Host Controller + printf ' - [1mXOSI(B[m: Adds Windows simulated support for DSDT _OSI methods\n' - [1mXOSI(B[m: Adds Windows simulated support for DSDT _OSI methods + printf '\n' + printf 'To debug the script, input [1mdebug(B[m or [1mDEBUG(B[m:\n' To debug the script, input [1mdebug(B[m or [1mDEBUG(B[m: + printf ' - Will put the script in a debug mode that will print to a debug_output.txt file until the \n' - Will put the script in a debug mode that will print to a debug_output.txt file until the + printf ' script has been terminated\n' script has been terminated + printf '\n' + true + read -p 'Would you like to reload the script now? (y/n)? ' choice Would you like to reload the script now? (y/n)? + case "$choice" in + main + local userChosen= + clear [H[2J+ greet + printf ' ssdtGen Version 0.1.4b - Copyright (c) 2017 by M.F.C.' ssdtGen Version 0.1.4b - Copyright (c) 2017 by M.F.C.+ printf '\n%s' ----------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------+ printf ' \n' + sleep 0.25 + '[' -z '' ']' + _user_choices + echo '' + read -p 'build all SSDTs([1mbuildall(B[m) | build a single SSDT([1mbuild NAME(B[m) | debug([1mdebug(B[m) | help([1mhelp(B[m) | exit([1mexit(B[m) --> ' choice build all SSDTs([1mbuildall(B[m) | build a single SSDT([1mbuild NAME(B[m) | debug([1mdebug(B[m) | help([1mhelp(B[m) | exit([1mexit(B[m) --> See post above. Link to comment Share on other sites More sharing options...
Pavo Posted April 15, 2017 Share Posted April 15, 2017 See post above. Yeah mybad did it wrong lol here you go debug_output.txt.zip Link to comment Share on other sites More sharing options...
mfc88 Posted April 15, 2017 Author Share Posted April 15, 2017 Yeah mybad did it wrong lol here you go Looks like you're already using a custom DSDT. Won't work. See first footnote (†) Also, you're using an AMD card which isn't supported by the script yet. Link to comment Share on other sites More sharing options...
Pavo Posted April 15, 2017 Share Posted April 15, 2017 Looks like you're already using a custom DSDT. Won't work. Also, you're using an AMD card which isn't supported by the script yet. Oh ok will re-run it without the custom DSDT, and yes using AMD RX 480 Link to comment Share on other sites More sharing options...
mfc88 Posted April 15, 2017 Author Share Posted April 15, 2017 Oh ok will re-run it without the custom DSDT, and yes using AMD RX 480 Send me an IORegistry dump with your custom DSDT installed, as well as your CLOVER folder. I'll see if there's a way to add support for AMD cards, but as of now, this script is aimed toward Nvidia cards. IORegistryExplorerv2.1.zip Link to comment Share on other sites More sharing options...
Pavo Posted April 15, 2017 Share Posted April 15, 2017 Send me an IORegistry dump with your custom DSDT installed, as well as your CLOVER folder. I'll see if there's a way to add support for AMD cards, but as of now, this script is aimed toward Nvidia cards. IORegistryExplorerv2.1.zip I normally use IOReg 3 but used yours to save, here you go Pavo.zip Link to comment Share on other sites More sharing options...
Recommended Posts