Jump to content
30960 posts in this topic

Recommended Posts

3 hours ago, Sherlocks said:

 

info.

laptop: everything is okay

desktop: always data error when install macos from usb installer on 10.14+. 

 

okay. tested it.

no effect memory rank part.

i checked my laptop. my laptop single channel ram and needed to add memory info in smbios in config to avoid memory error.

 

i added memory info in config like my laptop.

there is no problem. finally i skipped data error message when install macos catalina from usb installer. i dont know and not sure exact problem.

Hi,

What memory info did you add exactly?

Also, how does dmi dump look after you added memory info?

1 hour ago, anmool said:

preboot log attached

preboot.log

It looks like all needed kexts are successfully loaded including VoodooI2C and VoodooPS2. I just don't know why both should be used. AFAIK PS2 is a bus and I2C is another bus. You should use one or another, but I don't know the logic of these kexts. You should ask something else.

At my side Clover does all work.

Random musings, no idea if anyone will understand who I am talking to but eh...

 

I am confused why you are not using the device path to show the booted device as well, so you can actually tell what volume it is since there are often multiple EFI partitions. It should be probably hidden by default but maybe the debug options can enable it as well as a specific option (unless that option is false then don't enable at all).

 

The thing about stack allocation vs. dynamic allocation, the stack size can be set and may not be set to something reasonable for a large usage like multiple kilobytes. So allocating large chunks of memory dynamically is way better, also slice's solution allows the strings to be any size that can be allocated, the other truncates the string to the static size.

 

You can't write c++ code because of the standard c++ library it would require writing a standard library for almost every significant version of every compiler to match the internal structures of how the the library and objects are initialized and destroyed. It can be done but it's not pleasant and compiler changes could break it, like you would need four different versions for VS 2012/13, 2015, 2017, and 2019. You would also need them for different versions of xcode/clang and gcc.

 

Do the tables match before and after you set them manually? I notice it says Set 1, 2, 3, and 4, I don't think you should have more than 2 sets (the unpopulated ones should have a zero...), since you should probably only have a dual channel memory controller. What are you table 16's, 19's, and 20's in each of these cases?

 

Ok, I'm going to disappear into the night again.

On 12/26/2019 at 4:18 PM, telepati said:

is EmuVariableUefi.efi mandatory for the Z390 motherboard?

I just switched my config over to the one located here:

It works perfectly right now. I have been trying for months to get rid of the OsxAptioFix2Drv-free2000.efi driver and absolutely nothing worked until now.

 

I am using the VirtualSMC now but want to go back to FakleSMC. Not entirely sure why other than sensors.

 

 

  • Like 1
  • Thanks 1
2 hours ago, Slice said:

It looks like all needed kexts are successfully loaded including VoodooI2C and VoodooPS2. I just don't know why both should be used. AFAIK PS2 is a bus and I2C is another bus. You should use one or another, but I don't know the logic of these kexts. You should ask something else.

At my side Clover does all work.

I tested with rehanbman's Clover_v2.4k_r4701.RM-4963.ca6cca7c worked fine during installation and post installation 

I think that clover has changed something related VoodooI2C or bug  

On 12/14/2019 at 6:14 AM, maleorderbride said:

I am attempting to inject some thunderbolt AAPL,PathProperties via .efi, but am unable to do so in Clover. OpenCore supports it, but Clover does not yet.

 

Even removing this partial implementation in Clover would be an improvement since then I could use EfiDevicePathPropertyDatabase.efi to enable AAPL,PathProperties injection via .efi, which used to work in older versions of Clover before Clover partially enabled this feature.

I was able to do this without using OpenCore or Clover on my MacPro3,1 Mac Pro (Early 2008) running Catalina 10.15.

 

There's a set of nvram properties starting at 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:AAPL,PathProperties0000 and counting up 0001, 0002, etc. I made a script to do the following:

1) convert nvram properties to binary

2) translate that to plist using gfxutil

3) find ioregistry device tree plane paths of upstream bridge of Thunderbolt controllers

4) use output from gfxutil to convert ioregistry device tree plane paths to efi device paths

5) modify plist with new properties using those efi device paths

6) convert plist to binary using gfxutil

7) convert binary to nvram properties

 

The attached example includes my modified/updated version of gfxutil (rewritten to use edk2 device path library). It adds PCI-Thunderbolt properties to my four Thunderbolt controllers. This is not sufficient to improve or change any behavior (there is no difference in behavior with or without this property). This is probably an incorrect use of device properties because the PCI-Thunderbolt property is normally set by a function in an ACPI SSDT and is therefore stored in the IO Registry as type Number. The Apple Device Properties Protocol can only create IO Registry properties of type Data (just a series of bytes). A proper solution will require a kext or SSDT. In the case of an SSDT, something like Clover or OpenCore is required, therefore you might as well use them to set properties instead of this method...

 

