Contribute
Register

[Guide] HP ProBook/EliteBook/Zbook using Clover UEFI hotpatch (10.11)

Status
Not open for further replies.
Win7 supports UEFI boot if CSM is enabled. It will hang if CSM is disabled or not present.

The files for UEFI boot are present on the install media, but not in the correct locations. It has been a while since I created my UEFI Win7 USB, so I'm not clear on the details. You can google for details.

Earlier on i downloaded Windows 7 ISO from Microsoft problem is i can't boot it gets stuck at the Windows logo and I've copied the files directly to the USB just like with Windows 10. Just wondered what you think.
 
Last edited:
I assume iLok is your USB2 test device?
And Elements 107C is the USB3 test device? Which means that at least one port (HS06) is USB2 only.
And three USB3 ports (SSP2,SSP5,SSP6).

If you want to provide information regarding the physical location of each port, it I can add to SSDT comments.

SSDT-USB-ZBook-G1.dsl for test:
Code:
// USBInjectAll configuration/override for ZBook G1 Haswell
//
// Based on secret-sounds' HP ZBook 17 G1 (Haswell)

DefinitionBlock ("", "SSDT", 2, "hack", "usbzbg1", 0)
{
//
// Override for USBInjectAll.kext
//
    Device(UIAC)
    {
        Name(_HID, "UIA00000")
        Name(RMCF, Package()
        {
            // EH01 has no ports (XHCIMux is used to force USB3 routing OFF)
            "EH01", Package()
            {
                "port-count", Buffer() { 0, 0, 0, 0 },
                "ports", Package() { },
            },
            // XHC overrides
            "8086_8c31", Package()
            {
                //"port-count", Buffer() { 0x0d, 0, 0, 0},
                "ports", Package()
                {
                    // HS01 not used
                    "HS02", Package() // HS on USB3 port
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x02, 0, 0, 0 },
                    },
                    // HS03,HS04,HS05 not used
                    "HS06", Package() // USB2
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x06, 0, 0, 0 },
                    },
                    "HS07", Package() // camera
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 0x07, 0, 0, 0 },
                    },
                    // HS08 not used
                    "HS09", Package() // HS on USB3 port
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x09, 0, 0, 0 },
                    },
                    "HS10", Package() // HS on USB3 port
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x0a, 0, 0, 0 },
                    },
                    // HS11 not used
                    "HS12", Package() // bluetooth
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 0x0c, 0, 0, 0 },
                    },
                    // HS13,HS14 not used
                    // SSP1 not used
                    "SSP2", Package() // USB3
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x11, 0, 0, 0 },
                    },
                    // SSP3/SSP4 not used
                    "SSP5", Package() // USB3
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x14, 0, 0, 0 },
                    },
                    "SSP6", Package() // USB3
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x15, 0, 0, 0 },
                    },
                },
            },
        })
    }

//
// Disabling EHCI #1
//
    External(_SB.PCI0, DeviceObj)
    External(_SB.PCI0.LPCB, DeviceObj)
    External(_SB.PCI0.EH01, DeviceObj)

    // registers needed for disabling EHC#1
    Scope(_SB.PCI0.EH01)
    {
        OperationRegion(PSTS, PCI_Config, 0x54, 2)
        Field(PSTS, WordAcc, NoLock, Preserve)
        {
            PSTE, 2  // bits 2:0 are power state
        }
    }
    Scope(_SB.PCI0.LPCB)
    {
        OperationRegion(RMLP, PCI_Config, 0xF0, 4)
        Field(RMLP, DWordAcc, NoLock, Preserve)
        {
            RCB1, 32, // Root Complex Base Address
        }
        // address is in bits 31:14
        OperationRegion(FDM1, SystemMemory, (RCB1 & Not((1<<14)-1)) + 0x3418, 4)
        Field(FDM1, DWordAcc, NoLock, Preserve)
        {
            ,15,    // skip first 15 bits
            FDE1,1, // should be bit 15 (0-based) (FD EHCI#1)
        }
    }
    Scope(_SB.PCI0)
    {
        Device(RMD2)
        {
            //Name(_ADR, 0)
            Name(_HID, "RMD20000")
            Method(_INI)
            {
                // disable EHCI#1
                // put EHCI#1 in D3hot (sleep mode)
                ^^EH01.PSTE = 3
                // disable EHCI#1 PCI space
                ^^LPCB.FDE1 = 1
            }
        }
    }

//
// Configure FakePCIID_XHCIMux.kext to handle USB2 on XHC
//
    External(_SB.PCI0.XHC, DeviceObj)
    Method(_SB.PCI0.XHC._DSM, 4)
    {
        If (!Arg2) { Return (Buffer() { 0x03 } ) }
        Return (Package()
        {
            "RM,pr2-force", Buffer() { 0xff, 0x3f, 0, 0 },
        })
    }
}

//EOF
Yes, all of that is correct. Here's a new IOReg with your SSDT for USB installed. Everything seems to be working fine!
As for the USB ports, they are:
SSP2 = USB 3 (right front)
SSP5 = USB 3 (right back)
SSP6 = USB 3 (left front)
HS06 = USB 2 (left back)
 

