Jump to content
30960 posts in this topic

Recommended Posts

Sure!

 

This is the log:

0:138 0:000 KextsToPatch: 6 requested
0:138 0:000 KextsToPatch 0: IOAHCIBlockStorage (Enable TRIM for SSD)Matched OSes: 10.11.6,10.12.x
0:138 0:000 Kext bin patch, data len: 11
0:138 0:000 KextsToPatch 1: AppleUSBXHCIPCI (remove usb limit)Matched OSes: 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x,10.12.x
0:138 0:000 Kext bin patch, data len: 7
0:138 0:000 KextsToPatch 2: AppleHDA (Zeroing 11d41983 codec)Matched OSes: 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x
0:138 0:000 Kext bin patch, data len: 4
0:138 0:000 KextsToPatch 3: AppleHDA (Zeroing 11d4198a codec (patched by AppleHDA Patcher.app))Matched OSes: 10.12.x
0:138 0:000 Kext bin patch, data len: 4
0:138 0:000 KextsToPatch 4: AppleHDA (Zeroing 11d41984 codec (patched by AppleHDA Patcher.app)) Kext bin patch, data len: 4
0:138 0:000 KextsToPatch 5: AppleHDA (Patching 11d4198b with 111d76e0 codec (patched by AppleHDA Patcher.app)) Kext bin patch, data len: 4

Trim is enabled only for EC and Sierra (not working in Yosemite ...is wanted.. and is a test, so OSes are matched correctly  )