https://github.com/acidanthera/gfxutil

joevt_gfxutil.zip

  • Like 2
11 hours ago, Slice said:

It looks like all needed kexts are successfully loaded including VoodooI2C and VoodooPS2. I just don't know why both should be used. AFAIK PS2 is a bus and I2C is another bus. You should use one or another, but I don't know the logic of these kexts. You should ask something else.

At my side Clover does all work.


I don't know maybe this information will be useful
image.thumb.png.e81b900ff51be2be8fcfa292b51a9dca.png

The kexts are loaded by the directory file name ordering which is not in any sorted order on a (V)FAT volume, just in the order of creation. I'm guessing that the order is not correct anymore for the prerequisite kexts or something? There should maybe be an option to set the order of the injection... You can however force kexts/dependencies to be loaded.

20 hours ago, Pene said:

Hi,

What memory info did you add exactly?

Also, how does dmi dump look after you added memory info?

 

sorry for late.

i tested mojave and catalina. perfect working. previously, my desktop depended on memory info by clover without custom memory info in smbios.

 

 


0:102  0:000  === [ Get Smbios ] ========================================
0:102  0:000  Type 16 Index = 0
0:102  0:000  Total Memory Slots Count = 4
0:102  0:000  Type 17 Index = 0
0:102  0:000  SmbiosTable.Type17->Speed = 2133MHz
0:102  0:000  SmbiosTable.Type17->Size = 8192MB
0:102  0:000  SmbiosTable.Type17->Bank/Device = BANK 0 DIMM_A1
0:102  0:000  SmbiosTable.Type17->Vendor = Samsung
0:102  0:000  SmbiosTable.Type17->SerialNumber = 9935F68A
0:102  0:000  SmbiosTable.Type17->PartNumber = M378A1K43BB1-CPB    
0:102  0:000  Type 17 Index = 1
0:102  0:000  Ignoring insane frequency value 0MHz
0:102  0:000  SmbiosTable.Type17->Speed = 0MHz
0:102  0:000  SmbiosTable.Type17->Size = 0MB
0:102  0:000  SmbiosTable.Type17->Bank/Device = BANK 1 DIMM_A2
0:102  0:000  SmbiosTable.Type17->Vendor = <null string>
0:102  0:000  SmbiosTable.Type17->SerialNumber = <null string>
0:102  0:000  SmbiosTable.Type17->PartNumber = <null string>
0:102  0:000  Type 17 Index = 2
0:102  0:000  Ignoring insane frequency value 0MHz
0:102  0:000  SmbiosTable.Type17->Speed = 0MHz
0:102  0:000  SmbiosTable.Type17->Size = 0MB
0:102  0:000  SmbiosTable.Type17->Bank/Device = BANK 2 DIMM_B1
0:102  0:000  SmbiosTable.Type17->Vendor = <null string>
0:102  0:000  SmbiosTable.Type17->SerialNumber = <null string>
0:102  0:000  SmbiosTable.Type17->PartNumber = <null string>
0:102  0:000  Type 17 Index = 3
0:102  0:000  Ignoring insane frequency value 0MHz
0:102  0:000  SmbiosTable.Type17->Speed = 0MHz
0:102  0:000  SmbiosTable.Type17->Size = 0MB
0:102  0:000  SmbiosTable.Type17->Bank/Device = BANK 3 DIMM_B2
0:102  0:000  SmbiosTable.Type17->Vendor = <null string>
0:102  0:000  SmbiosTable.Type17->SerialNumber = <null string>
0:102  0:000  SmbiosTable.Type17->PartNumber = <null string>
0:102  0:000  Boot status=0
0:102  0:000  Running on: 'System Product Name' with board 'B150M-A_M.2'
 

 

i added like this

		<key>Memory</key>
		<dict>
			<key>Channels</key>
			<integer>2</integer>
			<key>Modules</key>
			<array>
				<dict>
					<key>Frequency</key>
					<integer>2133</integer>
					<key>Part</key>
					<string>M378A1K43BB1-CPB</string>
					<key>Serial</key>
					<string>9935F68A</string>
					<key>Size</key>
					<integer>8192</integer>
					<key>Slot</key>
					<integer>0</integer>
					<key>Type</key>
					<string>DDR4</string>
					<key>Vendor</key>
					<string>Samsung</string>
				</dict>
			</array>
			<key>SlotCount</key>
			<integer>4</integer>
		</dict>

 

