Contribute
Register

HP EliteDesk 800 G2 / HP ProDesk 600 G2 - SUCCESS

Status
Not open for further replies.
@spurdo88 if you read through RehabMan's guide about how to correctly implement the USB ports he explains why USBInjectAll is not a permanent fix


I used an active DP>HDMI adapter made by plugable from amazon for my EliteDesk. The active adapter allows me to get 4K @ 60Hz with audio and no problems
 
I also cannot get USB3.0 devices in the 3.0 ports to work. All my ports are under XHC/HSxx while all the guides I have found are TL;DR "disable all SSxx ports make your USB2.0 mapping, then disable all HSxx ports (beside keyboard and mouse ones) and do the USB3.0 mapping". @martinjsteven mind explaining the process you have done to get it working? What patches? Was FakePCIID.kext + FakePCIID_XHCIMux.kext or XHCI-unsupported.kext needed? Been trying without any luck. Currently on 10.14.6 with everything working beside that on HP G2 800 SFF.

Edit (got it working): Patches for Mojave to use with USBInjectAll.kext (now showing HS01-14 / SS01-10 / USR1-2).

Make sure to map usb to get below 15 port limit. (you'll either need USBInjectAll.kext + SSDT or custom kext)

I'll also order another DP cable to work on a proper dual screen fix (guide warns about using adapters and I don't have a second direct one).

Code:
<key>KernelAndKextPatches</key>
<dict>
    <key>KernelPm</key>
    <true/>
    <key>KextsToPatch</key>
    <array>
        <dict>
            <key>Comment</key>
            <string>External Icons Patch</string>
            <key>Disabled</key>
            <false/>
            <key>Find</key>
            <data>RXh0ZXJuYWw=</data>
            <key>InfoPlistPatch</key>
            <false/>
            <key>Name</key>
            <string>AppleAHCIPort</string>
            <key>Replace</key>
            <data>SW50ZXJuYWw=</data>
        </dict>
        <dict>
            <key>Comment</key>
            <string>USB Port Limit Patch 1 PMHeart/DalianSky</string>
            <key>Disabled</key>
            <false/>
            <key>Find</key>
            <data>g/sPDw==</data>
            <key>InfoPlistPatch</key>
            <false/>
            <key>MatchOS</key>
            <string>10.14.x</string>
            <key>Name</key>
            <string>com.apple.iokit.IOUSBHostFamily</string>
            <key>Replace</key>
            <data>g/s/Dw==</data>
        </dict>
        <dict>
            <key>Comment</key>
            <string>USB Port Limit Patch 2 PMHeart/DalianSky</string>
            <key>Disabled</key>
            <false/>
            <key>Find</key>
            <data>g+MP0w==</data>
            <key>InfoPlistPatch</key>
            <false/>
            <key>MatchOS</key>
            <string>10.14.x</string>
            <key>Name</key>
            <string>com.apple.iokit.IOUSBHostFamily</string>
            <key>Replace</key>
            <data>g+M/0w==</data>
        </dict>
        <dict>
            <key>Comment</key>
            <string>USB Port Limit Patch 3 PMHeart/DalianSky</string>
            <key>Disabled</key>
            <false/>
            <key>Find</key>
            <data>g/sPDw==</data>
            <key>InfoPlistPatch</key>
            <false/>
            <key>MatchOS</key>
            <string>10.14.x</string>
            <key>Name</key>
            <string>com.apple.driver.usb.AppleUSBXHCI</string>
            <key>Replace</key>
            <data>g/s/Dw==</data>
        </dict>
        <dict>
            <key>Comment</key>
            <string>USB Port Limit Patch 4 PMHeart/DalianSky</string>
            <key>Disabled</key>
            <false/>
            <key>Find</key>
            <data>g/8PDw==</data>
            <key>InfoPlistPatch</key>
            <false/>
            <key>MatchOS</key>
            <string>10.14.x</string>
            <key>Name</key>
            <string>com.apple.driver.usb.AppleUSBXHCI</string>
            <key>Replace</key>
            <data>g/8/Dw==</data>
        </dict>
    </array>
 
Last edited:
@razzvg How do you handle framebuffer patch? I got same machine like you, got bug with black screen while machine is in idle for few hours.
 
@razzvg How do you handle framebuffer patch? I got same machine like you, got bug with black screen while machine is in idle for few hours.

Currently using the framebuffer patches from your repo but I guess there are a lot of things to improve on.
What I've noticed:
  1. Display Port is only working on the right connector (when being in-front of the machine) - second one may work after boot but didn't test yet
  2. Going to sleep and waking also causes a black screen (I have the suspicion your idle problem is a sleep problem)
Also USB Mapping is a bit strange. We have the identical machines, yet your USBMap.kext does not work at all on mine. The only reason why that would change is because we use different SMBIOS. Is yours iMac17,1? I made a custom mapping where I enabled USB2 USB2 USB3 USB3 for the 4 front ports. USB2 USB2 USB2 USB2 - (4 port row on back) and USB3 USB3 (below LAN). Adding this together will result in 14 ports on the controller. When I disable the port limit patches (where all ports work) and use my USBMap.kext my result will be that the third front 3.0 port from the left won't work anymore (even though I've checked up the HSxx/SSxx values probably a dozen times already). My second DP cable is gonna arrive today but I'll most likely have time to look into framebuffer patching on the weekends.
 
