From 7ee09aa68cdc4cd221721933a593ba874030a814 Mon Sep 17 00:00:00 2001 From: johnnync13 Date: Tue, 14 Jan 2020 10:02:25 +0100 Subject: [PATCH] New Script audio, updated CodecCommander,USBInjectAll and ALCPLUGINFIX @Sniki --- .DS_Store | Bin 6148 -> 6148 bytes ALCPlugFix_Xiaomi_Air_13_alc255Gen/.DS_Store | Bin 6148 -> 6148 bytes ALCPlugFix_Xiaomi_Air_13_alc255Gen/ALCPlugFix | Bin 36864 -> 37168 bytes .../SSDT-ALC255.aml | Bin 0 -> 330 bytes .../SSDT-ALC255.dsl | 35 +++ .../good.win.ALCPlugFix.plist | 4 +- ALCPlugFix_Xiaomi_Air_13_alc255Gen/install.sh | 14 +- .../uninstall.sh | 2 + EFI/.DS_Store | Bin 6148 -> 6148 bytes EFI/CLOVER/.DS_Store | Bin 8196 -> 8196 bytes EFI/CLOVER/kexts/.DS_Store | Bin 6148 -> 6148 bytes .../CodecCommander.kext/Contents/Info.plist | 100 +++---- .../Contents/MacOS/CodecCommander | Bin 98040 -> 124656 bytes .../Resources/Samples/SSDT-ALC1220.dsl | 38 +++ .../Samples/SSDT-ALC256-insanelydeepak.dsl | 46 +++ .../Samples/SSDT-ALC256-vbourachot.dsl | 54 ++++ .../Resources/Samples/SSDT-ALC280.dsl | 45 +++ .../Resources/Samples/SSDT-ALC283.dsl | 44 +++ .../Resources/Samples/SSDT-ALC298.dsl | 52 ++++ .../Resources/Samples/SSDT-ALC298a.dsl | 61 ++++ .../Resources/Samples/SSDT-ALC668.dsl | 63 +++++ .../Resources/Samples/SSDT-AppleALC.dsl | 23 ++ .../Resources/Samples/SSDT-CX20752.dsl | 43 +++ .../Contents/_CodeSignature/CodeResources | 267 ++++++++++++++++++ .../USBInjectAll.kext/Contents/Info.plist | 136 ++++++++- .../Contents/MacOS/USBInjectAll | Bin 42248 -> 61632 bytes .../Contents/_CodeSignature/CodeResources | 115 ++++++++ 27 files changed, 1067 insertions(+), 75 deletions(-) create mode 100644 ALCPlugFix_Xiaomi_Air_13_alc255Gen/SSDT-ALC255.aml create mode 100644 ALCPlugFix_Xiaomi_Air_13_alc255Gen/SSDT-ALC255.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC1220.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC256-insanelydeepak.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC256-vbourachot.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC280.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC283.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC298.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC298a.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC668.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-AppleALC.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-CX20752.dsl create mode 100755 EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/_CodeSignature/CodeResources mode change 100644 => 100755 EFI/CLOVER/kexts/Other/USBInjectAll.kext/Contents/Info.plist create mode 100755 EFI/CLOVER/kexts/Other/USBInjectAll.kext/Contents/_CodeSignature/CodeResources diff --git a/.DS_Store b/.DS_Store index 17a40220266b67d3179ec2605254bf4fce27c959..30f1d270efddb5939b6939830ce9e78b156608a8 100644 GIT binary patch delta 39 ncmZoMXffE}&dOnIX{w`OWMs72pEZyX&YSGd>bUtOo3tPR#hVGr delta 39 tcmZoMXffE}&dOn8W~!rLWMQz`pEZz?!^qeY$TKvb?9b}B`6ZjQAOOX<3C#ci diff --git a/ALCPlugFix_Xiaomi_Air_13_alc255Gen/.DS_Store b/ALCPlugFix_Xiaomi_Air_13_alc255Gen/.DS_Store index e6bdead4406de092d46d562aa0987d53d3868996..78599364a09675381e26e2a6805b8f5d84cadb67 100755 GIT binary patch delta 177 zcmZoMXfc@JFUrKgz`)4BAi%(&%izf1!{E$d#9%s^k!ks40}+;beuiKmbYTcVmSr$y z&|^qs$Ysd!%*jtq%E?axngKL`@iUOt_zwm^76Sur-6;&k=(-tJ0(Hzl(hcNp=4ATE NI=hRw)>)tEO{yr)Wtd^! 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 adcgF6=>gLNrUy(9m>w`aV0ysxfbw5NOeggK literal 36864 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 U5-S0RR91 literal 0 HcmV?d00001 diff --git a/ALCPlugFix_Xiaomi_Air_13_alc255Gen/SSDT-ALC255.dsl b/ALCPlugFix_Xiaomi_Air_13_alc255Gen/SSDT-ALC255.dsl new file mode 100644 index 00000000..848b0743 --- /dev/null +++ b/ALCPlugFix_Xiaomi_Air_13_alc255Gen/SSDT-ALC255.dsl @@ -0,0 +1,35 @@ +DefinitionBlock ("", "SSDT", 1, "hack", "_ALC255", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + Package() + { + // 0x19 SET_PIN_WIDGET_CONTROL 0x25 + "Command", Buffer() { 0x01, 0x97, 0x07, 0x25 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x21 SET_UNSOLICITED_ENABLE 0x83 + "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + } + }, + "Perform Reset", ">n", + "Perform Reset on External Wake", ">n", // enabled since using AppleALC + "Send Delay", 10, + "Sleep Nodes", ">n", + }, + }) +} +//EOF \ No newline at end of file diff --git a/ALCPlugFix_Xiaomi_Air_13_alc255Gen/good.win.ALCPlugFix.plist b/ALCPlugFix_Xiaomi_Air_13_alc255Gen/good.win.ALCPlugFix.plist index 5b40675a..47928b5a 100644 --- a/ALCPlugFix_Xiaomi_Air_13_alc255Gen/good.win.ALCPlugFix.plist +++ b/ALCPlugFix_Xiaomi_Air_13_alc255Gen/good.win.ALCPlugFix.plist @@ -8,7 +8,7 @@ good.win.ALCPlugFix ProgramArguments - /usr/bin/ALCPlugFix + /usr/local/bin/ALCPlugFix RunAtLoad @@ -16,6 +16,6 @@ WorkingDirectory - /usr/bin/ + /usr/local/bin/ diff --git a/ALCPlugFix_Xiaomi_Air_13_alc255Gen/install.sh b/ALCPlugFix_Xiaomi_Air_13_alc255Gen/install.sh index 9b47ecae..6bfee81f 100755 --- a/ALCPlugFix_Xiaomi_Air_13_alc255Gen/install.sh +++ b/ALCPlugFix_Xiaomi_Air_13_alc255Gen/install.sh @@ -1,18 +1,17 @@ #!/bin/bash DAEMON_PATH=/Library/LaunchDaemons/ -BIN_PATH=/usr/bin/ +BIN_PATH=/usr/local/bin/ DAEMON_FILE=good.win.ALCPlugFix.plist VERB_FILE=hda-verb FIX_FILE=ALCPlugFix -echo "Installing ALCPlugFix. Root user is required." +echo "Installing ALCPlugFix v1.6" -# check if the root filesystem is writeable (starting with macOS 10.15 Catalina, the root filesystem is read-only by default) -if sudo test ! -w "/"; then - echo "Root filesystem is not writeable. Remounting as read-write and restarting Finder." - sudo mount -uw / - sudo killall Finder +# check if the directory "usr/local/bin" exist, if not then create the directory + +if [ ! -d "$BIN_PATH" ] ; then +mkdir "$BIN_PATH" ; fi # stop the daemon if it's already running @@ -22,6 +21,7 @@ if sudo launchctl list | grep --quiet ALCPlugFix; then fi # copy over the files to their respective locations (overwrite automatically if files exist) + sudo cp -f ALCPlugFix $BIN_PATH sudo cp -f hda-verb $BIN_PATH sudo cp -f good.win.ALCPlugFix.plist $DAEMON_PATH diff --git a/ALCPlugFix_Xiaomi_Air_13_alc255Gen/uninstall.sh b/ALCPlugFix_Xiaomi_Air_13_alc255Gen/uninstall.sh index c55f3835..456d0c0c 100755 --- a/ALCPlugFix_Xiaomi_Air_13_alc255Gen/uninstall.sh +++ b/ALCPlugFix_Xiaomi_Air_13_alc255Gen/uninstall.sh @@ -14,6 +14,8 @@ sudo rm /usr/bin/hda-verb sudo launchctl unload -w /Library/LaunchDaemons/good.win.ALCPlugFix.plist sudo launchctl remove good.win.ALCPlugFix sudo rm /Library/LaunchDaemons/good.win.ALCPlugFix.plist +sudo rm /usr/local/bin/ALCPlugFix +sudo rm /usr/local/bin/hda-verb echo "Done!" exit 0 diff --git a/EFI/.DS_Store b/EFI/.DS_Store index 1000871692e9159c1123cd7ea4d1370f57c56098..227ff52ea80f5bc9ff953f257f491d5baa7fd922 100755 GIT binary patch delta 21 ccmZoMXffFEpM}HN(o{#m$jE3jJL_K|08CQ`bpQYW delta 21 ccmZoMXffFEpM}H7*iuKq$k2Q BuildMachineOSBuild - 18A391 + 19C57 CFBundleDevelopmentRegion English CFBundleExecutable @@ -19,7 +19,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 2.7.1 + 2.7.2 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -27,21 +27,21 @@ MacOSX CFBundleVersion - 2.7.1 + 2.7.2 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9F2000 + 11C29 DTPlatformVersion GM DTSDKBuild - 10M2518 + 19B90 DTSDKName - macosx10.6 + macosx10.15 DTXcode - 0941 + 1130 DTXcodeBuild - 9F2000 + 11C29 IOKitPersonalities CodecCommander @@ -50,6 +50,10 @@ org.tw.CodecCommander Codec Profile + 1002 + Disabled HDMI + 10de + Disabled HDMI 10ec_0233 Realtek ALC283,etc 10ec_0235 @@ -70,8 +74,6 @@ Realtek ALC283,etc 10ec_0292 Realtek ALC292 - 10ec_0298 - Realtek ALC298 10ec_0668 Realtek ALC668 10ec_0892_HDA_1458 @@ -80,6 +82,8 @@ Realtek ALC892 desktop 10ec_0900 Realtek ALC1150 + 8086 + Disabled HDMI Default Check Infinitely @@ -114,7 +118,9 @@ Command - AgUABw== + + AgUABw== + Comment 0x20 SET_COEF_INDEX 0x07 On Init @@ -126,7 +132,9 @@ Command - AgR8sA== + + AgR8sA== + Comment 0x20 SET_PROC_COEF 0x7CB0 On Init @@ -150,7 +158,9 @@ Command - AVcIgw== + + AVcIgw== + Comment 0x15 SET_UNSOLICITED_ENABLE 0x83 On Init @@ -168,7 +178,9 @@ Command - AVcIgw== + + AVcIgw== + Comment 0x15 SET_UNSOLICITED_ENABLE 0x83 On Init @@ -186,7 +198,9 @@ Command - AhcIgw== + + AhcIgw== + Comment 0x21 SET_UNSOLICITED_ENABLE 0x83 On Init @@ -208,7 +222,9 @@ Command - AZcHJQ== + + AZcHJQ== + Comment 0x19 SET_PIN_WIDGET_CONTROL 0x25 On Init @@ -219,8 +235,6 @@ - Command - AhcIgw== Comment 0x21 SET_UNSOLICITED_ENABLE 0x83 On Init @@ -256,7 +270,9 @@ Command - AVcIgw== + + AVcIgw== + Comment 0x15 SET_UNSOLICITED_ENABLE 0x83 On Init @@ -270,49 +286,15 @@ Perform Reset - Realtek ALC298 - - Custom Commands - - - Command - AYcHIg== - Comment - 0x18 SET_PIN_WIDGET_CONTROL 0x22 - On Init - - On Sleep - - On Wake - - - - Command - AhcIgw== - Comment - 0x21 SET_UNSOLICITED_ENABLE 0x83 - On Init - - On Sleep - - On Wake - - - - Perform Reset - - Send Delay - 10 - Sleep Nodes - - Realtek ALC668 Custom Commands Command - AVcIgw== + + AVcIgw== + Comment 0x15 SET_UNSOLICITED_ENABLE 0x83 On Init @@ -324,7 +306,9 @@ Command - AbcHIA== + + AbcHIA== + Comment Node 0x1b - Pin Control (In Enable) On Init @@ -459,6 +443,8 @@ CodecCommanderClient + LSMinimumSystemVersion + 10.6 NSHumanReadableCopyright Copyright © 2013-2014 TimeWalker/RehabMan. All rights reserved. OSBundleLibraries diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/MacOS/CodecCommander b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/MacOS/CodecCommander index c2574a25d23814f6692bb6c33c44a8031e6b2597..f5037e88b6cda04a4a684959279e39c9728be89d 100755 GIT binary patch literal 124656 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 z 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 b9e{SjDG0xy_b-Pm(Ydw`#OUA7{J(zyOQ^G3 diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC1220.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC1220.dsl new file mode 100755 index 00000000..7a7ec809 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC1220.dsl @@ -0,0 +1,38 @@ +// CodecCommander configuration for ALC1220 +// provided by daliansky @github + +DefinitionBlock ("", "SSDT", 1, "hack", "_ALC1220", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + Package() + { + // 0x19 SET_PIN_WIDGET_CONTROL 0x24 + "Command", Buffer() { 0x01, 0x97, 0x07, 0x24 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x1B SET_UNSOLICITED_ENABLE 0x83 + "Command", Buffer() { 0x01, 0xB7, 0x08, 0x83 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + }, + "Perform Reset", ">y", + //"Perform Reset on External Wake", ">n", // enable if using AppleALC + "Send Delay", 10, + "Sleep Nodes", ">n", + }, + }) +} +//EOF diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC256-insanelydeepak.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC256-insanelydeepak.dsl new file mode 100755 index 00000000..cb59eca1 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC256-insanelydeepak.dsl @@ -0,0 +1,46 @@ +// CodecCommander configuration for ALC256 to fix various issue +// repo: https://github.com/insanelydeepak/cloverHDA-for-Mac-OS-Sierra-10.12 + +DefinitionBlock ("", "SSDT", 1, "hack", "_ALC256i", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + Package() + { + // 0x19 SET_PIN_WIDGET_CONTROL 0x24 + "Command", Buffer() { 0x01, 0x97, 0x07, 0x24 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x1A SET_PIN_WIDGET_CONTROL 0x20 + "Command", Buffer() { 0x01, 0xA7, 0x07, 0x20 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x21 SET_UNSOLICITED_ENABLE 0x83 + "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + } + }, + "Perform Reset", ">n", + //"Perform Reset on External Wake", ">n", // enable if using AppleALC + "Send Delay", 10, + "Sleep Nodes", ">n", + }, + }) +} +//EOF diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC256-vbourachot.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC256-vbourachot.dsl new file mode 100755 index 00000000..f7907abf --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC256-vbourachot.dsl @@ -0,0 +1,54 @@ +// CodecCommander configuration for ALC256 +// From: https://github.com/vbourachot/XPS13-9350-OSX/blob/master/ssdt/SSDT-ALC256.dsl + +DefinitionBlock ("", "SSDT", 1, "hack", "_ALC256v", 0x00003000) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + Package() + { + // 0x19 SET_PIN_WIDGET_CONTROL 0x25 + "Command", Buffer() { 0x01, 0x97, 0x07, 0x25 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x21 SET_UNSOLICITED_ENABLE 0x83 + "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x20 SET_COEF_INDEX 0x36 + "Command", Buffer() { 0x02, 0x05, 0x00, 0x36 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x20 SET_PROC_COEF 0x1737 + "Command", Buffer() { 0x02, 0x04, 0x17, 0x37 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + }, + "Perform Reset", ">n", + //"Perform Reset on External Wake", ">n", // enable if using AppleALC + "Send Delay", 10, + "Sleep Nodes", ">n", + }, + }) +} +//EOF diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC280.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC280.dsl new file mode 100755 index 00000000..cf5a2f31 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC280.dsl @@ -0,0 +1,45 @@ +// This SSDT demonstrates a custom configuration for ALC280. + +// If you had a codec that needed the same configuration, you could +// load this SSDT in order to implement it without modifying the kext. +// It will override the defaults specfied by the CodecCommander Info.plist + +// Customize to suit your needs. + +// This data provided by @zirkaiva. +// See here: http://www.tonymacx86.com/el-capitan-laptop-guides/175935-guide-lenovo-t430-el-capitan-34.html#post1239765 + +DefinitionBlock ("", "SSDT", 1, "hack", "_ALC280", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + Package() + { + // 0x15 SET_UNSOLICITED_ENABLE 0x83 + "Command", Buffer() { 0x01, 0x57, 0x08, 0x83 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x1a SET_PIN_WIDGET_CONTROL 0x24 + // Node 0x1a - Pin Control (In Enable / VRefEn) + "Command", Buffer() { 0x01, 0xa7, 0x07, 0x24 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + }, + //"Perform Reset", ">n", // enable if using AppleALC + //"Perform Reset on External Wake", ">n", // enable if using AppleALC + }, + }) +} +//EOF diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC283.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC283.dsl new file mode 100755 index 00000000..0d499986 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC283.dsl @@ -0,0 +1,44 @@ +// This SSDT demonstrates a custom configuration for ALC283. +// It is the same data that is currently in the Info.plist + +// If you had a codec that needed the same configuration, you could +// load this SSDT in order to implement it without modifying the kext. +// It will override the defaults specfied by the CodecCommander Info.plist + +// Customize to suit your needs. + +DefinitionBlock ("", "SSDT", 1, "hack", "_ALC283", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + Package() + { + // 0x19 SET_PIN_WIDGET_CONTROL 0x25 + "Command", Buffer() { 0x01, 0x97, 0x07, 0x25 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x21 SET_UNSOLICITED_ENABLE 0x83 + "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + }, + "Perform Reset", ">n", + //"Perform Reset on External Wake", ">n", // enable if using AppleALC + "Send Delay", 10, + "Sleep Nodes", ">n", + }, + }) +} +//EOF diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC298.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC298.dsl new file mode 100755 index 00000000..996187f8 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC298.dsl @@ -0,0 +1,52 @@ +// This SSDT demonstrates a custom configuration for ALC298. +// It is the same data that is currently in the Info.plist + +// If you had a codec that needed the same configuration, you could +// load this SSDT in order to implement it without modifying the kext. +// It will override the defaults specfied by the CodecCommander Info.plist + +// Customize to suit your needs. + +DefinitionBlock ("", "SSDT", 1, "hack", "_ALC298", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + Package() + { + // 0x18 SET_PIN_WIDGET_CONTROL 0x22 + "Command", Buffer() { 0x01, 0x87, 0x07, 0x22 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x1a SET_PIN_WIDGET_CONTROL 0x23 + "Command", Buffer() { 0x01, 0xa7, 0x07, 0x23 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x21 SET_UNSOLICITED_ENABLE 0x83 + "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + }, + "Perform Reset", ">n", + //"Perform Reset on External Wake", ">n", // enable if using AppleALC + "Send Delay", 10, + "Sleep Nodes", ">n", + }, + }) +} +//EOF diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC298a.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC298a.dsl new file mode 100755 index 00000000..1c30b375 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC298a.dsl @@ -0,0 +1,61 @@ +// This SSDT demonstrates a custom configuration for ALC298. +// +// It is reportedly needed to solve problems of jack sense and +// distorted sound with headphone. +// +// See here for details: +// http://www.tonymacx86.com/threads/alc3266-10ec0298-files-for-applehdapatcher.191231/page-5#post-1323829 +// + +// Customize to suit your needs. +// Compile to SSDT-ALC298.aml, place in ACPI/patched. Make sure SortedOrder includes it. + +DefinitionBlock ("", "SSDT", 1, "hack", "_ALC298a", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + Package() + { + // 0x01 SET_CODEC_RESET 0x00 + "Command", Buffer() { 0x00, 0x17, 0xff, 0x00 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">n", + }, + Package() + { + // 0x01 SET_CODEC_RESET 0x00 + "Command", Buffer() { 0x00, 0x17, 0xff, 0x00 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">n", + }, + Package() + { + // 0x1 SET_POWER_STATE 0x03 + "Command", Buffer() { 0x00, 0x17, 0x05, 0x03 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">n", + }, + Package() + { + // 0x21 SET_UNSOLICITED_ENABLE 0x83 + "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + }, + //"Perform Reset", ">n", // enable if using AppleALC + //"Perform Reset on External Wake", ">n", // enable if using AppleALC + }, + }) +} +//EOF diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC668.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC668.dsl new file mode 100755 index 00000000..cd9a2562 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-ALC668.dsl @@ -0,0 +1,63 @@ +// This SSDT demonstrates a custom configuration for ALC668. +// +// It is reportedly needed to solve a problem with booting +// OS X after Windows. +// +// See here for details: +// http://www.tonymacx86.com/el-capitan-laptop-support/185808-alc668-no-sound-after-reboot-windows-10-a.html#post1201248 +// + +// Customize to suit your needs. +// Compile to SSDT-ALC668.aml, place in ACPI/patched. Make sure SortedOrder includes it. + +DefinitionBlock ("", "SSDT", 1, "hack", "_ALC668", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + // correcting headphones (this is in the Info.plist too) + Package() + { + // 0x15 SET_UNSOLICITED_ENABLE 0x83 + "Command", Buffer() { 0x01, 0x57, 0x08, 0x83 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // Node 0x1b - Pin Control (In Enable) + "Command", Buffer() { 0x01, 0xb7, 0x07, 0x20 }, + "On Init", ">n", + "On Sleep", ">n", + "On Wake", ">y", + }, + // correcting audio after Windows (not in current Info.plist) + Package() + { + // 0x20 SET_COEF_INDEX 0x07 + "Command", Buffer() { 0x02, 0x05, 0x00, 0x07 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">n", + }, + Package() + { + // 0x20 SET_PROC_COEF 0x0F80 + "Command", Buffer() { 0x02, 0x04, 0x0f, 0x80 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">n", + }, + }, + //"Perform Reset", ">n", // enable if using AppleALC + //"Perform Reset on External Wake", ">n", // enable if using AppleALC + }, + }) +} +//EOF diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-AppleALC.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-AppleALC.dsl new file mode 100755 index 00000000..1a98ae23 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-AppleALC.dsl @@ -0,0 +1,23 @@ +// This SSDT demonstrates a custom configuration with certain features +// disabled when using AppleALC.kext. +// AppleALC.kext has some extra patches for AppleHDA that interfere with these +// features breaking audio after wake from sleep. +// +// Customize to suit your needs. +// +// As of CodecCommander v2.7.1, CodecCommander detects AppleALC for setting the default +// of these two options false. + +DefinitionBlock ("", "SSDT", 1, "hack", "_CCALC", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Perform Reset", ">n", + "Perform Reset on External Wake", ">n", + }, + }) +} +//EOF diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-CX20752.dsl b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-CX20752.dsl new file mode 100755 index 00000000..2248d4d4 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/Resources/Samples/SSDT-CX20752.dsl @@ -0,0 +1,43 @@ +// SSDT to correct some problems headphone/mic on CX20752. +// +// Note: For use with the Anti-pop patches (seee RehabMan NUC repo) +// +// created by nayeweiyang/XuWang + +DefinitionBlock ("", "SSDT", 1, "hack", "_CX20752", 0) +{ + External(_SB.PCI0.HDEF, DeviceObj) + + Name(_SB.PCI0.HDEF.RMCF, Package() + { + "CodecCommander", Package() + { + "Custom Commands", Package() + { + Package(){}, // signifies Array instead of Dictionary + Package() + { + // 0x19 SET_PIN_WIDGET_CONTROL 0x24 + "Command", Buffer() { 0x01, 0x97, 0x07, 0x24 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + Package() + { + // 0x1a SET_PIN_WIDGET_CONTROL 0x24 + "Command", Buffer() { 0x01, 0xa7, 0x07, 0x24 }, + "On Init", ">y", + "On Sleep", ">n", + "On Wake", ">y", + }, + + }, + "Perform Reset", ">n", + "Perform Reset on External Wake", ">n", + }, + }) +} +//EOF + + diff --git a/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/_CodeSignature/CodeResources b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/_CodeSignature/CodeResources new file mode 100755 index 00000000..b898e664 --- /dev/null +++ b/EFI/CLOVER/kexts/Other/CodecCommander.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,267 @@ + + + + + files + + Resources/Samples/SSDT-ALC1220.dsl + + EIES+l9rMGoeBieSkUNddrD5bWo= + + Resources/Samples/SSDT-ALC256-insanelydeepak.dsl + + VZkOsssBJ6T1/BsvNJsxIgN6sZY= + + Resources/Samples/SSDT-ALC256-vbourachot.dsl + + 4Kgmc2FJT1dIg9N7ykidCcuhPVI= + + Resources/Samples/SSDT-ALC280.dsl + + I0LQ4c40vPqO7KQyWKJ2MnsfiIU= + + Resources/Samples/SSDT-ALC283.dsl + + 3C5d98Yawh/48mwCelHDHJ4GINQ= + + Resources/Samples/SSDT-ALC298.dsl + + VKDMTH2YOrg+Y+z3VS9OHrPS0Fk= + + Resources/Samples/SSDT-ALC298a.dsl + + uZMK4TFxYyvCnF64GKMCkmIj+D0= + + Resources/Samples/SSDT-ALC668.dsl + + pxe3Mfkqdxto0CYYP1QQNnR/yYw= + + Resources/Samples/SSDT-AppleALC.dsl + + VPP+WvDCKf8Tw2HAbI6mGSApZec= + + Resources/Samples/SSDT-CX20752.dsl + + 2Dc4I1jWG0/CmJeTVaO3ci4K3B0= + + + files2 + + Resources/Samples/SSDT-ALC1220.dsl + + hash + + EIES+l9rMGoeBieSkUNddrD5bWo= + + hash2 + + jqBgCuISRIgDEohB6eJL6S35hXiT4avRWCIQkoG/7jE= + + + Resources/Samples/SSDT-ALC256-insanelydeepak.dsl + + hash + + VZkOsssBJ6T1/BsvNJsxIgN6sZY= + + hash2 + + sfT2TRn4QDdpacpab2BQO0EUosUxxjYP+H67YVrFxSM= + + + Resources/Samples/SSDT-ALC256-vbourachot.dsl + + hash + + 4Kgmc2FJT1dIg9N7ykidCcuhPVI= + + hash2 + + OJ1gIMJ54LeFpxyxQ4BNebpxAspZWngZsLotyXRav1E= + + + Resources/Samples/SSDT-ALC280.dsl + + hash + + I0LQ4c40vPqO7KQyWKJ2MnsfiIU= + + hash2 + + VXWVuyccAWvOYtVBGFby4wtGs8w3rgemCSrDsfU9Y4w= + + + Resources/Samples/SSDT-ALC283.dsl + + hash + + 3C5d98Yawh/48mwCelHDHJ4GINQ= + + hash2 + + wrBGgW4l9PJROiSBO70+4LDlxtKuTClEHurWIKbAqWw= + + + Resources/Samples/SSDT-ALC298.dsl + + hash + + VKDMTH2YOrg+Y+z3VS9OHrPS0Fk= + + hash2 + + 4wJ+O/VDersVdLXH6wdYyd8Giyj5sp39FYFacOMgWMo= + + + Resources/Samples/SSDT-ALC298a.dsl + + hash + + uZMK4TFxYyvCnF64GKMCkmIj+D0= + + hash2 + + 35qUmgVJmTFC09kAKboui1WfOeWpx8EZiuw0Ak11KqM= + + + Resources/Samples/SSDT-ALC668.dsl + + hash + + pxe3Mfkqdxto0CYYP1QQNnR/yYw= + + hash2 + + LyyMqlOlDDUkN/V9UfdYEo4NdzbruFwX9AtjqfzikHw= + + + Resources/Samples/SSDT-AppleALC.dsl + + hash + + VPP+WvDCKf8Tw2HAbI6mGSApZec= + + hash2 + + Sqi40XOwc8QaXlqUngUwxY66utwbKX2zXrdXprwkCoA= + + + Resources/Samples/SSDT-CX20752.dsl + + hash + + 2Dc4I1jWG0/CmJeTVaO3ci4K3B0= + + hash2 + + sDRLVLSx27tOfnytpsAD7S23OOmox6NE4EeMafkvxzk= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/EFI/CLOVER/kexts/Other/USBInjectAll.kext/Contents/Info.plist b/EFI/CLOVER/kexts/Other/USBInjectAll.kext/Contents/Info.plist old mode 100644 new mode 100755 index 90d37b17..6a0d108a --- a/EFI/CLOVER/kexts/Other/USBInjectAll.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/Other/USBInjectAll.kext/Contents/Info.plist @@ -3,13 +3,13 @@ BuildMachineOSBuild - 18B75 + 19C57 CFBundleDevelopmentRegion English CFBundleExecutable USBInjectAll CFBundleGetInfoString - 0.7.1 Copyright © 2015 RehabMan. All rights reserved. + 0.7.4 Copyright © 2015 RehabMan. All rights reserved. CFBundleIdentifier com.rehabman.driver.USBInjectAll CFBundleInfoDictionaryVersion @@ -19,7 +19,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 0.7.1 + 0.7.4 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -27,21 +27,21 @@ MacOSX CFBundleVersion - 0.7.1 + 0.7.4 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9F2000 + 11C29 DTPlatformVersion GM DTSDKBuild - 15E60 + 19B90 DTSDKName - macosx10.11 + macosx10.15 DTXcode - 0941 + 1130 DTXcodeBuild - 9F2000 + 11C29 IOKitPersonalities ConfigurationData @@ -2614,6 +2614,35 @@ model MacBookAir8,1 + MacBookAir8,2-ABPC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + USBInjectAll + IOProviderClass + AppleBusPowerController + kName + AppleBusPowerController + model + MacBookAir8,2 + + MacBookAir8,2-XHC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + USBInjectAll + IONameMatch + + XHC + XHCI + + IOProviderClass + AppleUSBXHCIPCI + model + MacBookAir8,2 + MacBookPro10,1-ABPC CFBundleIdentifier @@ -3557,6 +3586,64 @@ model MacBookPro15,2 + MacBookPro15,3-ABPC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + USBInjectAll + IOProviderClass + AppleBusPowerController + kName + AppleBusPowerController + model + MacBookPro15,3 + + MacBookPro15,3-XHC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + USBInjectAll + IONameMatch + + XHC + XHCI + + IOProviderClass + AppleUSBXHCIPCI + model + MacBookPro15,3 + + MacBookPro15,4-ABPC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + USBInjectAll + IOProviderClass + AppleBusPowerController + kName + AppleBusPowerController + model + MacBookPro15,4 + + MacBookPro15,4-XHC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + USBInjectAll + IONameMatch + + XHC + XHCI + + IOProviderClass + AppleUSBXHCIPCI + model + MacBookPro15,4 + MacBookPro6,1-ABPC CFBundleIdentifier @@ -6259,6 +6346,35 @@ model iMac19,1 + iMac19,2-ABPC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + USBInjectAll + IOProviderClass + AppleBusPowerController + kName + AppleBusPowerController + model + iMac19,2 + + iMac19,2-XHC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + USBInjectAll + IONameMatch + + XHC + XHCI + + IOProviderClass + AppleUSBXHCIPCI + model + iMac19,2 + iMac4,1-ABPC CFBundleIdentifier @@ -6842,6 +6958,8 @@ iMacPro1,1 + LSMinimumSystemVersion + 10.11 NSHumanReadableCopyright Copyright © 2015 RehabMan. All rights reserved. OSBundleLibraries diff --git a/EFI/CLOVER/kexts/Other/USBInjectAll.kext/Contents/MacOS/USBInjectAll b/EFI/CLOVER/kexts/Other/USBInjectAll.kext/Contents/MacOS/USBInjectAll index edc9229c598738433e9ddca8914413209c769efc..1e5f581c93d827f540451adf2d6495a8988b1b9b 100755 GIT binary patch delta 10699 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 B`UL<0 delta 9547 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 + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + +