kushwavez Posted March 5, 2021 Share Posted March 5, 2021 On 3/3/2021 at 7:13 PM, Slice said: First one <key>RenameDevices</key> <dict> <key>_SB.PCI0.RP09._PS0</key> <string>XPS0</string> </dict> Same for others but look your DSDT for exact names/pathes. Count and Skip are not correct because we must rename all occurence of the name. Long path in Clover guaranties that rename will be only where needed. Thanks! that did the trick! My eGPU over Thunderbolt 3 is working now finally I still need to tweak it tho, now the eGPU only showing up as an internal PCIe device, and it says Thunderbolt 3 driver not found. This isn't a big problem, but because of that I can't select "Prefer eGPU" option on apps and I have to connect a monitor to the card for apps to utilise the card. 2 Link to comment Share on other sites More sharing options...
Slice Posted March 5, 2021 Share Posted March 5, 2021 11 hours ago, jsl2000 said: Thanks. I found Clover 5127 can boot Big Sur without such a crash on "Option" selection. OK. Test please this version. I want a log if a crash CLOVERX64.efi.zip Link to comment Share on other sites More sharing options...
jsl2000 Posted March 5, 2021 Share Posted March 5, 2021 (edited) 3 hours ago, Slice said: OK. Test please this version. I want a log if a crash CLOVERX64.efi.zip 646.87 kB · 1 download Thank you very much for your patience and kind help. No more crash with this 5131 version now ! Edited March 5, 2021 by jsl2000 1 Link to comment Share on other sites More sharing options...
Slice Posted March 6, 2021 Share Posted March 6, 2021 Thank, now I know the problem. 1 Link to comment Share on other sites More sharing options...
Popular Post Slice Posted March 6, 2021 Popular Post Share Posted March 6, 2021 We celebrate 10th anniversary of Clover project! http://web.archive.org/web/20140317061109/http://www.projectosx.com/forum/lofiversion/index.php/t2008-0.html 19 1 Link to comment Share on other sites More sharing options...
Jief_Machak Posted March 6, 2021 Share Posted March 6, 2021 On 2/28/2021 at 8:37 AM, Slice said: Install OpenRuntime.efi. @Jief_Machak See. For legacy boot we lived without AptioMemoryFix and all was good. Then we switch to OpenRuntime that does almost same functions switched on-off by Quirks. Then we switch to Clover+OC and now legacy boot can't works without OpenRuntime. Red Screen panic. Why? The problem seems related to ConsoleGop? Can we reproduce this in QEMU ? Link to comment Share on other sites More sharing options...
eSaF Posted March 6, 2021 Share Posted March 6, 2021 1 hour ago, Slice said: We celebrate 10th anniversary of Clover project! Quite an achievement despite the many Big Sur obstacles along the way. A project to be proud of, well done to all the Devs who made it possible. Clover is still alive!!!!!!! 4 Link to comment Share on other sites More sharing options...
blackosx Posted March 6, 2021 Share Posted March 6, 2021 2 hours ago, Slice said: We celebrate 10th anniversary of Clover project! Well done Slice. Amazing really! 4 Link to comment Share on other sites More sharing options...
Sherlocks Posted March 6, 2021 Share Posted March 6, 2021 We celebrate 10th anniversary of Clover project!http://web.archive.org/web/20140317061109/http://www.projectosx.com/forum/lofiversion/index.php/t2008-0.html thank you for support and hard work!!Sent from my SM-N960N using Tapatalk 3 Link to comment Share on other sites More sharing options...
Slice Posted March 6, 2021 Share Posted March 6, 2021 2 hours ago, Jief_Machak said: Can we reproduce this in QEMU ? Yes, but I already fix this. correct use of virtual pointer I don't know why OpenRuntime cures it. 2 Link to comment Share on other sites More sharing options...
Jief_Machak Posted March 6, 2021 Share Posted March 6, 2021 I can see you replaced a memset by ZeroMem. That means there is a bug in memset, right ? So should we fix that bug instead ? I also don't understand why you test if self.getCloverDirFullPath() is empty because it cannot be. Else, you'll get a panic at Self object initialization "if ( m_CloverDirFullPath.isEmpty() ) panic("m_CloverDirFullPath.isEmpty()");" Link to comment Share on other sites More sharing options...
Slice Posted March 6, 2021 Share Posted March 6, 2021 8 hours ago, Jief_Machak said: I can see you replaced a memset by ZeroMem. That means there is a bug in memset, right ? So should we fix that bug instead ? I also don't understand why you test if self.getCloverDirFullPath() is empty because it cannot be. Else, you'll get a panic at Self object initialization "if ( m_CloverDirFullPath.isEmpty() ) panic("m_CloverDirFullPath.isEmpty()");" The key change is I move pointer calculation from args to local variable. ZeroMem was not the key. It had no influence. Link to comment Share on other sites More sharing options...
Slice Posted March 6, 2021 Share Posted March 6, 2021 This line FPath = XFP.wc_str(); was the key feature that prevented the panics. So I must calculate the pointer before use it as arg. Status = OcStorageInitFromFs(&mOpenCoreStorage, FileSystem, FPath, NULL); It means that when I do Status = OcStorageInitFromFs(&mOpenCoreStorage, FileSystem, XFP.wc_str(), NULL); then it will crash. When the driver OpenRuntime.efi is installed there is no crash at this place. Link to comment Share on other sites More sharing options...
Slice Posted March 7, 2021 Share Posted March 7, 2021 Name "Clover" started at 14.03.2011 http://web.archive.org/web/20140317060435/http://www.projectosx.com/forum/lofiversion/index.php/t2008-50.html 6 Link to comment Share on other sites More sharing options...
MacKonsti Posted March 7, 2021 Share Posted March 7, 2021 (edited) Hello @Slice and happy birthday for Clover and its 10 years! Amazing... when I used Chameleon I thought Clover was complex, but all these years we got to love it! Please, I am trying to see if the configuration value for ROM that is set to be UseMacAddr0 works as expected. I am trying to find where and how this value (in RtVariables) is injected but I cannot find a trace in IORegistry. If we use the value UseMacAddr0 can you kindly point us to where we are supposed to confirm this RtVariables value? Thank you. (trying to validate all steps for a working iMessage service that fails, for now) Edited March 7, 2021 by MacKonsti Link to comment Share on other sites More sharing options...
Slice Posted March 7, 2021 Share Posted March 7, 2021 58 minutes ago, MacKonsti said: Hello @Slice and happy birthday for Clover and its 10 years! Amazing... when I used Chameleon I thought Clover was complex, but all these years we got to love it! Please, I am trying to see if the configuration value for ROM that is set to be UseMacAddr0 works as expected. I am trying to find where and how this value (in RtVariables) is injected but I cannot find a trace in IORegistry. If we use the value UseMacAddr0 can you kindly point us to where we are supposed to confirm this RtVariables value? Thank you. (trying to validate all steps for a working iMessage service that fails, for now) Hello, MacKonsti You may type in terminal the command nvram -x 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM >rom.plist and got the result like <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM</key> <data> HBsNZltx </data> </dict> </plist> Then you know what to do. 1 Link to comment Share on other sites More sharing options...
MacKonsti Posted March 7, 2021 Share Posted March 7, 2021 (edited) Hi @Slice thank you for your tip. I was afraid something is wrong... My result on Catalina is: <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM</key> <data> //////// </data> </dict> </plist> This is not normal This translates to ff ff ff ff ff ff that is not my MAC address obviously. In Hackintool and Peripherals tab, I do see my Intel I219-V connection be marked as en0 so not sure what's going on. Could it be something wrong with Clover r5131? My related Clover setting is (I have masked my MLB): <key>RtVariables</key> <dict> <key>BooterConfig</key> <string>0x00</string> <key>CsrActiveConfig</key> <string>0x00</string> <key>MLB</key> <string>BOARDSERIALNEEDED</string> <key>ROM</key> <string>UseMacAddr0</string> </dict> CSR and Booter values have no impact in this, yes? In Hackintool > Boot > Clover log I do not see any "ROM" or other mention. Can I please ask you to have a look at the Clover code or help me debug this on my system to help you? Thank you. Edited March 7, 2021 by MacKonsti Link to comment Share on other sites More sharing options...
Slice Posted March 7, 2021 Share Posted March 7, 2021 @MacKonsti It means Clover can't catch MAC-address of your LAN. Clover's preboot.log (by F2) can clarify this. Nothing wrong with Clover 5131 because the same will be with any other Clover version. 1 Link to comment Share on other sites More sharing options...
MacKonsti Posted March 7, 2021 Share Posted March 7, 2021 (edited) 44 minutes ago, Slice said: @MacKonsti It means Clover can't catch MAC-address of your LAN. Clover's preboot.log (by F2) can clarify this. Oh, that's interesting. Why on earth wouldn't Clover detect my LAN properly I wonder? Here is my preboot.log file @Slice I cannot find a reference for ROM except for LAN: - LAN: 0 Vendor=Intel and: 0:716 0:000 === [ GetMacAddress ] =========================== 0:716 0:000 get legacy LAN MAC, 1 card found 0:716 0:000 Legacy MAC address of LAN #0= FF:FF:FF:FF:FF:FF: Does this depend on some device name in ACPI? Some BIOS/firmware feature that Intel NUC doesn't support? Why "legacy" any idea? Does this mean I need to declare my MAC address to ROM by hand then? :-( Do you see anything else "worrying" in my preboot.log perhaps? P.S. Why is official r5131 Clover reporting "Build id: 20210221183006-949da63-5131-dirty" ? Dirty? Спасибо preboot.log Edited March 7, 2021 by MacKonsti Link to comment Share on other sites More sharing options...
Slice Posted March 8, 2021 Share Posted March 8, 2021 Yes, I see. Your LAN card is Intel and Clover has algo to catch its MAC-address by two ways. First one using UEFI BIOS. But in your case UEFI BIOS does not supply services for reading MAC. Second one is legacy way developed for very old cards. It seems for your case the procedure is no more working. So write into config digits you know <key>ROM</key> <data>112233445566</data> It may be <string> as well. 1 Link to comment Share on other sites More sharing options...
Jief_Machak Posted March 8, 2021 Share Posted March 8, 2021 (edited) On 3/6/2021 at 10:22 PM, Slice said: The key change is I move pointer calculation from args to local variable. I cannot yet understand how come using a local variable would give a different result ??! if that is true, we have a serious compiler problem. in top of that, this var is probably optimized out. We definitely have have to investigate this because if it’s true, it means the language is broken. If I revert that commit, can I reproduce the problem in Qemu ? Edited March 8, 2021 by Jief_Machak Link to comment Share on other sites More sharing options...
Slice Posted March 8, 2021 Share Posted March 8, 2021 3 hours ago, Jief_Machak said: I cannot yet understand how come using a local variable would give a different result ??! if that is true, we have a serious compiler problem. in top of that, this var is probably optimized out. We definitely have have to investigate this because if it’s true, it means the language is broken. If I revert that commit, can I reproduce the problem in Qemu ? I placed "test 1\n", "test 2\n"... to catch the problem in QEMU. Yes, this is strictly reproducible. As well as I am not a first person encountered this crash. The discussion was on russian forum https://www.applelife.ru/threads/clover.42089/page-1352#post-928163 It looks like a compiler bug. If you want to reproduce then take into acoount: 1. It is legacy boot. Version of boot6 file has no matter. Works similarly. 2. Boot by timeout. There is a problem to do this in QEMU so I made special Clover always booted by timeout. In the procedure FindStartupDiskVolume(...) I place return 3; where 3 in the my third entry to start. 3. The clover compiled by gcc-10.3, not sure about Clang compilation. 4. With OpenRuntime there is no crash. There is a crash without it. 5. First wrong commit is 5de09acb3. Fixed in 45801ef. Last commit 235f13a3 cures another crash. This is also legacy boot encountered by jsl2000 at this thread. But it also looks like the same compiler bug. The crash is here // MsgLog("test 1\n"); Status = GraphicsOutput->SetMode(GraphicsOutput, ModeNumber); // MsgLog("test 2\n"); The procedure SetMode is in boot6 file which works 10 years at thousand computers. So? Some virtualisation problem... This bug I can't reproduce in Qemu. I catch the bug is probably related to debugging procedures. See the commit. Link to comment Share on other sites More sharing options...
kushwavez Posted March 10, 2021 Share Posted March 10, 2021 (edited) Any idea why RenameDevices can't rename _GPE.NTFY to XTFY? Am I missing something? I put _GPE.NTFY to XTFY into RenameDevices and rebooted. Looked at the log: [...] 0:712 0:000 NTFY:_GPE:->will be renamed to XTFY [...] 4:851 0:003 Name: NTFY, Bridge: _GPE, Replace: XTFY 4:852 0:001 0 replacements [...] It is not renamed, but I don't know why. This should be renamed: DSDT.dsl.zip Edited March 10, 2021 by kushwavez Link to comment Share on other sites More sharing options...
Matgen84 Posted March 10, 2021 Share Posted March 10, 2021 (edited) 16 minutes ago, kushwavez said: Any idea why RenameDevices can't rename _GPE.NTFY to XTFY? Am I missing something? I put _GPE.NTFY to XTFY into RenameDevices and rebooted. Looked at the log: [...] 0:712 0:000 NTFY:_GPE:->will be renamed to XTFY [...] 4:851 0:003 Name: NTFY, Bridge: _GPE, Replace: XTFY 4:852 0:001 0 replacements [...] It is not renamed, but I don't know why. Only my modest opinion, because _GPE is a Scope, not a device. And NTFY is a method. I suppose you're talking about RenameDevices in config.plist. Unless I'm mistaken Edited March 10, 2021 by Matgen84 1 Link to comment Share on other sites More sharing options...
kushwavez Posted March 10, 2021 Share Posted March 10, 2021 (edited) But for example another rename is working. _INI is a method too. _SB.PCI0.RP09._INI -> XINI _SB.PCI0 (Scope) RP09 (Device) _INI (Method) [...] 4:250 0:000 Name: _INI, Bridge: RP09, Replace: XINI 4:253 0:003 1 replacements [...] So I suppose _GPE.NTFY -> XTFY should work too, but it doesn't. Edited March 10, 2021 by kushwavez 2 Link to comment Share on other sites More sharing options...
Recommended Posts