Currently using the framebuffer patches from your repo but I guess there are a lot of things to improve on.
Actually sleep doesn't work so I call it idle, just when screen is black. I reverted back to @sakoula framebuffer patch, noticed few glitches, but I left my pc in the morning and it successfully wake up in the evening. I'll observe it a little bit more & try to merge my patch with sakoula's.
About USB - did you remove USBInjectAll.kext after adding USBMap.kext? When created patch, I tested all USB ports and it works well.
About dual monitors & connector -when I was creating patch for it, after connecting second screen my pc rebooted so I decided to leave only one connector. As I know sakoula's repo contains fix for it, I'm not sure. I think all will work after merging my one with sakoula's. BTW, I'm using 10.12, iMac17,1.
 
About USB - did you remove USBInjectAll.kext after adding USBMap.kext? When created patch, I tested all USB ports and it works well.

Yeah I did remove USBInjectAll.kext after mapping. I'll give it the benefit of doubt and will map again. Maybe something changed somewhere between 10.12 and the newer versions and thus your kext does not work for me (I am on 10.15.2 now)? I'll mostly use this machine with either an ultrawide monitor or a TV so I wouldn't mind about having a non working port, but having issues like that usually indicates that something is configured incorrectly. Will keep you updated when I make progress in that regard.

An additional question: Has anyone figured out how to SSDT patch EC0 to EC yet? Renaming works for me but it is considered as bad practice and I want to get this fixed before moving from Clover to OpenCore.
 
An additional question: Has anyone figured out how to SSDT patch EC0 to EC yet? Renaming works for me but it is considered as bad practice and I want to get this fixed before moving from Clover to OpenCore.
@razzvg when you generate your USBPorts.kext using Hackintool the SSDT-EC is generated the same time. just add that to EFI\Clover\ACPI\Patched and disable or remove the renaming. works for me.

Follow the guide in Hackintool by clicking the information icon at the bottom of the usb tab
 
@razzvg when you generate your USBPorts.kext using Hackintool the SSDT-EC is generated the same time. just add that to EFI\Clover\ACPI\Patched and disable or remove the renaming. works for me.

Follow the guide in Hackintool by clicking the information icon at the bottom of the usb tab

Mind sending me your SSDT-EC? The problem I have is that I am on Catalina and thus not able to boot into the system without the EC0 to EC rename. Thus the tool won't recognise I need the patch.

I managed to get the USB mapping get to work properly (I filtered HSxx and SSxx via NVRAM). I think my initial issue was that I was using some older USBInjectAll.kext. Once I figured that out and did the mapping without the port limit patches it worked. I am attaching my mapping for the SFF here:

Front (left to right):
USB2 USB2 USB3 USB3

Back:
USB2 LAN
USB2 USB3
USB2 USB3
USB2

 

Attachments

  • USBMap.zip
    2.3 KB · Views: 87
@razzvg can you clarify some things please.

How are you making your USBMap kext?
Are you using Hackintool?
If so, did you follow the guide in Hackintool?

I ask because although the guide doesn't say to, when I created my USBPorts.kext using Hackintool I had the rename for EC0 to EC enabled. Once the ports were mapped correctly and it had generated the USBPorts.kext plus the SSDT-EC I copied SSDT-EC to EFI/Clover/ACPI/patched then disabled the EC0 to EC rename. I put USBPorts.kext in EFI/Clover/kexts/Other and restarted. I also installed USBPorts.kext to L/E and have clover set to detect kexts for injection.

This enables Catalina to boot using SSDT-EC without the need for the EC0 to EC rename.

I am unsure as to whether my SSDT-EC will work for you so I suggest you create your own again using Hackintool, following the guide carefully.

I hope this helps. I am by no means an expert but this is what I've learnt over the last few months
 
@razzvg can you clarify some things please.
I am unsure as to whether my SSDT-EC will work for you so I suggest you create your own again using Hackintool, following the guide carefully.

I didn't plan to just blindly copy paste it into my EFI but I wanted to take a look at it. I used USBMap for the port mapping but I also tried Hackintool (which gave me the same EC SSDT). I am currently looking into fixing dual monitor but for that given platform there are only 3 connectors to begin with. Set both of them to DP and well I only got the HP logo on the 2nd port which will boot into a black screen. Port 0x05 is the working one and I can hook it up with a DP to HDMI cable (but not with a direct DP one). Will try further... Edit: Starting from scratch my config turned out basically the same as spurdos at this point. Video+Audio seems to work fine on the outer DP the inner one only works pre boot. What I did notice though is that the inner connector won't work at all if both monitors are connected. Is there any specific BIOS setting for getting this to work? (Edit: Seems to work fine in Linux). Not really able to detect any other connector in Hackintool no matter what I patch it to. Seems the only (hot-plug only) solution would be AGDPfix + DP2HDMI which would basically require you to give up macOS security. I think I'll pass on this one since I will rarely (probably never) use this. Only downside will be that waking results in black screen.

Also something I am curious about but not care too much. Do you guys have working audio jacks?
 
Last edited:
Status
Not open for further replies.
Back
Top