KextsToPatch 3 make my audio in a working state only for Sierra! (I'm in Sierra)

KextsToPatch 2 make my audio working in all other OSes... as I tested  :lol:

BOOTIA32.efi.zip

BOOTX64.efi.zip

CLOVERIA32.efi.zip

CLOVERX64.efi.zip

  • Like 2

Should have posted this here, but 3589 hangs on my laptop when applying kext patches in Sierra if I have MatchOS set. If I remove MatchOS it works fine.

 

It doesn't hang with El Capitan.

Rebooting in 10.12 DP2.. see you after the reboot..

Sure!

 

This is the log:

0:138 0:000 KextsToPatch: 6 requested
0:138 0:000 KextsToPatch 0: IOAHCIBlockStorage (Enable TRIM for SSD)Matched OSes: 10.11.6,10.12.x
0:138 0:000 Kext bin patch, data len: 11
0:138 0:000 KextsToPatch 1: AppleUSBXHCIPCI (remove usb limit)Matched OSes: 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x,10.12.x
0:138 0:000 Kext bin patch, data len: 7
0:138 0:000 KextsToPatch 2: AppleHDA (Zeroing 11d41983 codec)Matched OSes: 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x
0:138 0:000 Kext bin patch, data len: 4
0:138 0:000 KextsToPatch 3: AppleHDA (Zeroing 11d4198a codec (patched by AppleHDA Patcher.app))Matched OSes: 10.12.x
0:138 0:000 Kext bin patch, data len: 4
0:138 0:000 KextsToPatch 4: AppleHDA (Zeroing 11d41984 codec (patched by AppleHDA Patcher.app)) Kext bin patch, data len: 4
0:138 0:000 KextsToPatch 5: AppleHDA (Patching 11d4198b with 111d76e0 codec (patched by AppleHDA Patcher.app)) Kext bin patch, data len: 4

Trim is enabled only for EC and Sierra (not working in Yosemite ...is wanted.. and is a test, so OSes are matched correctly  )

KextsToPatch 3 make my audio in a working state only for Sierra! (I'm in Sierra)

KextsToPatch 2 make my audio working in all other OSes... as I tested  :lol:

these cause kernel panics 

https://drive.google.com/file/d/0B3y5hldpEFDYbDlCb0hGRHBWNlU/view?usp=sharingclover 3589 installer

Sure!

 

This is the log:

0:138 0:000 KextsToPatch: 6 requested
0:138 0:000 KextsToPatch 0: IOAHCIBlockStorage (Enable TRIM for SSD)Matched OSes: 10.11.6,10.12.x
0:138 0:000 Kext bin patch, data len: 11
0:138 0:000 KextsToPatch 1: AppleUSBXHCIPCI (remove usb limit)Matched OSes: 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x,10.12.x
0:138 0:000 Kext bin patch, data len: 7
0:138 0:000 KextsToPatch 2: AppleHDA (Zeroing 11d41983 codec)Matched OSes: 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x
0:138 0:000 Kext bin patch, data len: 4
0:138 0:000 KextsToPatch 3: AppleHDA (Zeroing 11d4198a codec (patched by AppleHDA Patcher.app))Matched OSes: 10.12.x
0:138 0:000 Kext bin patch, data len: 4
0:138 0:000 KextsToPatch 4: AppleHDA (Zeroing 11d41984 codec (patched by AppleHDA Patcher.app)) Kext bin patch, data len: 4
0:138 0:000 KextsToPatch 5: AppleHDA (Patching 11d4198b with 111d76e0 codec (patched by AppleHDA Patcher.app)) Kext bin patch, data len: 4

Trim is enabled only for EC and Sierra (not working in Yosemite ...is wanted.. and is a test, so OSes are matched correctly  )

KextsToPatch 3 make my audio in a working state only for Sierra! (I'm in Sierra)

KextsToPatch 2 make my audio working in all other OSes... as I tested  :lol:

 

Your files work fine as long as MatchOS is not set ... If it is set to "10.12.x" it hangs at kext patch ... 

@sebinouse it's in /System/Library/CoreServices/

 

Here's mine. Not sure what you'e expecting to see though. Looks normal to me.

Yep in fact is fine, but I remembar Lion installer where the ProductVersion key was like that:

 

ProductVersion= "10.7.1 "  

 

With an additional space to the end of the string.

 

The code compare the MatchOS string by splitting in sub string when a "," is found", but this does not happen when no separators are found and so use the entire string as to find a match. 

Later in the code this is again split i their components separated by ".", so the array will come like that:

 

 

10

7

x

.. the same for the ProductVersion key:

 

10

7

1

 

So the code compare index 0 of MatchOS key (10) if equal to ProductVersion index 0 (10)

.. same for the index 1:

compare index 1 of MatchOS key (7) if equal to ProductVersion index 1 (7)

 

if MatchOS index 2, ie x the function return as valid because should not compare index 2 of ProductVersion since the first two are already equal.

 

There's only a different approach loading the string in case of only one Os is given and maybe we should check for the null terminated character or something else. Also why I ask for the SystemVersion.plist, considering that here works. Ok I have a few patches....

BTW is a new patch and need to be well debug

Guys, making a new command line with refactored code where you can pass as argument your config.plist and w/o need to boot with modified Clover.. testers needed. Give me 20 minutes

Usage: 

MatchOS_test /path/to/a/config.plist

Os version is taken from your System. Just need a config with some MatchOS entries.

 

That's why I think is a memory problem:

1) build the command and run it. Save the output.

2) open the project and uncomment line 65:

  //deallocMatchOSes(mos);

   to be:

  deallocMatchOSes(mos);

 

3) build again and re-run the command

 

4) Compare outputs and let me know.

MatchOS_test.zip

The output from both is the same here. I ran it in El Capitan so I could boot into it with MatchOS set in the config. Strangely, it says that the first patch is disabled even though it should match.

-------------------
MatchOS = 10.11.x
Patch 0 with comment (HD4000 Boot Fix) is Disabled for 10.11.5
-------------------
MatchOS = 10.12.x
Patch 1 with comment (HD4000 Boot Fix (10.12)) is Disabled for 10.11.5
-------------------

Guys, making a new command line with refactored code where you can pass as argument your config.plist and w/o need to boot with modified Clover.. testers needed. Give me 20 minutes

Usage: 

MatchOS_test /path/to/a/config.plist

Os version is taken from your System. Just need a config with some MatchOS entries.

 

That's why I think is a memory problem:

1) build the command and run it. Save the output.

2) open the project and uncomment line 65:

  //deallocMatchOSes(mos);

   to be:

  deallocMatchOSes(mos);

 

3) build again and re-run the command

 

4) Compare outputs and let me know.

2 such

