FredWst Posted December 7, 2016 Share Posted December 7, 2016 Sherlocks The problem is that Clover without this patch, in some case try to patch kext not related with what you want to patch! It works because bytes are not found in bin, but in case of found, what will happen ? OS X will not boot. Here is part of my config. config.plist.zip Fred Link to comment Share on other sites More sharing options...
Slice Posted December 7, 2016 Share Posted December 7, 2016 @Slice It seems that XPS 13 9350(Skylake) has a bug that Clover failed to inject long ProductName, e.g. if I set ProductName to MacBookPro13,1 macOS just shows MacBookPro1 Any other information I have to provide? For example the ioreg, screenshot after setting ProductName to MacBookPro13,1 ...? syscl Make, please, full DarwinDumper report in this case. Exclude: BIOS, OpenCL, HTML report. Compress to LZMA and upload here. My test was that : (AsciiStrStr(gKextBoundleIdentifier, Entry->KernelAndKextPatches->KextPatches[i].Name) != NULL) ) Yes, you are right. "StrStr != Null" instead of "StrStr == 0" as cecekpawon made. Clover 3956 correct. Link to comment Share on other sites More sharing options...
syscl Posted December 7, 2016 Share Posted December 7, 2016 Make, please, full DarwinDumper report in this case. Exclude: BIOS, OpenCL, HTML report. Compress to LZMA and upload here. Yes, you are right. "StrStr != Null" instead of "StrStr == 0" as cecekpawon made. Clover 3956 correct. @Slice Here you go~ Since I haven't had the permission to upload lamz, thus I compress lzma into zip. DarwinDumper_3.0.2_07.12_02.29.02_MacBookPro1_AMI_X64_3949_Sierra_16B2657_syscl.tar.lzma.zip syscl Link to comment Share on other sites More sharing options...
Slice Posted December 7, 2016 Share Posted December 7, 2016 here is kexttopatch. wifi patch is not working. i maybe think that info.plist patch is not working. other hex patches are working(sound, boot glitch patch, trim enabler). here Sherlocks, I have to remind that KextPatch will work only for kext that loaded into kernelcache, or ForcedLoaded from Clover folder. But you can't patch kext that have no name match because it is not loaded yet. You want to correct NameMatch but the kext is not loaded yet because Name is not Matched before patch. Understand? Link to comment Share on other sites More sharing options...
Sherlocks Posted December 7, 2016 Share Posted December 7, 2016 Sherlocks, I have to remind that KextPatch will work only for kext that loaded into kernelcache, or ForcedLoaded from Clover folder. But you can't patch kext that have no name match because it is not loaded yet. You want to correct NameMatch but the kext is not loaded yet because Name is not Matched before patch. Understand? Okay. I just wondered that working or not working compared before in latest commit. Usually use binary patch name in many patches before. So i understand only use binary name. Example AirPortBrcm4360 binary file in MacOS folder. But Fred mention it, com.apple.driver.AirPortBrcm4360 on IOKitPersonalities in info.plist. So i started confusion. I understand what you said now. Thank you. 나의 LG-F410S 의 Tapatalk에서 보냄 Sherlocks The problem is that Clover without this patch, in some case try to patch kext not related with what you want to patch! It works because bytes are not found in bin, but in case of found, what will happen ? OS X will not boot. Here is part of my config. config.plist.zip Fred I understand now. I see your config.plist file. You added PCI 1-3 patches. I dont use pci 1-3. I know some laptop need more binary patch. But there is not me in this case. I just compared before. Now, i learned more info and checked code from you and Slice. I can understand structure for operation. Thank you 나의 LG-F410S 의 Tapatalk에서 보냄 Link to comment Share on other sites More sharing options...
FredWst Posted December 7, 2016 Share Posted December 7, 2016 Sherlocks : AirPortBrcm4360 is a kext where binary name is different of Bundle identifier Rev 3956 For all kext to be patched name must be full Bundle identifier or rights part after last dot. Fred 1 Link to comment Share on other sites More sharing options...
Slice Posted December 7, 2016 Share Posted December 7, 2016 @Slice Here you go~ Since I haven't had the permission to upload lamz, thus I compress lzma into zip. DarwinDumper_3.0.2_07.12_02.29.02_MacBookPro1_AMI_X64_3949_Sierra_16B2657_syscl.tar.lzma.zip syscl As I see the cutted name comes from Clover. It is strange as I can't replicate the behavior. Did you manually edit GUI->SMBIOS? Link to comment Share on other sites More sharing options...
PMheart Posted December 7, 2016 Share Posted December 7, 2016 As I see the cutted name comes from Clover. It is strange as I can't replicate the behavior. Did you manually edit GUI->SMBIOS? Nope. This is the so called "restriction" like I said. - When the SMBios is greater than 11 chars (e.g. MacBookPro13,3) and then only 11 chars are accepted. That is MacBookPro1. So that's why yesterday I suggested you use MacBook as the default SMBios since MacBookx,x is only 10 chars. And in the future if MacBook gets updated (Like MacBook10,1) and just up to 11 chars. This is legal. (Less than/Equal to 11 anyway.) This can work properly. But using MacBookPro or MacBookAir is a better way. And any idea to fix this? Thanks. Edit: I suppose this may be related to motherboard cuz it seems that only Dell Skylake laptop has this bug. Other laptops have not found this issue yet. PMheart 1 Link to comment Share on other sites More sharing options...
Slice Posted December 7, 2016 Share Posted December 7, 2016 There is no restriction. Proof I just want to find an origin of the error. It is not an error of Clover as I shown on the screen made now. It is not an error of macOS as you see also from this screen. It is not an error of BIOS because I checked ioreg.txt and see the cutted name written into "Model" which comes from DataHubDxe which get it from gSettings.ProductName which comes from config.plist or from GUI. Nothing more. I came to conclusion that users made something else to get this effect. It is not my error as you see from my screenshot. Link to comment Share on other sites More sharing options...
RehabMan Posted December 7, 2016 Share Posted December 7, 2016 There is no restriction. Proof Screen Shot 2016-12-07 at 16.27.58.png I just want to find an origin of the error. It is not an error of Clover as I shown on the screen made now. It is not an error of macOS as you see also from this screen. It is not an error of BIOS because I checked ioreg.txt and see the cutted name written into "Model" which comes from DataHubDxe which get it from gSettings.ProductName which comes from config.plist or from GUI. Nothing more. I came to conclusion that users made something else to get this effect. It is not my error as you see from my screenshot. The bug (wherever it is) only happens on certain (relatively new) Dell computers/laptops. I did a little google search and found an example (there are many such examples). See here: https://www.tonymacx86.com/threads/bcm94350zae-14e4-43a3-not-working-in-10-11.188509/page-2#post-1226888 You can see in config.plist/SMBIOS the full name MacBookPro12,1, but in ioreg MacBookPro1. 1 Link to comment Share on other sites More sharing options...
syscl Posted December 7, 2016 Share Posted December 7, 2016 As I see the cutted name comes from Clover. It is strange as I can't replicate the behavior. Did you manually edit GUI->SMBIOS? This occurs on both XPS 13 (9350) and XPS 15 (9550) model, which are both skylake model. In Dell Precision M3800(Haswell) model, no such issue. Any idea @Slice? syscl Link to comment Share on other sites More sharing options...
cecekpawon Posted December 7, 2016 Share Posted December 7, 2016 By specifying full bundleid with dots as patch name will it broke this function? Should we use NrForceKexts instead of NrKexts there? Link to comment Share on other sites More sharing options...
Slice Posted December 7, 2016 Share Posted December 7, 2016 The bug (wherever it is) only happens on certain (relatively new) Dell computers/laptops. I did a little google search and found an example (there are many such examples). See here: https://www.tonymacx86.com/threads/bcm94350zae-14e4-43a3-not-working-in-10-11.188509/page-2#post-1226888 You can see in config.plist/SMBIOS the full name MacBookPro12,1, but in ioreg MacBookPro1. This occurs on both XPS 13 (9350) and XPS 15 (9550) model, which are both skylake model. In Dell Precision M3800(Haswell) model, no such issue. Any idea @Slice? syscl Guys, Open Clover sources. Search all occurrence of ProductName, where it set and how it used. First assignment is Prop = GetProperty (DictPointer, "ProductName"); if (Prop != NULL) { MACHINE_TYPES Model; AsciiStrCpy (gSettings.ProductName, Prop->string); Can there be a possible problem? Last use before start a system is LogDataHub(&gEfiMiscSubClassGuid, L"Model", ProductName, (UINT32)StrSize(ProductName)); I check ioregDT.txt to see in syscl report that the nam is already cutted here. This place is not accessible for any custom patches and BIOS influence. As well I see SMBIOS.Table1 contains cutted name. So I must propose that gSettings.ProductName is already "MacBookPro1". To check if read from config.plist works I started my computer with such config and show you result. NO. Clover works without error. In my case the name if FULL. Someone else cuts your ProductName for Clover read only 10 chars. It is not my error and it can not depend on hardware. All this happen from config.plist, Clover GUI with manual editing and inside Clover. No BIOS, no motherboard, no external wisard. Link to comment Share on other sites More sharing options...
RehabMan Posted December 7, 2016 Share Posted December 7, 2016 Guys, Open Clover sources. Search all occurrence of ProductName, where it set and how it used. First assignment is Prop = GetProperty (DictPointer, "ProductName"); if (Prop != NULL) { MACHINE_TYPES Model; AsciiStrCpy (gSettings.ProductName, Prop->string); Can there be a possible problem? Last use before start a system is LogDataHub(&gEfiMiscSubClassGuid, L"Model", ProductName, (UINT32)StrSize(ProductName)); I check ioregDT.txt to see in syscl report that the nam is already cutted here. This place is not accessible for any custom patches and BIOS influence. As well I see SMBIOS.Table1 contains cutted name. So I must propose that gSettings.ProductName is already "MacBookPro1". To check if read from config.plist works I started my computer with such config and show you result. NO. Clover works without error. In my case the name if FULL. Someone else cuts your ProductName for Clover read only 10 chars. It is not my error and it can not depend on hardware. All this happen from config.plist, Clover GUI with manual editing and inside Clover. No BIOS, no motherboard, no external wisard. Unless you have one of the laptops that shows the bug, you will not be able to reproduce the problem. It has something to do with SMBIOS patching... I assure you it is not user error. The bug is real and consistent with the laptops in question. Reason unknown. Link to comment Share on other sites More sharing options...
PMheart Posted December 7, 2016 Share Posted December 7, 2016 @Slice This could be a bug only for certain Dell Skylake laptops. As @RehabMan said. I guessed something went wrong with motherboard... Also, reason unknown. Link to comment Share on other sites More sharing options...
Slice Posted December 8, 2016 Share Posted December 8, 2016 @syscl Check, please, if you have a file SMBIOS.PLIST in your CLOVER folder. If no then check for invisible files. Guys, how did you imagine Dell hardware may influence on Clover reading config.plist? Nonsense. Link to comment Share on other sites More sharing options...
PMheart Posted December 8, 2016 Share Posted December 8, 2016 @syscl Check, please, if you have a file SMBIOS.PLIST in your CLOVER folder. If no then check for invisible files. Guys, how did you imagine Dell hardware may influence on Clover reading config.plist? Nonsense. It seems that only Dell Skylake laptops have this bug. The legacy platform like Broadwell does not. And other models like Asus does not too... So this can be related to motherboard... Just guessing. Link to comment Share on other sites More sharing options...
Slice Posted December 8, 2016 Share Posted December 8, 2016 It seems that only Dell Skylake laptops have this bug. The legacy platform like Broadwell does not. And other models like Asus does not too... So this can be related to motherboard... Just guessing. Again. How did you imagine it can influence on Clover reading config.plist? Link to comment Share on other sites More sharing options...
PMheart Posted December 8, 2016 Share Posted December 8, 2016 Again. How did you imagine it can influence on Clover reading config.plist? Sorry I don't know... I don't own Skylake models. As @RehabMan and @syscl said, this only happened on certain Dell Skylake models. And I don't think this is related to config.plist. Maybe hardware issues. BTW I'd like to know how Clover patches SMBios? Thanks PMheart 1 Link to comment Share on other sites More sharing options...
Slice Posted December 8, 2016 Share Posted December 8, 2016 Sorry I don't know... I don't own Skylake models. As @RehabMan and @syscl said, this only happened on certain Dell Skylake models. And I don't think this is related to config.plist. Maybe hardware issues. Hardware issue can't influence on clovers calculations. It is user's issue. BTW I'd like to know how Clover patches SMBios? Thanks PMheart Create it from zero using data from original smbios. Did you propose that original SMBIOS will contain "MacBookPro1"? Link to comment Share on other sites More sharing options...
FredWst Posted December 8, 2016 Share Posted December 8, 2016 Sorry I don't know... I don't own Skylake models. As @RehabMan and @syscl said, this only happened on certain Dell Skylake models. And I don't think this is related to config.plist. Maybe hardware issues. BTW I'd like to know how Clover patches SMBios? Thanks PMheart Post a link to your EFI directory. Fred Link to comment Share on other sites More sharing options...
RehabMan Posted December 8, 2016 Share Posted December 8, 2016 Again. How did you imagine it can influence on Clover reading config.plist? It is not an issue of reading config.plist. It is what happens after that. Link to comment Share on other sites More sharing options...
Slice Posted December 8, 2016 Share Posted December 8, 2016 It is not an issue of reading config.plist. It is what happens after that. If it happens after that then I will see on my computer. Don't. Link to comment Share on other sites More sharing options...
RehabMan Posted December 8, 2016 Share Posted December 8, 2016 If it happens after that then I will see on my computer. Don't. Are you testing it on one of the Skylake Dell laptops that is affected? Someone with the affected hardware and some coding skills needs to take a close look at it. Link to comment Share on other sites More sharing options...
PMheart Posted December 8, 2016 Share Posted December 8, 2016 Hardware issue can't influence on clovers calculations. It is user's issue. Create it from zero using data from original smbios. Did you propose that original SMBIOS will contain "MacBookPro1"? Nope. I can assure this is not users' issues. Maybe Clover bug. But not reading config.plist... Post a link to your EFI directory. Fred Ah necessary? I don't own SKL models. Here is the EFI folder of my DIY (Configurations, please check my signature.) if necessary: (I just kept the main part to reduce the archive size.) If it happens after that then I will see on my computer. Don't. Cuz you are't currently using a Dell Skylake. As I said. Seems other models don't have this bug. Link to comment Share on other sites More sharing options...
Recommended Posts