Jump to content

Clover Problems and Solutions


ErmaC
3,206 posts in this topic

Recommended Posts

Clover 4012 with Kaby Lake i5-7600 - Epic Fail

 

Using Clover 4012 binaries from sourceforge.

i5-7600

Gigabyte Z270-HD3-CF

Using integrated Intel HD 630 for graphics

 

Tried booting both OS 10.11.6 and 10.12.3

 

Stuck in the text screen after KernelAndKext patches.  Does not switch to graphics mode.

 

Tried some of the suggestions in this thread without success.

 

Booting Clover using native UEFI boot from EFI system partition formatted as FAT32 (uses CloverGUI only)

Native EFI drivers + efifs Grub NTFS driver 1.1 + Clover VBox HFS + all other drivers from Clover in drivers64UEFI

 

Tried booting both systems with Chameleon 2847 (which does not do much of what Clover does) - stuck in the graphics screen after Chameleon does its stuff and jumps to kernel.  Nothing displayed by kernel.

 

Attached are Clover config.plist, debug.log for 10.11.6, 10.12.3, screenshot of where it's stuck.  The screenshot is similar for both versions, but different addresses for BootArgs2, DevTree and kernel patches.

 

Any suggestions?

 

PS: Another, unrelated issue is that there is no countdown to auto-start.  I have to choose a system and press a key to start.

I will analyze it a little late. Now I can say that there is a problem with NVRAM.

For example enter Shell.efi and take a command

dmpstore -all

Success?

Link to comment
Share on other sites

The command dmpstore should work on all computers including PC BIOS-based with legacy Clover.

There is a problem with AMI UEFI BIOS v.F20 compatible with Kabylake.

I tested this BIOS with my Skylake and successfully boot to Sierra but I decided to return to F5 because of NVRAM.

Timeout countdown is not working also because of it.

You should do the follow

1. Install EmuVariableUefi.efi into drivers64UEFI\

2. Use FakeCPUID (you did)

3. Set KernelPM patch (you did). But I don't know why.

4. Use DSDT binary patches

	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Patches</key>
			<array>
				<dict>
					<key>Find</key>
					<data>X0RTTQ==</data>
					<key>Comment</key>
					<string>Rename oem _DSM to ZDSM</string>
					<key>Replace</key>
					<data>WkRTTQ==</data>
				</dict>
				<dict>
					<key>Find</key>
					<data>SEVDSQ==</data>
					<key>Comment</key>
					<string>Rename HECI to IMEI</string>
					<key>Replace</key>
					<data>SU1FSQ==</data>
				</dict>

But I don't know what you can do with Intel HD630. The system has no driver for it.

May be FakeID->IntelGFX=0x19128086 as Skylake?

And choose ig-platform-id=0x19120000 or 0x193B0000 or something else.

  • Like 2
Link to comment
Share on other sites

The AMI UEFI Bios revisions you're talking about are for another MB.  I have Z270-HD3-CF for which latest non-beta is F3.

Added EmuVariableUefi.efi.  debug.log says it's loaded, but when I do 'dmpstore -all' from shell it still says "No matching variables found."

Added the DSDT binary patches.  I see them listed in the options menu as enabled.

I know there's no specialized driver for HD630, but Boot Framebuffer and NDRV Framebuffer based on Vesa VBE or legacy VGA registers should work...

I already had FakeID->IntelGFX=0x19128086

But added ig-platform-id0x19120000

 

Still same problem - stuck in text mode with screen clear after doing the KextAndKernelPatches

 

The sourceforge repository is inaccessible to me for 2 days

svn ls svn://svn.code.sf.net/p/cloverefiboot/code

svn: E170013: Unable to connect to a repository at URL 'svn://svn.code.sf.net/p/cloverefiboot/code'

svn: E730061: Can't connect to host 'svn.code.sf.net': No connection could be made because the target machine actively refused it.

 

svn ls https://svn.code.sf.net/p/cloverefiboot/code

svn: E170013: Unable to connect to a repository at URL 'https://svn.code.sf.net/p/cloverefiboot/code'

svn: E730061: Error running context: No connection could be made because the target machine actively refused it.

I don't know if this is local problem or repository is offline.  Anyway, I cannot tweak source code to try debug because of this.

 

Attached is file with

current config.plist

debug.log for OS 10.12.3 after all changes

decompiled dsdt for this MB

 

Thanks.

kaby_lake_fail_2.zip

  • Like 1
Link to comment
Share on other sites

slice$ svn up
svn: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
svn: Network connection closed unexpectedly

It seems to be sf.net problem.

  • Like 1
Link to comment
Share on other sites

Same here.

Last login: Mon Feb 20 20:36:54 on ttys000
Vanillas-MacBook:~ vanilla$ cd ~/src/edk2/Clover
Vanillas-MacBook:Clover vanilla$ svn up
Updating '.':
svn: E170013: Unable to connect to a repository at URL 'svn://svn.code.sf.net/p/cloverefiboot/code'
svn: E000061: Can't connect to host 'svn.code.sf.net': Connection refused
Vanillas-MacBook:Clover vanilla$ 
Link to comment
Share on other sites

