Jump to content
30960 posts in this topic

Recommended Posts

hey guys my question is, does  clover rev 4297 device injection work in legacy mode bios machines? or does it only work for UEFI?

 

I'm trying to use clover in legacy mode on a bios only machine but I am having an issue. fake id for my devices does not work. I am trying to spoof intel lan and an ati card but osx still sees my old id's for my devices. I have enabled all relevant clover ACPI patches to allow clover to inject properties like fix lan and fix display and the others.

I am trying to spoof 0x68D81002 (HD5670 Redwood XT rv830) as mine is 0x68C81002 FireproV4800 Redwood XT rv830) I have to manually add my ATI card id's into there respective kexts plists but thats not enough to trigger the frame buffer to load as clovers FB edits are also not working in legacy mode neither is kext to patch plist edits as I also tried that method before editing the kexts in SLE. clover is on root of the hfs partition so dumping will not work incase your going to ask for them. so the issue is pretty much global injection is not functioning also sip is fully disabled. I tried booting maverick, Sierra and high Sierra none of clovers device injections worked in any of the os's

 

I was curious about what you said, because I am currently using a Saphire Radeon HD 5570 that is native and
works without doing anything but I have 4 other ATI 5450 and I was wondering if it still works on the Fake ID Clover
key> ATI </ key>
<String> 0x68E01002 </ string>

 

And yes it works very well
Clover Legacy but in ESP
 

captur80.png

so your machine is bios only? I see you have opti 790 my issue is on a precision T7500 workstation. clover installed /EFI on root of my High Sierra drive on a 4k sector hdd. are you using an older version of clover?

I am use latest Clover 4297

Edit ****

Did you try this FakeID in Clover 

0x68E01002

hey guys my question is, does  clover rev 4297 device injection work in legacy mode bios machines? or does it only work for UEFI?

 

I'm trying to use clover in legacy mode on a bios only machine but I am having an issue. fake id for my devices does not work. I am trying to spoof intel lan and an ati card but osx still sees my old id's for my devices. I have enabled all relevant clover ACPI patches to allow clover to inject properties like fix lan and fix display and the others.

I am trying to spoof 0x68D81002 (HD5670 Redwood XT rv830) as mine is 0x68C81002 FireproV4800 Redwood XT rv830) I have to manually add my ATI card id's into there respective kexts plists but thats not enough to trigger the frame buffer to load as clovers FB edits are also not working in legacy mode neither is kext to patch plist edits as I also tried that method before editing the kexts in SLE. clover is on root of the hfs partition so dumping will not work incase your going to ask for them. so the issue is pretty much global injection is not functioning also sip is fully disabled. I tried booting maverick, Sierra and high Sierra none of clovers device injections worked in any of the os's

 

Make a clover fat32 USB and then you can get dumps/log. Also look at your ioreg, it will show you if it's injecting the fake ids or not. Generally, it's best to install to a GPT disk EFI system partition even when legacy booting.

chris I tried the id but nothing happened

 

apianti I took your suggestion and mounted EFI then transferred clover over to it I was able to get a preboot log it looks a bit weird clover might be duplicating info again. but I see one part that shows Chris's device id's but then it looks like clover resets it to my cards default twords the end. you have a better understanding maybe you can check.

preboot.log.zip

chris I tried the id but nothing happened

 

apianti I took your suggestion and mounted EFI then transferred clover over to it I was able to get a preboot log it looks a bit weird clover might be duplicating info again. but I see one part that shows Chris's device id's but then it looks like clover resets it to my cards default twords the end. you have a better understanding maybe you can check.

 

The only thing in your log is some failed patches because you apparently tried to use <string> but that uses hexadecimal encoding of the search/replace, not ASCII/Unicode strings (or <data> I can't remember which but the other is base64 anyway):

1:088  0:000  KextsToPatch: 2 requested
1:088  0:000   - [00]: com.apple.kext.AMD5000Controller (Firepro v4800 as HD5670)[ERROR] bin2hex '0x68D81002' syntax error
1:088  0:000  [ERROR] bin2hex '0x68C81002' syntax error
1:088  0:000   - invalid Find/Replace data - skipping!
1:088  0:000   - [01]: com.apple.kext.AMDLegacySupport (Firepro v4800 as HD5670)[ERROR] bin2hex '0x68D81002' syntax error
1:088  0:000  [ERROR] bin2hex '0x68C81002' syntax error
1:088  0:000   - invalid Find/Replace data - skipping!

Are you sure you actually are using fake id? I don't know if it worked unless you look at your ioreg.

I was using the plist find and replace option in kext to patch but maybe it does not work even though I have clover force loading them. but that was just a test also to try and add my device id to amd5000controller.kext and amdlegacysupport.kext. its simpler to probably just replace the card with one that works native and let it be. I tried 3 other graphics cards that "just work" this one should have worked with injection but nothings perfect right.

Correct. Theres another fork with EmuVariable support. Go share with him :)

 