Attachments

  • ZBook17 G1 with USB SSDT.zip
    844.2 KB · Views: 92
Hello! RehabMan, tnx for your work! I have installed OSX 10.11.1 on to my HP EliteBook 8460p. Everything is OK but USB. USB3 ports is not working and USB2/eSATA starts working since boot with -uia_ignore_rmcf. I attach all the requested info. Can you, please, look on it. Thanks again.
 

Attachments

  • RehabMan.zip
    56.1 KB · Views: 106
  • MacBook Pro — Yuriy.ioreg.zip
    445.2 KB · Views: 91
  • Output.rtf.zip
    1.5 KB · Views: 96
  • CLOVER.zip
    3.1 MB · Views: 97
Earlier on i downloaded Windows 7 ISO from Microsoft problem is i can't boot it gets stuck at the Windows logo and I've copied the files directly to the USB just like with Windows 10. Just wondered what you think.

It is the typical result when CSM is not enabled.
 
Yes, all of that is correct. Here's a new IOReg with your SSDT for USB installed. Everything seems to be working fine!
As for the USB ports, they are:
SSP2 = USB 3 (right front)
SSP5 = USB 3 (right back)
SSP6 = USB 3 (left front)
HS06 = USB 2 (left back)

I assume the following HSxx/SSPx port relationships:
HS02->SSP2
HS09->SSP5
HS10->SSP6

Also, I notice I don't have a specific config for Zbook_G1_Haswell (config.plist and SSDT), so I'll add that too.
 
Last edited:
I have a Problem with either USB2 or USB3. It depends on if I install USBInjectAll or not.
If I install it then my USB3 completely stops from working. If I do not install it USB3 works but sometimes USB2 doesn't. After several reboots it might work again, but sometimes it takes 6 reboots to do so.

I see no reason for this behavior. I've attached Clover folder and IOReg from a working state and a not working state.

Result of sudo touch /System/Library/Extensions && sudo kextcache -u /:
Code:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Trackpad.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Mouse.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Keyboard.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Controller.kext
kext file:///Library/Extensions/JMicronATA.kext/ is in hash exception list, allowing to load
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext JMB38X.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IOath3kfrmwr.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelMausiEthernet.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelBacklight.kext
kext file:///Library/Extensions/HSSDBlockStorage.kext/ is in hash exception list, allowing to load
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_XHCIMux.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HDMI_Audio.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HD_Graphics.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Broadcom_WiFi.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext CodecCommander.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext AppleHDAHCD_ProBook.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIPoller.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIBatteryManager.kext
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleHDA.kext
 

Attachments

  • Archiv.zip
    5.4 MB · Views: 110
Hello! RehabMan, tnx for your work! I have installed OSX 10.11.1 on to my HP EliteBook 8460p. Everything is OK but USB. USB3 ports is not working and USB2/eSATA starts working since boot with -uia_ignore_rmcf. I attach all the requested info. Can you, please, look on it. Thanks again.

NEC/Renasas is not well supported in 10.11.

You can try GenericUSBXHCI.kext. I didn't install it in this guide until there was enough feedback as to whether it works well enough to include. It is known to be a bit quirky, but is the only option at this point for NEC/Renesas.
 
I have a Problem with either USB2 or USB3. It depends on if I install USBInjectAll or not.
If I install it then my USB3 completely stops from working. If I do not install it USB3 works but sometimes USB2 doesn't. After several reboots it might work again, but sometimes it takes 6 reboots to do so.

I see no reason for this behavior. I've attached Clover folder and IOReg from a working state and a not working state.

Result of sudo touch /System/Library/Extensions && sudo kextcache -u /:
Code:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Trackpad.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Mouse.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Keyboard.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Controller.kext
kext file:///Library/Extensions/JMicronATA.kext/ is in hash exception list, allowing to load
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext JMB38X.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IOath3kfrmwr.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelMausiEthernet.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelBacklight.kext
kext file:///Library/Extensions/HSSDBlockStorage.kext/ is in hash exception list, allowing to load
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_XHCIMux.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HDMI_Audio.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HD_Graphics.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Broadcom_WiFi.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext CodecCommander.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext AppleHDAHCD_ProBook.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIPoller.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIBatteryManager.kext
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleHDA.kext

Read post #1, "USB customization".
 
NEC/Renasas is not well supported in 10.11.

You can try GenericUSBXHCI.kext. I didn't install it in this guide until there was enough feedback as to whether it works well enough to include. It is known to be a bit quirky, but is the only option at this point for NEC/Renesas.
Thanks for your reply! Where do I need to put it? I have it in /EFI/CLOVER/kexts/Other/GenericUSBXHCI.kext
Should I try to put it in /Library/Extensions/ or /System/Library/Extensions/ ? Using KextWizard?
 
Read post #1, "USB customization".

I have only one USB3 thumb drive. Will it be enough to stick it in each port for a while? Or do I need many USB3 devices?
 
Status
Not open for further replies.
Back
Top