PMheart Posted August 14, 2017 Share Posted August 14, 2017 Is it backward compatibility? What do you even mean? Sorry I don't get it... Link to comment Share on other sites More sharing options...
LockDown Posted August 14, 2017 Share Posted August 14, 2017 What do you even mean? Sorry I don't get it... 0x3FF for HS can also be use in Sierra or any previous OS? Link to comment Share on other sites More sharing options...
PMheart Posted August 14, 2017 Share Posted August 14, 2017 0x3FF for HS can also be use in Sierra or any previous OS? Yes. If you use it on Sierra, then only 0x1FF matters. (0x1FF disables Sierra's SIP entirely) If you use it on El Capitan, then only 0xFF matters. (0xFF disables El's SIP entirely) 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted August 14, 2017 Share Posted August 14, 2017 Hi, One other thing with Nvidia injection. I've a GT 640 that have a bad EFI bios. If I choose Nvidia injection screen is coming scrambled. Need to add this injection to get OK: "NVDA,noEFI", Buffer (0x05) { "true" }, It should be interesting to get an option in clover to select or not for people who get same trouble like me. Another point is memory size detected in in case of injection, I do this modification to get good size. } else { // >= NV_ARCH_C0 // ctrlr_num = nv_rd32(dev, NVC0_MEM_CTRLR_COUNT); // ctrlr_amt = nv_rd32(dev, NVC0_MEM_CTRLR_RAM_AMOUNT); // dev_priv->vram_size = ctrlr_num * (ctrlr_amt << 20); //vram_size = LShiftU64(REG32(nvda_dev->regs, NVC0_MEM_CTRLR_RAM_AMOUNT), 20); vram_size = LShiftU64(2 * REG32(nvda_dev->regs, NVC0_MEM_CTRLR_RAM_AMOUNT), 20); // vram_size = REG32(nvda_dev->regs, NVC0_MEM_CTRLR_RAM_AMOUNT); // vram_size *= REG32(nvda_dev->regs, NVC0_MEM_CTRLR_COUNT); // vram_size = MultU64x32(vram_size, REG32(nvda_dev->regs, NVC0_MEM_CTRLR_COUNT)); //vram_size = REG32(nvda_dev->regs, NVC0_MEM_CTRLR_COUNT); } Fred Same thing with StriStr. EDIT i change test != to ==: gDriversFlags.HFSLoaded = TRUE; } else if (StrStr(FileName, L"apfs") == NULL) { gDriversFlags.APFSLoaded = TRUE; And same trouble, mean that the trouble is not on this line ! what about that : 0:141 0:000 PlatformDriverOverrideProtocol not found. Installing ... Success EDIT: It was my fault ! I did not copy main and menu in the good directory. Need also to change StrStr to StriStr on apfs test. Don't know why, name is in EFI/CLOVER/drivers64UEFI apfs.efi and show APFS! Fred hello Fred. can you upload your GT 640 clover log? thanks in advance Link to comment Share on other sites More sharing options...
FredWst Posted August 14, 2017 Share Posted August 14, 2017 Hello, i'vent logs, what do you want to know ? (ATM don't use clover) Fred 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted August 14, 2017 Share Posted August 14, 2017 Hello, i'vent logs, what do you want to know ? (ATM don't use clover) Fred i saw your report about ram size issue. http://www.insanelymac.com/forum/topic/306156-clover-bugissue-report-and-patch/page-107?do=findComment&comment=2443062 i fixed it with PMheart on r4166 thank you again. 1 Link to comment Share on other sites More sharing options...
ErmaC Posted August 15, 2017 Author Share Posted August 15, 2017 nvidiaNoEFI and nvidiaSingle within the Clover GUI diff --git a/rEFIt_UEFI/Platform/Settings.c b/rEFIt_UEFI/Platform/Settings.c index d93e0d63..28c6eb5a 100644 --- a/rEFIt_UEFI/Platform/Settings.c +++ b/rEFIt_UEFI/Platform/Settings.c @@ -4162,6 +4162,9 @@ GetUserSettings( Prop = GetProperty (DictPointer, "NvidiaGeneric"); gSettings.NvidiaGeneric = IsPropertyTrue (Prop); + Prop = GetProperty (DictPointer, "NvidiaNoEFI"); + gSettings.NvidiaNoEFI = IsPropertyTrue (Prop); + Prop = GetProperty (DictPointer, "NvidiaSingle"); gSettings.NvidiaSingle = IsPropertyTrue (Prop); diff --git a/rEFIt_UEFI/refit/menu.c b/rEFIt_UEFI/refit/menu.c index eb2df983..71a48838 100644 --- a/rEFIt_UEFI/refit/menu.c +++ b/rEFIt_UEFI/refit/menu.c @@ -663,6 +663,10 @@ VOID FillInputs(BOOLEAN New) } UnicodeSPrint(InputItems[InputItemsCount++].SValue, 16, L"%01x", gSettings.DualLink); + InputItems[InputItemsCount].ItemType = BoolValue; //110 + InputItems[InputItemsCount++].BValue = gSettings.NvidiaNoEFI; + InputItems[InputItemsCount].ItemType = BoolValue; //111 + InputItems[InputItemsCount++].BValue = gSettings.NvidiaSingle; //menu for drop table if (gSettings.ACPIDropTables) { @@ -1233,6 +1237,16 @@ VOID ApplyInputs(VOID) DBG("applied DualLink=%x\n", gSettings.DualLink); } + i++; //110 + if (InputItems[i].Valid) { + gSettings.NvidiaNoEFI = InputItems[i].BValue; + } + + i++; //111 + if (InputItems[i].Valid) { + gSettings.NvidiaSingle = InputItems[i].BValue; + } + if (NeedSave) { SaveSettings(); } @@ -4026,6 +4040,8 @@ REFIT_MENU_ENTRY *SubMenuGraphics() // ErmaC: NvidiaGeneric entry if (gGraphics[i].Vendor == Nvidia) { AddMenuItem(SubScreen, 55, "Generic NVIDIA name", TAG_INPUT, FALSE); + AddMenuItem(SubScreen, 111, "NVIDIA single", TAG_INPUT, FALSE); + AddMenuItem(SubScreen, 110, "NVIDIA no EFI", TAG_INPUT, FALSE); AddMenuItem(SubScreen, 56, "Use NVIDIA WEB drivers", TAG_INPUT, FALSE); } or https://github.com/fabiomartino/cloverefiboot/commit/185feb0d6f091376ed5f9d11f554d2b3fc020aaf.diff THX to carlo_67 and gengik84 for test Cordially ErmaC 5 Link to comment Share on other sites More sharing options...
ErmaC Posted August 15, 2017 Author Share Posted August 15, 2017 @Sherlocks Please... You missed the change for setting.c in the commit 4170... the patch is not complete... ErmaC 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted August 15, 2017 Share Posted August 15, 2017 @Sherlocks Please... You missed the change for setting.c in the commit 4170... the patch is not complete... ErmaC I checked it. I added it before. Edit1. Okay. I will commit with HS DP6 platform patch. Thanks 나의 LG-F800S 의 Tapatalk에서 보냄 2 Link to comment Share on other sites More sharing options...
ErmaC Posted August 15, 2017 Author Share Posted August 15, 2017 I checked it. I added it before. Edit1. Okay. I will commit with HS DP6 platform patch. Thanks 나의 LG-F800S 의 Tapatalk에서 보냄 Sorry... I'm blind and confused.... I haven't see it! https://sourceforge.net/p/cloverefiboot/code/4170/tree/rEFIt_UEFI/Platform/Settings.c#l2941 ErmaC 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted August 15, 2017 Share Posted August 15, 2017 I'm blind and confused.... https://sourceforge.net/p/cloverefiboot/code/4170/tree/rEFIt_UEFI/Platform/Settings.c#l2941 ErmaC you added nvidia generlic and single on two parts before. also added here? https://sourceforge.net/p/cloverefiboot/code/4170/tree/rEFIt_UEFI/Platform/Settings.c#l4399 EDIT1. strange. generic and single have two parts. but there are no two parts from other patches. it seems that is not clean EDIT2. i have a nvidia graphic. will check with debug. Link to comment Share on other sites More sharing options...
ErmaC Posted August 15, 2017 Author Share Posted August 15, 2017 Right! so is present twice... BAD this duplicated part is there since very long time... will be better remove the duplicated present in the line 2937-2945 and check for the missed part around line 4390... if any then made test... Sorry ErmaC 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted August 15, 2017 Share Posted August 15, 2017 Right! so is present twice... BAD this duplicated part is there since very long time... will be better remove the duplicated present in the line 2937-2945 and check for the missed part around line 4390... if any then made test... Sorry ErmaC Removed line and tested it. There is no problem. But in gui, i found strange issue for only menu.c If press spacebar or enter to check No efi in gui, gui stop. generic and web driver are no problem for check/uncheck. I have to press reboot button. Strange.. 나의 LG-F800S 의 Tapatalk에서 보냄 Link to comment Share on other sites More sharing options...
kylon Posted August 16, 2017 Share Posted August 16, 2017 - deleted - clover installer corrupted my efi partition somehow. fixed now 1 Link to comment Share on other sites More sharing options...
apianti Posted August 17, 2017 Share Posted August 17, 2017 Haha, who would have thought I knew how clover behaves! If a config.plist is found for your system then that OEM folder becomes the root instead of \EFI\CLOVER, for ACPI tables (DSDT/SSDTs), injected kexts and config.plist (maybe some more stuff, unsure, but your patched ACPI tables may not be loading if you just switched to using OEM folders and didn't move those too). If I recall, you can also create a boot entry with boot arguments and pass the path to a config.plist that you want to use as the argument. I think it's relative to the root folder, I can't exactly remember. But I think only efibootmgr in linux will allow you to add arguments and your firmware may not correctly use them... 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted August 17, 2017 Share Posted August 17, 2017 today, i checked FixHeaders_20000000 features. still no luck. i have two null oem table id files here tested cases case1 only checked FixHeaders_20000000 without drop. -no luck, get mach_reboot panic case2 drop two acpi table - can skip mach_reboot panic thanks in advance NULL ACPI Table.zip Link to comment Share on other sites More sharing options...
TheRacerMaster Posted August 21, 2017 Share Posted August 21, 2017 As reported by @gujiangjiang in the the General discussion thread, Clover doesn't detect the SPD vendor for SK Hynix DDR4 DIMMs. Adding the proper bank/code IDs to memvendors.h should fix that: Platform/memvendors: Add SK Hynix DDR4 vendor bank/code IDs However, it appears that there are only a few bank/code IDs for DDR4 DIMMs in memvendors.h, so it might make sense to use the SMBIOS vendor if the SPD vendor isn't detected ("NoName" returned by getVendorName in spd.c). The following patch should do this (but only if the SMBIOS is trusted): Platform/smbios: Use SMBIOS RAM vendor if SPD RAM vendor is unknown 4 Link to comment Share on other sites More sharing options...
gujiangjiang Posted August 22, 2017 Share Posted August 22, 2017 Very thanks for this fix and i test it works well. However the SerialNumber are still wrong.Can we fix the SerialNumber? 0:149 0:048 === [ Get Smbios ] ======================================== 0:149 0:000 Type 16 Index = 0 0:149 0:000 Total Memory Slots Count = 2 0:149 0:000 Type 17 Index = 0 0:149 0:000 SmbiosTable.Type17->Speed = 2133MHz 0:149 0:000 SmbiosTable.Type17->Size = 8192MB 0:149 0:000 SmbiosTable.Type17->Bank/Device = DIMM A DIMM A 0:149 0:000 SmbiosTable.Type17->Vendor = SK Hynix 0:149 0:000 SmbiosTable.Type17->SerialNumber = 12161215 0:149 0:000 SmbiosTable.Type17->PartNumber = HMA41GS6AFR8N-TF 0:149 0:000 Type 17 Index = 1 0:149 0:000 SmbiosTable.Type17->Speed = 2133MHz 0:149 0:000 SmbiosTable.Type17->Size = 8192MB 0:149 0:000 SmbiosTable.Type17->Bank/Device = DIMM B DIMM B 0:149 0:000 SmbiosTable.Type17->Vendor = SK Hynix 0:149 0:000 SmbiosTable.Type17->SerialNumber = 12121212 0:149 0:000 SmbiosTable.Type17->PartNumber = HMA41GS6AFR8N-TF 0:149 0:000 Boot status=0 0:149 0:000 Running on: 'XPS 15 9550' with board '0N7TVV' 2:069 0:000 === [ ScanSPD ] =========================================== 2:070 0:000 SMBus device : 8086 A123 class=0C0500 status=Success 2:070 0:000 SMBus CmdReg: 0x3 2:070 0:000 Scanning SMBus [8086:A123], mmio: 0xDD132004, ioport: 0xF040, hostc: 0x11 2:070 0:000 Slots to scan [8]... 2:070 0:000 SPD[0]: Type 12 @0x50 2:088 0:017 Not using XMP because it is not present 2:088 0:000 DDR speed 2132MHz 2:088 0:000 Slot: 0 Type 26 8192MB 2132MHz Vendor=SK Hynix PartNo=HMA41GS6AFR8N-TF SerialNo=0301070A0303080A 2:089 0:000 SPD[2]: Type 12 @0x52 2:106 0:017 Not using XMP because it is not present 2:106 0:000 DDR speed 2132MHz 2:106 0:000 Slot: 2 Type 26 8192MB 2132MHz Vendor=SK Hynix PartNo=HMA41GS6AFR8N-TF SerialNo=0301070A0403090D 7:370 0:000 === [ PatchSmbios ] ======================================= 7:370 0:000 insert table 9 for dev 0:0 7:370 0:000 Trusting SMBIOS... 7:370 0:000 Detected alternating SMBIOS channel banks 7:370 0:000 Channels: 2 7:370 0:000 Interleave: 0 2 1 3 4 6 5 7 8 10 9 11 12 14 13 15 16 18 17 19 20 22 21 23 7:370 0:000 partNum=HMA41GS6AFR8N-TF 7:370 0:000 SMBIOS Type 17 Index = 0 => 0 0: 7:370 0:000 BANK 0 DIMM0 2133MHz 8192MB 7:370 0:000 partNum=HMA41GS6AFR8N-TF 7:370 0:000 SMBIOS Type 17 Index = 1 => 1 2: 7:370 0:000 BANK 1 DIMM0 2133MHz 8192MB 7:370 0:000 mTotalSystemMemory = 16384 7:370 0:000 NumberOfMemoryDevices = 2 7:370 0:000 Type20[0]->End = 0x7FFFFF, Type17[0] = 0x2000 7:370 0:000 Type20[1]->End = 0xFFFFFF, Type17[1] = 0x6000 7:370 0:000 Table 131 is present, CPUType=31 7:370 0:000 Change to: 705 And @Sherlocks we can add this fix to Clover code. @TheRacerMaster I found a bug with this fix.The ram in "about this mac" was disappeared. Link to comment Share on other sites More sharing options...
Matthew82 Posted August 22, 2017 Share Posted August 22, 2017 Hello I have problem with every clover version above 4128. If I update clover, patch for fo IONVMeFamily won't work. <dict> <key>Comment</key> <string>IONVMeFamily Preferred Block Size 0x10 -> 0x01 (c) Pike R. Alpha</string> <key>Disabled</key> <false/> <key>Find</key> <data> 9sEQD4VBAQAA </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> 9sEBD4UcAQAA </data> </dict> <dict> <key>Comment</key> <string>external Icon</string> <key>Disabled</key> <false/> <key>Find</key> <data> SIXAdAc= </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> SIXAZpA= </data> </dict> <dict> System wont boot and froze on this message: Last working version is Clover 4128. Im using HighSierra DP7 Link to comment Share on other sites More sharing options...
apianti Posted August 22, 2017 Share Posted August 22, 2017 As reported by @gujiangjiang in the the General discussion thread, Clover doesn't detect the SPD vendor for SK Hynix DDR4 DIMMs. Adding the proper bank/code IDs to memvendors.h should fix that: Platform/memvendors: Add SK Hynix DDR4 vendor bank/code IDs However, it appears that there are only a few bank/code IDs for DDR4 DIMMs in memvendors.h, so it might make sense to use the SMBIOS vendor if the SPD vendor isn't detected ("NoName" returned by getVendorName in spd.c). The following patch should do this (but only if the SMBIOS is trusted): Platform/smbios: Use SMBIOS RAM vendor if SPD RAM vendor is unknown Yeah, the vendor bank needed updated for a while. Weird thing is that it used to use SMBIOS over SPD if SMBIOS/Trust=true (which it is by default unless your SMBIOS is detected to be totally screwed). So unsure what happened.... Link to comment Share on other sites More sharing options...
gujiangjiang Posted August 22, 2017 Share Posted August 22, 2017 Yeah, the vendor bank needed updated for a while. Weird thing is that it used to use SMBIOS over SPD if SMBIOS/Trust=true (which it is by default unless your SMBIOS is detected to be totally screwed). So unsure what happened.... I test the smbios.h patch and find vendor correct but there is no "RAM" section in "About This Mac". Does SMBIOS and SPD have 2 different infomation about ram? Link to comment Share on other sites More sharing options...
TheRacerMaster Posted August 22, 2017 Share Posted August 22, 2017 I test the smbios.h patch and find vendor correct but there is no "RAM" section in "About This Mac". Does SMBIOS and SPD have 2 different infomation about ram? Can you do a DarwinDump without the Clover patches, and then one with the patches? 1 Link to comment Share on other sites More sharing options...
gujiangjiang Posted August 22, 2017 Share Posted August 22, 2017 With no patch shows NoName Vendor but has RAM in About This Mac. NoName.zip With your patch shows SK Hynix but the RAM in About This Mac was disappeared and the RAM SN Number are wrong. NoRAM.zip Thanks. Link to comment Share on other sites More sharing options...
gujiangjiang Posted August 23, 2017 Share Posted August 23, 2017 @TheRacerMaster @Sherlocks I found the RAM disappeared is not related with the patch because i update Official Clover R4184 and ram vendor show unknow but still have no RAM in About This Mac. So i think it maybe the platformdata or smbios error or FirmwareFeatures data error cause the RAM disappear. Update: Sorry for mistake. Thanks to @syscl found the real MacBookPro2017 dont have RAM in About This Mac yet so the "NO RAM" is correct for MBP13x and MBP14x. Thanks. Link to comment Share on other sites More sharing options...
syscl Posted August 23, 2017 Share Posted August 23, 2017 As reported by @gujiangjiang in the the General discussion thread, Clover doesn't detect the SPD vendor for SK Hynix DDR4 DIMMs. Adding the proper bank/code IDs to memvendors.h should fix that: Platform/memvendors: Add SK Hynix DDR4 vendor bank/code IDs However, it appears that there are only a few bank/code IDs for DDR4 DIMMs in memvendors.h, so it might make sense to use the SMBIOS vendor if the SPD vendor isn't detected ("NoName" returned by getVendorName in spd.c). The following patch should do this (but only if the SMBIOS is trusted): Platform/smbios: Use SMBIOS RAM vendor if SPD RAM vendor is unknown Thank you for the patches, committed to r4186. @gujiangjiang @TheRacerMaster Actually no memory tab in "About This Mac" is not a bug on newer platforms, I checked Memory tab disappear on my MacBookPro(2017, Kabylake) and Dell Precision M3800(Haswell), they both miss the tab Memory on "About This Mac" syscl 4 Link to comment Share on other sites More sharing options...
Recommended Posts