Logs attached

 

Repository still 'actively refused'

All is fine here so the next point is start kernel.

Or may be UEFI catch an event like ReadyToBoot and make something else.

 

PS. sf.net up again!

Link to comment
Share on other sites

Update:

 

The problem is not with Intel HD630.

 

I took an Nvidia GT 610 out of my older system and put it into this system.

 

The problem persists with Nvidia - stuck in text mode after the KernelAndKextPatches.  Tried booting both 10.11.6 and 10.12.3.  Same as before.

 

I'll look at the sources now that repository is up.

Link to comment
Share on other sites

@Slice

From the EfiCalls.log I posted

->HandleProtocol(C89AC018, gEfiGraphicsOutputProtocolGuid, 0) = Unsupported

...

->HandleProtocol(C89AC018, gEfiGraphicsOutputProtocolGuid, 0) = Unsupported

Is this normal? boot.efi is switching to text mode but can't return to graphics mode?
Link to comment
Share on other sites

@Slice

From the EfiCalls.log I posted

Is this normal? boot.efi is switching to text mode but can't return to graphics mode?

Not normal.

My log

->GetVariable(gfx-saved-config-restore-status, gEfiAppleNvramGuid, 0/7, 8, 64BA8398) = Success
00 00 00 00 00 00 00 00                         | ........
->LocateProtocol(gEfiGraphicsOutputProtocolGuid, 0, 0/636C9830) = Success
->HandleProtocol(638E5398, gEfiGraphicsOutputProtocolGuid, 636C9830) = Success
->LocateProtocol(gEfiGraphicsOutputProtocolGuid, 0, 601D7750/636C9830) = Success
->HandleProtocol(638E5398, gEfiGraphicsOutputProtocolGuid, 636C9830) = Success
->SetTimer(64171B18, 0, 0xF4240) = Success

  • Like 1
Link to comment
Share on other sites

There is no such call.   The log is in post #1865.  gEfiGraphicsOutputProtocolGuid only appears in the 2 lines quoted in post #1868.
 
I will install CloverEFI+GUI on USB stick from another system and try to boot kabylake system from it instead of using native UEFI.
 

Check for "LocateProtocol(xyz, gEfiGraphicsOutputProtocolGuid, 0) = blah" after these lines...

Link to comment
Share on other sites

Well that did it :thumbsup_anim:

Are you using AptioFix? It is supposed to redirect HandleProtocol->LocateProtocol

I put OsxAptioFixDrv in drivers64UEFI. Now in EfiCalls.log the reference to gEfiGraphicsOutputProtocolGuid looks like

->LocateProtocol(gEfiGraphicsOutputProtocolGuid, 0, CA162D98/CB7F5738) = Success
->HandleProtocol(CD264518, gEfiGraphicsOutputProtocolGuid, CB7F5738) = Success

And I can see the boot screen - it's hanging in AppleIntelE1000e.kext.

Now I have to find a way to get this kext out of kernelcache.... I'll think of something.

post-446538-0-67565200-1487773660_thumb.jpg

Link to comment
Share on other sites

Success :D

So... turns out the problem wasn't AppleIntelE1000e.kext.

I disabled the LAN controller in bios and retried.  The reason for the hang was...

AppleUSBLegacyRoot::init: enabling legacy matching

I need USB->Fix Ownership for this which was off.

Now both 10.11.6 and 10.12.3 boot :thumbsup_anim:

AppleIntelE1000e.kext works ok and is needed, because LAN controller is not recognized by Apple driver.

Intel XHCI on Z270 chipset is recognized by AppleUSBXHCIPCI - but only USB 2.0 devices are enumerated.  Superspeed devices are undiscovered.

Intel Sata AHCI mode on Z270 is recognized as Generic AHCI and works.

VoodooHDA.kext 2.8.9 works and have sound (ALC 887).  I have not tried AppleHDA.kext because I deleted it already.

Graphics with Nvidia GT 610 not completely working...

On 10.11.6 in older system I had QE (GeForce.kext) working.

Now on 10.11.6, QE is not working.  The monitor stays off.  I need to boot with nv_disable=1 which only gives NDRV Framebuffer.

On 10.12.3 also need nv_disable=1, but this is the same as older system.  Apple switched to Metal in Sierra, so QE is broken for GT 610 (known problem).

So since GT 610 only works with NDRV - may as well return to Intel HD 630 and hope Apple comes out with QE driver for it.  Some other day.

  • Like 1
Link to comment
Share on other sites

Success :D

So... turns out the problem wasn't AppleIntelE1000e.kext.

I disabled the LAN controller in bios and retried.  The reason for the hang was...

I need USB->Fix Ownership for this which was off.

Now both 10.11.6 and 10.12.3 boot :thumbsup_anim:

