tluck Posted May 2, 2022 Share Posted May 2, 2022 (edited) 11 hours ago, Slice said: Tell me something more. Is there system-id changed after changing the Clover version? yes. System-ID: old vs new - seems there is some swapping going on. not good! 3 variables changed actually. i printed out key items with iMessageDebug... before if I boot the system with OC or Clover - identical. but now clover is different. Note: i would take system_ID after booting with clover and provide it for my OC config. so i presume the other variables shown here have a dependency on system-ID $ diff im_old.txt im_new.txt 8c8 < Hardware UUID: 32A12892-FA65-5EF5-9623-C62A7F2CDABD --- > Hardware UUID: 3759A000-6E97-545E-BBBC-E88DB235CB34 10c10 < System-ID: ADC4A801-5149-11CB-94D0-CE1B8C4C5D31 --- > System-ID: 01A8C4AD-4951-CB11-94D0-CE1B8C4C5D31 15c15 < Fyp98tpgj: 736fe3ae7cd2d031bc44bd2701aa733715 --- > Fyp98tpgj: 8c280c999254e1e95a419c2aea6fb89182 Edited May 2, 2022 by tluck 1 Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted May 2, 2022 Share Posted May 2, 2022 (edited) On 5/1/2022 at 5:22 PM, MifJpnAlphaPlus said: Hello. After booting, I was told that there was a problem with my computer, I entered the setting Apple ID again and noticed the following. Part of the interpretation of System-ID is as if it were little-endian. Please help me. Thank you. I have battled with this issue most of the weekend. I had to enter and verify my Password time and time again after switching back and forth from Clover to OC and vice versa even though the data in both configs was Identical. I've used them for over a year before that without issues. Here's how I fixed it: https://github.com/5T33Z0/Clover-Crate/tree/main/OC2Clover#troubleshooting Edited May 2, 2022 by 5T33Z0 Link to comment Share on other sites More sharing options...
MifJpnAlphaPlus Posted May 2, 2022 Share Posted May 2, 2022 58 minutes ago, 5T33Z0 said: I have battled with this issue most of the weekend. I had to enter and verify my Password time and time again after switching back and forth from Clover to OC and vice versa even though the data in both configs was Identical. I've used them for over a year before that without issues. Here's how I fixed it: https://github.com/5T33Z0/Clover-Crate/tree/main/OC2Clover#troubleshooting Thank you for always being so kind and creating a page of summaries. I actually noticed this first because of the differences with OpenCore. Now that I know where Endian has changed, I was able to put it back together anyway. It's good to know that I didn't have to use a new number since TimeMachiene will no longer be available. Thank you so much. Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted May 2, 2022 Share Posted May 2, 2022 @MifJpnAlphaPlus The big question is: what caused the change of Endianness. Was it Clover or OpenCore? And why does it only happen to the System-ID and only parts of it and not the whole string? Weird. Link to comment Share on other sites More sharing options...
Slice Posted May 2, 2022 Share Posted May 2, 2022 19 minutes ago, 5T33Z0 said: @MifJpnAlphaPlus The big question is: what caused the change of Endianness. Was it Clover or OpenCore? And why does it only happen to the System-ID and only parts of it and not the whole string? Weird. Obviously the cause of the change is the commit by Jief_Machak. I think I will fix the endianness so do not account current Clover as a final. 2 1 Link to comment Share on other sites More sharing options...
MifJpnAlphaPlus Posted May 2, 2022 Share Posted May 2, 2022 25 minutes ago, Slice said: Obviously the cause of the change is the commit by Jief_Machak. I think I will fix the endianness so do not account current Clover as a final. Thanks for the quick reply. Maybe here he is generalizing smUUID as XString8 class to EFI_GUID class. https://github.com/CloverHackyColor/CloverBootloader/commit/1ea4700bd6eb4252555537adb4204339903ad7c0 So I feel that there might have been something that could not be generalized as smUUID. It will be fixed soon, I think. Thanks again. 1 Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted May 2, 2022 Share Posted May 2, 2022 (edited) @MifJpnAlphaPlus From the timeframe, I think this could be the commit that started the problems on my systems as well. Edited May 2, 2022 by 5T33Z0 Link to comment Share on other sites More sharing options...
MifJpnAlphaPlus Posted May 2, 2022 Share Posted May 2, 2022 Spoiler rEFIt_UEFI/Platform/smbios.cpp 518: //// XString8 g = GuidBeToXString8(SmbiosTable.Type1->Uuid); // should we use the "variant" field to know if it's LE or BE 519: // XString8 g = GuidLEToXString8(SmbiosTable.Type1->Uuid); // 2021-04 : this is a bug, the UUID will be swapped (read as a LE, sent as a BE). I leave for now because it doesn't really matter. 520: return SmbiosTable.Type1->Uuid; Sorry if I am wrong. From what I can see here, he has turned LittleEndian into a generalized EFI_GUID class as is, so I think this change is correct. What I think is happening here, as others have said, is that it happened when we changed OpenCore. I am very sorry because I am guessing, but it says in the code that the sm-UUID is passed in BE=BigEidian later. Could it be that it is OpenCore that is passing it? I feel like maybe it is not being passed in BigEndian when it is passed. If I can do it, I will try reading it some more. Thank you so much. Link to comment Share on other sites More sharing options...
MifJpnAlphaPlus Posted May 2, 2022 Share Posted May 2, 2022 I'm a bit curious about something. ”// macOs treats all guids as BE guids, regardless of variant.” It says. However, it eliminates the conversion to BigEndian. Sorry, I am not sure what it means. How to define smUUID is not clear to me. Please help me. https://github.com/CloverHackyColor/CloverBootloader/commit/1ea4700bd6eb4252555537adb4204339903ad7c0#diff-4a0d88485435414cd08a60877d8d85a22d6a18c8d96cf19ae7fbecb43a77cc33L546-R549 Link to comment Share on other sites More sharing options...
Stefanalmare Posted May 2, 2022 Share Posted May 2, 2022 6 hours ago, 5T33Z0 said: I have battled with this issue most of the weekend. I had to enter and verify my Password time and time again after switching back and forth from Clover to OC and vice versa even though the data in both configs was Identical. I've used them for over a year before that without issues. Here's how I fixed it: https://github.com/5T33Z0/Clover-Crate/tree/main/OC2Clover#troubleshooting ROM îs not necessary, UseMacAddr0 it works just fin. Also I never used Update Firmware Only. Rest is like in your tutorial and is what I did from some time with 7 hacks I play around, different tipes, always latest OS, OC, Clover commits. Link to comment Share on other sites More sharing options...
Slice Posted May 3, 2022 Share Posted May 3, 2022 I restored old smUUID behavior and returned to old AppleID. commit 04e42c09e 1 Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted May 3, 2022 Share Posted May 3, 2022 (edited) @Slice @Jief_Machak There's still something wrong with commit 04e42c09e. This is the data that is entered in the Clover Config. It's the same as in my OpenCore config: After rebooting with CLover, I am being asked for AppleID Password again. Hackintool Shows Data, that I didn't enter. It looks like Clover is using the Custom UUID as System ID and not as Hardware ID and also reverses the Endianness of the first 2 groups. The original System ID isn't used at all: On my 2nd test, I left the Custom UUID empty. Then the System ID is used, but the first 3 pairs of digits are reversed: After reverting to the release version of r5146 everything is working as expected. Edited May 4, 2022 by 5T33Z0 Link to comment Share on other sites More sharing options...
MacKonsti Posted May 3, 2022 Share Posted May 3, 2022 Hi everyone! Sorry @5T33Z0 and @Slice so is r5146 buggy then, or the subsequent commits to this official release? Just to avoid confusion for the rest of us users that do not compile Clover via Builder but rely on official GitHub releases of yours. Thank you for your confirmation. Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted May 3, 2022 Share Posted May 3, 2022 (edited) @MacKonsti This issue only affects beta releases you find in the "Action" Section of the github repo, specifically the ones since Replace EFI_GUID by a class EFI_GUID. Edited May 3, 2022 by 5T33Z0 Link to comment Share on other sites More sharing options...
chris1111 Posted May 3, 2022 Share Posted May 3, 2022 @Slice thanks latest commit seems to have fixed the Fletch OpenCorePkg 1 Link to comment Share on other sites More sharing options...
y010204025 Posted May 3, 2022 Share Posted May 3, 2022 @Slice,Hi, Slice, I noticed that CLOVER uses rEFIt_uefi. Whether the clover switches from rEFIt to rEFInd again, I noticed that rEFIt has stopped updating for a period of time, and the maintenance of rEFInd is more active, and it has added a lot of modern characteristics. In addition, there is a rEFIndPlus, which seems to have some repair for MacOS, adding some additional functions, which may have some good ideas as a reference.https://github.com/dakanji/refindplus Link to comment Share on other sites More sharing options...
Matgen84 Posted May 3, 2022 Share Posted May 3, 2022 49 minutes ago, chris1111 said: @Slice thanks latest commit seems to have fixed the Fletch OpenCorePkg As @chris1111 says latest commit fix the fletch sud-module OpencorePKG. CloverconfigPlistValidator can't always be build. OutPut result Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted May 3, 2022 Share Posted May 3, 2022 (edited) 15 hours ago, Stefanalmare said: ROM îs not necessary, UseMacAddr0 it works just fin. Also I never used Update Firmware Only. Rest is like in your tutorial and is what I did from some time with 7 hacks I play around, different tipes, always latest OS, OC, Clover commits. ROM is a necessary value. It's just a question of where to get it from. If you select "MacAddr0" it uses the MAC Address of your Ethernet Controller. Otherwise you can enter a fake one and that's what the field is for. You need to use "Update Firmware only" if you're working with an old config. If the firmeware dates back to far you will get an error message about outdated SMC firmware when trying to install macOS and the installer will just quit. So just to be safe, it's wise ti use this function. Edited May 3, 2022 by 5T33Z0 Link to comment Share on other sites More sharing options...
MifJpnAlphaPlus Posted May 3, 2022 Share Posted May 3, 2022 (edited) Spoiler 9 hours ago, 5T33Z0 said: @Slice There's still something wrong with commit 04e42c09e. This is the data that is entered in the Clover Config. It's the same as in my OpenCore config: After rebooting with CLover, I am being asked for AppleID Password again. Hackintool Shows Data, that I didn't enter. It looks like Clover is using the Custom UUID as System ID and not as Hardware ID and also reverses the Endianness of the first 2 groups. The original System ID isn't used at all: On my 2nd test, I left the Custom UUID empty. Then the System ID is used, but the first 3 pairs of digits are reversed: After reverting to the release version of r5146 everything is working as expected. @5T33Z0 Me too・・・ Thank you so very much @Slice. I am very sorry to show you my dirty fork source(in git-hub) as I don't know what @Jief_Machak's intentions are. From my imagination, I would think that at some stage, smUUID would use the takeValueFromBE method of the EFI_GUID class in <Guid++.h> to swap the Endian. I could not understand how the takeValueFromBE method is implemented. (It looks like it is written the same way as above.) So I used XString8 GuidBeToXString8(const EFI_GUID& Guid) in CloverBootloader/rEFIt_UEFI/Platform/guid.cpp, which I know how it works well. Tracing back through the flow of changes, in void PatchTableTypeType1(const SmbiosInjectedSettings& smbiosSettings) in rEFIt_UEFI/Platform/smbios.cpp, we previously had StrToGuidBE( smbiosSettings. SmUUID, &SmUUID); and it seemed to be swapping. So I looked at swapping Endian in this part of the DGB(...) output, and CopyMem seemed to be working, but in the end it didn't work. I think it is here that the SmUUID enters the structure from the flow, but ・・・・ is kind of strange. I'm not familiar with C++, so I'm just an amateur who wants to use cast operators with strict types like in C. So, I was just imitating what I saw. I'm sorry. Reading it is a good way to learn. For now, I'm going to try it if I can think of something. Translated with www. DeepL.com/Translator (free version) Edited May 3, 2022 by MifJpnAlphaPlus 1 Link to comment Share on other sites More sharing options...
Slice Posted May 3, 2022 Share Posted May 3, 2022 12 hours ago, 5T33Z0 said: @Slice There's still something wrong with commit 04e42c09e. This is the data that is entered in the Clover Config. It's the same as in my OpenCore config: After rebooting with CLover, I am being asked for AppleID Password again. Hackintool Shows Data, that I didn't enter. It looks like Clover is using the Custom UUID as System ID and not as Hardware ID and also reverses the Endianness of the first 2 groups. The original System ID isn't used at all: On my 2nd test, I left the Custom UUID empty. Then the System ID is used, but the first 3 pairs of digits are reversed: After reverting to the release version of r5146 everything is working as expected. Look for config.plist->SystemParameters->InjectSystemID=YES or NO It will influence on this case. 6 hours ago, y010204025 said: @Slice,Hi, Slice, I noticed that CLOVER uses rEFIt_uefi. Whether the clover switches from rEFIt to rEFInd again, I noticed that rEFIt has stopped updating for a period of time, and the maintenance of rEFInd is more active, and it has added a lot of modern characteristics. In addition, there is a rEFIndPlus, which seems to have some repair for MacOS, adding some additional functions, which may have some good ideas as a reference.https://github.com/dakanji/refindplus This is just an advertisement of rEFind. It appears after Clover and uses our technologies. But we live in different worlds. Clover is for Hackintosh while rEFInd is for native Mac. 1 Link to comment Share on other sites More sharing options...
tluck Posted May 5, 2022 Share Posted May 5, 2022 On 5/2/2022 at 8:40 PM, Slice said: I restored old smUUID behavior and returned to old AppleID. commit 04e42c09e compiles and works great. no issues here. thanks. 1 1 Link to comment Share on other sites More sharing options...
MifJpnAlphaPlus Posted May 5, 2022 Share Posted May 5, 2022 (edited) 16 hours ago, tluck said: compiles and works great. no issues here. thanks. @tluck. It was good. Here is a summary of the problems. The release version is as follows. (31187f6e1):InjectSystemID=ture Spoiler 2022-05-05_22-28_CLOVERX64.31187f6e1.efi.log The current version is as follows. (04e42c09e):InjectSystemID=True Spoiler 2022-05-05_22-13_CLOVERX64.04e42c09e.efi.log CloverV2-5146.zip @Slice has gone to a lot of trouble to fix this, but for some reason I can't get the DGB=got LE smUUID to show up. Is it a different Type of SMBIOS? config.plist Help me please. each version,InjectSystemID=No Spoiler config.plist I fixed MLB, firmware, and other minor details, but it seems to be the same. (Sad) newconfig.plist Edited May 6, 2022 by MifJpnAlphaPlus 1 Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted May 6, 2022 Share Posted May 6, 2022 Some thoughts about some "defaults" of Clover: In the zip package, why is FSInject still present in the Drivers/UEFI folder when OpenRuntime handles Kext injetion now? This is only required when using Clover ≤ r5123 with old Aptio memory fixes which are no longer supported. The default set of drivers is pretty much useless for UEFI systems. The default set of drivers should be: ApfsDriverLoader.efi, VBoxHfs.efi, and OpenRuntime.efi The sample config, especially the ACPI section is a complete mess as well. Link to comment Share on other sites More sharing options...
Slice Posted May 6, 2022 Share Posted May 6, 2022 4 hours ago, 5T33Z0 said: Some thoughts about some "defaults" of Clover: In the zip package, why is FSInject still present in the Drivers/UEFI folder when OpenRuntime handles Kext injetion now? This is only required when using Clover ≤ r5123 with old Aptio memory fixes which are no longer supported. The default set of drivers is pretty much useless for UEFI systems. The default set of drivers should be: ApfsDriverLoader.efi, VBoxHfs.efi, and OpenRuntime.efi The sample config, especially the ACPI section is a complete mess as well. Thanks for the notes. I will think about. As far as I remember there are drivers that installed by default and drivers absent by default. I will check this. FSInject is obsolete for new systems but it still can be used for 10.7.5 if I am not wrong. config-sample contains all possible keys but mostly commented out to be used only by clever users. 3 Link to comment Share on other sites More sharing options...
Slice Posted May 6, 2022 Share Posted May 6, 2022 7 hours ago, 5T33Z0 said: The default set of drivers is pretty much useless for UEFI systems. The default set of drivers should be: ApfsDriverLoader.efi, VBoxHfs.efi, and OpenRuntime.efi I still will also recommend drivers to be default: Fat.efi - it improves AMI UEFI embedded FAT32 drivers used for EFI partition. The FAT32 file system is very fragile. Our Fat.efi driver much better then one in UEFI BIOS. SMCHelper.efi if you are using FakeSMC and not using VirtualSMC. Anyway the author of VirtualSMC claims the driver is not compatible with Clover. FakeSMC is. EnglishDxe.efi - it will provide good UnicodeCollation protocol used by Shell.efi. Sometimes this protocol absent or has bad realisation. It is safe driver even if present twice it will not break anything. 1 Link to comment Share on other sites More sharing options...
Recommended Posts