i checked it. there is no reset function for Emuvariabled nvram

 

I think I found the problem:

 

https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/Protocols/EmuVariableUefi/EmuVariable.c#l1125

 

Not sure that check is needed at all. I think the first two ifs there should not be present and should just be the else part.

 

EDIT: VariableName[0] can never be zero because it's always checked before that function is even called. Plus why on earth couldn't we change variables that are both RT and BT. That's an illogical check.

EDIT2: Plus you can't have a zero length VariableName, it violates the spec.

EDIT3: Should be just this

EDIT4: Oops, forgot about runtime excluding BT only variables, so it was kinda there but needed corrected.

EDIT5: Actually forgot that GetNextVariable starts with empty string, so the line should just be changed to:

if (!VariableClassAtRuntime() || ((Variable[Index]->Attributes & EFI_VARIABLE_RUNTIME_ACCESS) != 0)) {

EDIT6: Jesus I should just think before typing stuff and save myself some time.

EDIT7: I just fixed it myself.... r4298.

 

i implemented nvram reset feature.

i tested various test. as result,

RT/BT vals control is not good on EmuVariable system to remove Variable. also clover always load nvram.plist file. RT/BT is temp control.

still remains nvram.plist ESP/MBR. so remove nvram.plist and soft reboot, load clover gui again. its best for EmuVariable system.

 

now, remains cosmetic and native support nvram system

soon i will commit.

 

thanks

  • Like 2

Ideas about what? You didn't provide information.

using clover 4233 with xpc patches all ok.. updated to 4297 no more able to boot/ hang at ACPM kext 60 seconds. what information do I need to provide? its something changed from 33 to 97.

using clover 4233 with xpc patches all ok.. updated to 4297 no more able to boot/ hang at ACPM kext 60 seconds. what information do I need to provide? its something changed from 33 to 97.

Upload your preboot.log

 

나의 LG-F800S 의 Tapatalk에서 보냄

  • Like 1

0:138 0:000 Custom boot CUSTOM_BOOT_DISABLED (0x0)

0:138 0:000 KernelXCPM: enabled

 

try to turn off KernelXCPM in config.plist

Turned. Same

0:138 0:000 Custom boot CUSTOM_BOOT_DISABLED (0x0)

0:138 0:000 KernelXCPM: enabled

 

try to turn off KernelXCPM in config.plist

How to turn off? KernelXCPM=No?

Well, with

<key>KernelXCPM</key>
<false/> 

stuck in PCI configuration begin43b8e62472ca05f5f3a41991c3b28c31.jpg

 

 

 

what's happening with clover? some time after every clover update pc won't boot.... fishy

i checked it. there is no reset function for Emuvariabled nvram

 

 

i implemented nvram reset feature.

i tested various test. as result,

RT/BT vals control is not good on EmuVariable system to remove Variable. also clover always load nvram.plist file. RT/BT is temp control.

still remains nvram.plist ESP/MBR. so remove nvram.plist and soft reboot, load clover gui again. its best for EmuVariable system.

 

now, remains cosmetic and native support nvram system

soon i will commit.

 

thanks

 

So the variables still are not being deleted after I changed that code? I would just go through and put some DBG messages all through the course of deleting the variable and see where it's failing then. It has to be somewhere in SetVariable or FindVariable or UpdateVariable or UpdateVariableInfo.... If EmuVariable is present then there is global variable that says so, so then remove all nvram.plist when you do this reset, otherwise they just will be reloaded again, if present.

 

EDIT: And new one will be created after next logout.

EDIT2: It may also be worth noting that there is situation here where normal nvram could have these values and be being transferred into EmuVariable, since nvram works before exit boot services. It might also be good to temporarily disable EmuVariable if it's enabled and reset as the real nvram as well, then reenable it.

 

Well, with

<key>KernelXCPM</key>
<false/> 

stuck in PCI configuration begin

 

what's happening with clover? some time after every clover update pc won't boot.... fishy

 

Stuck here means graphics issue.

I was using the plist find and replace option in kext to patch but maybe it does not work even though I have clover force loading them. but that was just a test also to try and add my device id to amd5000controller.kext and amdlegacysupport.kext. its simpler to probably just replace the card with one that works native and let it be. I tried 3 other graphics cards that "just work" this one should have worked with injection but nothings perfect right.

 

You don't have a correct format for the patching search and replace strings, that's why those errors are appearing there. There is an actual fake id key that you can set to fake the id without patching, you can just set that. If you want to patch you need to convert the ASCII/Unicode text to hexadecimal or base64 encoding, yes what you had in there is a hexadecimal number but it's encoded in ASCII, not hexadecimal encoding. Just use base64, look online for ASCII to base64 converter, convert the strings correctly to base64, and if you are using <string> tag change to <data> or if <data> change to <string>. Then the patch will work.

So the variables still are not being deleted after I changed that code? I would just go through and put some DBG messages all through the course of deleting the variable and see where it's failing then. It has to be somewhere in SetVariable or FindVariable or UpdateVariable or UpdateVariableInfo.... If EmuVariable is present then there is global variable that says so, so then remove all nvram.plist when you do this reset, otherwise they just will be reloaded again, if present.

 

EDIT: And new one will be created after next logout.

EDIT2: It may also be worth noting that there is situation here where normal nvram could have these values and be being transferred into EmuVariable, since nvram works before exit boot services. It might also be good to temporarily disable EmuVariable if it's enabled and reset as the real nvram as well, then reenable it.

 

 

Stuck here means graphics issue.

 

You don't have a correct format for the patching search and replace strings, that's why those errors are appearing there. There is an actual fake id key that you can set to fake the id without patching, you can just set that. If you want to patch you need to convert the ASCII/Unicode text to hexadecimal or base64 encoding, yes what you had in there is a hexadecimal number but it's encoded in ASCII, not hexadecimal encoding. Just use base64, look online for ASCII to base64 converter, convert the strings correctly to base64, and if you are using <string> tag change to <data> or if <data> change to <string>. Then the patch will work.

Stuck here means graphics issue? could you be more explicit please. take note that with clover 4233 no such thing 

Stuck here means graphics issue? could you be more explicit please. take note that with clover 4233 no such thing

Upload your config file except private keys.

 

나의 LG-F800S 의 Tapatalk에서 보냄

So the variables still are not being deleted after I changed that code? I would just go through and put some DBG messages all through the course of deleting the variable and see where it's failing then. It has to be somewhere in SetVariable or FindVariable or UpdateVariable or UpdateVariableInfo.... If EmuVariable is present then there is global variable that says so, so then remove all nvram.plist when you do this reset, otherwise they just will be reloaded again, if present.

 

EDIT: And new one will be created after next logout.

EDIT2: It may also be worth noting that there is situation here where normal nvram could have these values and be being transferred into EmuVariable, since nvram works before exit boot services. It might also be good to temporarily disable EmuVariable if it's enabled and reset as the real nvram as well, then reenable it.

 

yes. can't still delete variables. Set/Find/Update is good but there is still nvram on esp/mac root, clover always load again next boot. after reset(Set/Find/Update if works), always delete nvram.plist as manual on emulvariable system.

so i selected nvram delete method, and tested it. shown good result. but remain little issue.

Stuck here means graphics issue? could you be more explicit please. take note that with clover 4233 no such thing 

 

Things change, man. Could be any number of reasons. You don't need to upgrade every time if you have working stuff. There are new features and fixes of previous stuff that was broken, so maybe you have something enabled that is now working but wasn't before, or vice versa. Hard to say without config.plist and boot.log.

 

yes. can't still delete variables. Set/Find/Update is good but there is still nvram on esp/mac root, clover always load again next boot. after reset(Set/Find/Update if works), always delete nvram.plist as manual on emulvariable system.

so i selected nvram delete method, and tested it. shown good result. but remain little issue.

 

Dump the nvram with EmuVariable enabled and see what comes out, are those keys present? There's something going on, it should be deleting them, otherwise that's a problem, means that it probably isn't deleting any variables... Also I was saying you can automatically delete all those nvram.plist when doing this reset because there is a variable that says EmuVariable was loaded and is enabled. No need to make it a manual thing.

Upload your config file except private keys.

 

나의 LG-F800S 의 Tapatalk에서 보냄

 

yes. can't still delete variables. Set/Find/Update is good but there is still nvram on esp/mac root, clover always load again next boot. after reset(Set/Find/Update if works), always delete nvram.plist as manual on emulvariable system.

so i selected nvram delete method, and tested it. shown good result. but remain little issue.

Sherlocks apianti thanks in advance

×
×
  • Create New...