AppleIntelE1000e.kext works ok and is needed, because LAN controller is not recognized by Apple driver.

Intel XHCI on Z270 chipset is recognized by AppleUSBXHCIPCI - but only USB 2.0 devices are enumerated.  Superspeed devices are undiscovered.

Intel Sata AHCI mode on Z270 is recognized as Generic AHCI and works.

VoodooHDA.kext 2.8.9 works and have sound (ALC 887).  I have not tried AppleHDA.kext because I deleted it already.

Graphics with Nvidia GT 610 not completely working...

On 10.11.6 in older system I had QE (GeForce.kext) working.

Now on 10.11.6, QE is not working.  The monitor stays off.  I need to boot with nv_disable=1 which only gives NDRV Framebuffer.

On 10.12.3 also need nv_disable=1, but this is the same as older system.  Apple switched to Metal in Sierra, so QE is broken for GT 610 (known problem).

So since GT 610 only works with NDRV - may as well return to Intel HD 630 and hope Apple comes out with QE driver for it.  Some other day.

LAN is the same as my so I'll recommend this kext

     IntelMausiEthernet.kext for Intel onboard LAN    

About USB 2.0 only check if there is port number restriction.

I am using this patch

Снимок экрана 2017-02-22 в 22.12.26.png

  • Like 1
Link to comment
Share on other sites

About USB 2.0 only check if there is port number restriction.

Tried the port count patch, but it doesn't make any difference.

 

There are some messages in kernel boot log

000001.092123 XHC@14000000: AppleUSBXHCIPCI::createPorts: unsupported speed mantissa 1248 exponent 2
000001.092133 XHC@14000000: AppleUSBXHCIPCI::createPorts: unsupported speed mantissa 2496 exponent 2
000001.092141 XHC@14000000: AppleUSBXHCIPCI::createPorts: unsupported speed mantissa 4992 exponent 2
000001.491574 IOUSBHostDevice@15100000: IOUSBHostDevice::getDescriptorGated: compliance violation: USB 2.0 9.3.5: device returned more than wLength data
000001.492058 IOUSBHostDevice@15100000: IOUSBHostDevice::start: failed to get device descriptor
000001.492180 SS03@15100000: AppleUSBXHCIPort::resetAndCreateDevice: failed to start device
000001.492222 SS03@15100000: AppleUSBXHCIPort::resetAndCreateDevice: failed to create device (0xe00002e9)
Edited by Zenith432
Link to comment
Share on other sites

LAN is the same as my so I'll recommend this kext

     IntelMausiEthernet.kext for Intel onboard LAN    

About USB 2.0 only check if there is port number restriction.

I am using this patch

attachicon.gifСнимок экрана 2017-02-22 в 22.12.26.png

?!?!

XHCI is obviously for USB 3.0...

@Zenith432

 

For graphics, this may help you IMO.

For USB. May try to attach your USB Controller ID?

Link to comment
Share on other sites

Tried the port count patch, but it doesn't make any difference.

 

There are some messages in kernel boot log

000001.092123 XHC@14000000: AppleUSBXHCIPCI::createPorts: unsupported speed mantissa 1248 exponent 2
000001.092133 XHC@14000000: AppleUSBXHCIPCI::createPorts: unsupported speed mantissa 2496 exponent 2
000001.092141 XHC@14000000: AppleUSBXHCIPCI::createPorts: unsupported speed mantissa 4992 exponent 2
000001.491574 IOUSBHostDevice@15100000: IOUSBHostDevice::getDescriptorGated: compliance violation: USB 2.0 9.3.5: device returned more than wLength data
000001.492058 IOUSBHostDevice@15100000: IOUSBHostDevice::start: failed to get device descriptor
000001.492180 SS03@15100000: AppleUSBXHCIPort::resetAndCreateDevice: failed to start device
000001.492222 SS03@15100000: AppleUSBXHCIPort::resetAndCreateDevice: failed to create device (0xe00002e9)

 

Those mantissa numbers are all wrong. It looks like the AppleUSBXHCIPCI driver is reading the wrong registers.

Possible values are these:

Version Date           Speed                   Mantissa   Exponent
USB 1.0	January 1996   Low Speed (1.5 Mbit/s)	   1500          1
USB 1.1	August 1998    Full Speed (12 Mbit/s)        12          2
USB 2.0	April 2000     High Speed (480 Mbit/s)	    480          2
USB 3.0	November 2008  SuperSpeed (5 Gbit/s)          5          3
USB 3.1	July 2013      SuperSpeed+ (10 Gbit/s)       10          3
Check the IORegistry. Is the IOClass set to AppleUSBXHCISPT ? I'm not sure what SPT stands for but that's the IOClass used for the 100 series XHC chip. Are you using RehabMan's XHCI-200-series-injector.kext ? It's a codeless kext that will load the AppleUSBXHCISPT IOClass for the 200 series XHC chip.
Link to comment
Share on other sites

×
×
  • Create New...