Archive.zip

Here is:

 

not freed:

-------------------
MatchOS = 10.11.6,10.12.x
Patch 0 with comment (Enable TRIM for SSD) is Enabled for 10.11.6
-------------------
MatchOS = 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x,10.12.x
Patch 1 with comment (remove usb limit) is Enabled for 10.11.6
-------------------
MatchOS = 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x
Patch 2 with comment (Zeroing 11d41983 codec) is Enabled for 10.11.6
-------------------
MatchOS = 10.12.x
Patch 3 with comment (Zeroing 11d4198a codec (patched by AppleHDA Patcher.app)) is Disabled for 10.11.6
-------------------
Patch 4 with comment (Zeroing 11d41984 codec (patched by AppleHDA Patcher.app)) has no MatchOS entry..
-------------------
Patch 5 with comment (Patching 11d4198b with 111d76e0 codec (patched by AppleHDA Patcher.app)) has no MatchOS entry..
-------------------

Freed:

-------------------
MatchOS = 10.11.6,10.12.x
Patch 0 with comment (Enable TRIM for SSD) is Enabled for 10.11.6
-------------------
MatchOS = 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x,10.12.x
Patch 1 with comment (remove usb limit) is Enabled for 10.11.6
-------------------
MatchOS = 10.7.x,10.8.x,10.9.x,10.10.x,10.11.x
Patch 2 with comment (Zeroing 11d41983 codec) is Enabled for 10.11.6
-------------------
MatchOS = 10.12.x
Patch 3 with comment (Zeroing 11d4198a codec (patched by AppleHDA Patcher.app)) is Enabled for 10.11.6
-------------------
Patch 4 with comment (Zeroing 11d41984 codec (patched by AppleHDA Patcher.app)) has no MatchOS entry..
-------------------
Patch 5 with comment (Patching 11d4198b with 111d76e0 codec (patched by AppleHDA Patcher.app)) has no MatchOS entry..
-------------------

:worried_anim: look at "Patch 3" of both

2 such

You should have MatchOS set in each KextsToPatch dictionary:

<dict>
		<key>MatchOS</key>
		<string>10.7.x,10.8.x,10.9.x,10.10.x,10.11.x</string>
		<key>Comment</key>
		<string>Zeroing 11d41983 codec</string>
		<key>Find</key>
		<data>gxnUEQ==</data>
		<key>Name</key>
		<string>AppleHDA</string>
		<key>Replace</key>
		<data>AAAAAA==</data>
	</dict>

otherwise we cannot see nothing. :wink_anim:

EDIT just make a copy of a config plist to your Desktop and play with it.. no need to be your real one..


 

The output from both is the same here. I ran it in El Capitan so I could boot into it with MatchOS set in the config. Strangely, it says that the first patch is disabled even though it should match.

-------------------
MatchOS = 10.11.x
Patch 0 with comment (HD4000 Boot Fix) is Disabled for 10.11.5
-------------------
MatchOS = 10.12.x
Patch 1 with comment (HD4000 Boot Fix (10.12)) is Disabled for 10.11.5
-------------------

Please make it like that:

 

VOID deallocMatchOSes(struct MatchOSes *s)

{

    return;

    INTN i;

    assert(s != NULL);

    

    for (i = 0; i < s->count; i++) {

        FreePool(s->array);

    }

    

    FreePool(s);

}

  • Like 1

Please make it like that:

 

VOID deallocMatchOSes(struct MatchOSes *s)

{

    return;

    INTN i;

    assert(s != NULL);

    

    for (i = 0; i < s->count; i++) {

        FreePool(s->array);

    }

    

    FreePool(s);

}

 

No difference. I'll try it in Sierra.

 

Update: No difference in Sierra. Still says that both patches are Disabled.

  • Like 1

Confirm that is happened with only one OS set and not if you do like that? --> MatchOS = 10.11.x,10.13.x

..that means that only one token is not allocated correctly an return true always allowing the patch due to this:

   if (!MatchOS || !CurrOS) {

       return TRUE; //undefined matched corresponds to old behavior

   }

 

MatchOS is NULL

×
×
  • Create New...