Jump to content

ssdtGen - custom generated SSDTs (x99/z170/z97/h97 systems)


mfc88
 Share

203 posts in this topic

Recommended Posts

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.

 

  :excl: Special Note  :excl: -- 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
 
Qg7nQ6a.png
 
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:

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

v7pCFPA.png
 
#======================================================================================##
## 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->patched

In 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 our
custom 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's
    internal 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:

††In order to generate a spoofed HackrNVMeFamily-10_xx_x.kext to work with SSDT-NVME.aml, please follow:

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 will
then notice the app generating a debug_output.txt file to the Desktop. Next, download IORegistryExplorer v2.1 and

run the application. Click File->Save to generate an IORegistry dump file. When done, take these files along with
your Clover EFI folder (with ACPI tables dropped -- press F4 at Clover Boot Manager screen, wait 5 seconds, then
boot into OS) and compress them into a single .zip folder. Attach this zipped file with a brief description of any errors
you 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 by mfc88
  • Like 18
Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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

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

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

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

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

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

 

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!

  • Like 1
Link to comment
Share on other sites

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

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

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. 

  • Like 1
Link to comment
Share on other sites

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

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

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

 

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

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

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

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

 Share

×
×
  • Create New...