10:778  0:095  === [ PatchSmbios ] =======================================
10:778  0:000  insert table 9 for dev 0:0
10:778  0:000  insert table 9 for dev 0:1
10:778  0:000  insert table 9 for dev 0:0
10:778  0:000  Injecting user memory modules to SMBIOS
10:778  0:000  Channels: 2
10:778  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
10:778  0:000  BANK 0 DIMM0 2133MHz 8192MB(Ext:0MB)
10:778  0:000  BANK 1 DIMM0 EMPTY
10:778  0:000  BANK 0 DIMM1 EMPTY
10:778  0:000  BANK 1 DIMM1 EMPTY
10:778  0:000  mTotalSystemMemory = 8192
10:778  0:000  NumberOfMemoryDevices = 4
10:778  0:000  Type20[0]->End = 0x7FFFFF, Type17[0] = 0x2000

 

strangely i can't get DMI dump.

but eveything is great without problem.

 

Edited by Sherlocks
  • Like 1
On 12/26/2019 at 8:46 PM, pkdesign said:

Originally I used Hackintool to download Clover 5101. not sure hwre they get it from. Then I checked https://github.com/CloverHackyColor/CloverBootloader  and downloaded from there. Both have the same result.

 

BTW, it also reverts to "Christmas" theme which is VERY annoying.

Delete Christmas and New Year themes in your Clover EFI folder: problem solved!

9 minutes ago, D-an-W said:

Anyone have an issue with no audio devices when moving from r5101 to r5102?

 

I switched back to my backup of r5101 and they are back.

 

I can include logs if required.

 

I update Clover from r5101 to r5102 on my IvyBridge config: there is no issue with audio device (HDMI output)

I don't use HDMI audio just the onboard audio and AppleALC.kext

 

From looking at the boot log, it seems something changed. Perhaps the "Log audio devices" change?

 

r5101 Boot Log - Search for Audio (Working Audio)

0:199  0:000  Loading AudioDxe.efi  status=Success
6:073  0:000  found 2 handles with audio
15:429  0:000  found 2 handles with audio
17:752  0:000  found 2 handles with audio

 

 

r5102 Boot Log - Search for Audio (Not Working Audio)

0:200  0:000  Loading AudioDxe.efi  status=Success
6:081  0:000  found 2 handles with audio
6:084  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 0
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 1
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 2
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 3
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 4
6:084  0:000  Found Audio Device Realtek ALC899 (Headphones) at index 5
6:084  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 6
6:084  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 7
6:084  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 8
22:614  0:000  found 2 handles with audio
22:617  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 0
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 1
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 2
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 3
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 4
22:617  0:000  Found Audio Device Realtek ALC899 (Headphones) at index 5
22:617  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 6
22:617  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 7
22:617  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 8
25:174  0:000  found 2 handles with audio
25:176  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 0
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 1
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 2
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 3
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 4
25:176  0:000  Found Audio Device Realtek ALC899 (Headphones) at index 5
25:176  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 6
25:176  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 7
25:176  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 8

 

  • Sad 1
13 minutes ago, D-an-W said:

I don't use HDMI audio just the onboard audio and AppleALC.kext

 

From looking at the boot log, it seems something changed. Perhaps the "Log audio devices" change?

 

r5101 Boot Log - Search for Audio (Working Audio)


0:199  0:000  Loading AudioDxe.efi  status=Success
6:073  0:000  found 2 handles with audio
15:429  0:000  found 2 handles with audio
17:752  0:000  found 2 handles with audio

 

 

r5102 Boot Log - Search for Audio (Not Working Audio)


0:200  0:000  Loading AudioDxe.efi  status=Success
6:081  0:000  found 2 handles with audio
6:084  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 0
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 1
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 2
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 3
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 4
6:084  0:000  Found Audio Device Realtek ALC899 (Headphones) at index 5
6:084  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 6
6:084  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 7
6:084  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 8
22:614  0:000  found 2 handles with audio
22:617  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 0
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 1
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 2
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 3
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 4
22:617  0:000  Found Audio Device Realtek ALC899 (Headphones) at index 5
22:617  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 6
22:617  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 7
22:617  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 8
25:174  0:000  found 2 handles with audio
25:176  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 0
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 1
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 2
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 3
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 4
25:176  0:000  Found Audio Device Realtek ALC899 (Headphones) at index 5
25:176  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 6
25:176  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 7
25:176  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 8

 

 

I can only test HDMI because no others output devices. 

 

On 12/28/2019 at 10:17 PM, apianti said:

You can't write c++ code because of the standard c++ library

I am currently experimenting a C++ switch. It's already working and will be committed in a branch. C++ doesn't need the STL or any kind of library.

C++ is a language that you can separate from it's "tools".

I've used C++ for many years, always without std lib. So I have plenty of object like string, vector etc.

This confusion about standard library and standard language is often made, because both are standardized by the same organisation.

I'll post here when I'll have committed...

  • Thanks 1
3 hours ago, D-an-W said:

I don't use HDMI audio just the onboard audio and AppleALC.kext

 

From looking at the boot log, it seems something changed. Perhaps the "Log audio devices" change?

 

r5101 Boot Log - Search for Audio (Working Audio)


0:199  0:000  Loading AudioDxe.efi  status=Success
6:073  0:000  found 2 handles with audio
15:429  0:000  found 2 handles with audio
17:752  0:000  found 2 handles with audio

 

 

r5102 Boot Log - Search for Audio (Not Working Audio)


0:200  0:000  Loading AudioDxe.efi  status=Success
6:081  0:000  found 2 handles with audio
6:084  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 0
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 1
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 2
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 3
6:084  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 4
6:084  0:000  Found Audio Device Realtek ALC899 (Headphones) at index 5
6:084  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 6
6:084  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 7
6:084  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 8
22:614  0:000  found 2 handles with audio
22:617  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 0
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 1
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 2
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 3
22:617  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 4
22:617  0:000  Found Audio Device Realtek ALC899 (Headphones) at index 5
22:617  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 6
22:617  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 7
22:617  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 8
25:174  0:000  found 2 handles with audio
25:176  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 0
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 1
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 2
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 3
25:176  0:000  Found Audio Device Realtek ALC899 (LineOut) at index 4
25:176  0:000  Found Audio Device Realtek ALC899 (Headphones) at index 5
25:176  0:000  Found Audio Device Realtek ALC899 (SPDIF) at index 6
25:176  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 7
25:176  0:000  Found Audio Device Intel Panther Point HDMI (HDMI) at index 8

 

This is my compilation with no changes from the master and the audio is working properly:

AudioDxe.efi.zip

CLOVERX64.efi.zip

BOOTX64.efi.zip

please try and let me know.

  • Like 1
4 minutes ago, D-an-W said:

One thing to point out is boot time audio still worked ok.

Oh sorry, but my changes regard only about logging devices in the boot-log, if audio is working at boot time then your problem is another (other changes between 5101 <->5102). 

Edited by vector sigma
10 minutes ago, D-an-W said:

Is it possible to build specific commits so I can see with which one it last worked?

 

to build clover:

cd ~/Desktop/
git clone https://github.com/CloverHackyColor/CloverBootloader.git
cd CloverBootloader
. ./edksetup.sh
./ebuild.sh -fr

then to build a specific commit:

git checkout <commit_id> (eg: git checkout 12d559aef62a33ad65e38ab9210872d63d815815 or git checkout 12d559ae)
./ebuild.sh -fr

this command shows you every commit between 5101 and 5102:

git log --oneline 5101^..5102

 

Edited by Florin9doi
  • Thanks 1

@Jief_Machak, the below function:

BOOLEAN checkOSBundleRequired(UINT8 loaderType, TagPtr dict)
{
    BOOLEAN inject = TRUE;
    TagPtr  osBundleRequired;
    CHAR8   osbundlerequired[256];
    
    osBundleRequired = GetProperty(dict,"OSBundleRequired");
    if (osBundleRequired)
        toLowerStr(osbundlerequired, osBundleRequired->string);
    else
        osbundlerequired[0] = '\0';

    if (OSTYPE_IS_OSX_RECOVERY(loaderType)) {
        if (AsciiStrnCmp(osbundlerequired, "root", 4) &&
            AsciiStrnCmp(osbundlerequired, "local", 5) &&
            AsciiStrnCmp(osbundlerequired, "console", 7) &&
            AsciiStrnCmp(osbundlerequired, "network", 7)) {
            inject = FALSE;
        }
    } else if (OSTYPE_IS_OSX_INSTALLER(loaderType)) {
        if (AsciiStrnCmp(osbundlerequired, "root", 4) &&
            AsciiStrnCmp(osbundlerequired, "local", 5) &&
            AsciiStrnCmp(osbundlerequired, "console", 7)) {
            inject = FALSE;
        }
    }
    
    return inject;
}

is still callled even for 10_install and 10_recovery, so some kexts maybe excluded anyway. Should not those extensions be injected with KextPatcherRegisterKexts() (i.e. with FSInject) instead of AddKext()?

  • Like 1
9 hours ago, brousseau6933 said:

Delete Christmas and New Year themes in your Clover EFI folder: problem solved!

I certainly did, but to automatically and without permission change my theme is not right at all.

On 12/20/2019 at 7:21 AM, Slice said:

I made the follow change.

If VolumeName begins with # then the line will not shown.

So, create a file .VolumeLabel.txt in the EFI partition with a name for this volume

"EFI" or "ESP" or "My USB Stick" or "#EFI" or anything else.

In the case of "#..." the message "Clover booted from XXX" will disappear.

Good?

This still does not work with 5102. It now just says "5102, booted from EFI" in the lower right corner.

×
×
  • Create New...