Contribute
Register

Big Sur on HP EliteDesk 800 G4/G5 Mini - The Perfect MacMini8,1 Hackintosh - Open Core

Joined
Sep 22, 2011
Messages
1,130
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
This is news to me. I actually tested with a USB3.0 device (SS03) and flipping it turned it into a USB2 device (HS10). Could it be that it was because I had SS04 disabled? I doubt it, since I am pretty sure I did this with the USBenableAll kext. What USBC device did you try? Maybe it is a cable wiring difference with the device.
This just got a little more interesting and behaves as you described. After deleting SS04 (to comply with the 15-port limit), when a USB 3.0 device is inserted into the USB-C port in the "SS04 orientation" (the orientation no longer in the USB map), the USB 3.0 device is recognized on port HS10. So it does appear that the USB-C port is recognized differently depending on whether its SS04 Connector is included in the USB map. When I flip the device, it is recognized on port SS03 as expected. If I use the port limit patch and keep both SS03 and SS04 in the map, the USB-C device is recognized on ports SS03 and SS04 as expected.

Since I am not using my Wi-Fi / Bluetooth (I still have the unsupported Intel M.2 card), I have removed HS14 from my USB map and restored SS04. With this new mapping, a USB 3.0 device inserted into the USB-C port is recognized on ports SS03 and SS04. The corresponding USBPorts.kext for this new mapping is attached.

Screen Shot 2021-01-15 at 5.33.36 PM.png
 

Attachments

  • USBPorts-noHS14.kext.zip
    1.9 KB · Views: 11
Last edited:
Joined
Sep 22, 2011
Messages
1,130
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
A couple of comments about future revisions to my OC EFI:
  • I do plan to upgrade to OC 0.6.6 because of the switch from HfsPlus.efi (and VBoxHfs.efi) to FswHfsPlus.efi. You can follow the reasoning by viewing the OC 0.6.6 commits here.
  • I think that individual USB patching strategies will need to be unique based on our USB port needs. After discovering that the USB-C port behaves differently than we first determined (with the USB-C port having two Port IDs (SS03 and SS04) for USB3 devices and one Port ID (HS10) for USB2 devices) each of us will need to create a USB port map that complies with the 15-port limit and provides the ports we need. Since I'm not using my internal Bluetooth USB port, I can drop HS14 from my USB map. In the future, since I always have my USB 2.0 Hub connected to HS02 (rear right bottom) for mouse and keyboard, I could drop SS10 and restore HS14. I won't ever need SS10 as long as I keep my USB 2.0 Hub connected to HS02. I think that I will be providing multiple USBPorts.kext candidates with future EFIs to allow each of us to choose/tailor one that works for us.
 
Joined
Jan 7, 2016
Messages
132
Motherboard
HP Elitedesk 800 G5 Mini
CPU
i9-9900
Graphics
UHD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
You were incredibly persistent in your pursuit of this solution and it paid off! Nice job. Do you happen to have IORegistryExplorer 2.1 dumps with your old and new Bluetooth cards? I'd be curious to know the differences.
No unfortunately I didn't do a before and after dump... didn't think of it. I wish I did. Your findings on USB are quite interesting. So indeed we have more USB ports than macOS can support huh?

By the way, turning the port to a "switch", I don't think is correct. This normally defines a port which switches between USB2 and USB3 using the same logical port and it doesn't appear that our controller does that because is changes logical port depending on the device USB version.
 
Joined
Sep 22, 2011
Messages
1,130
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
By the way, turning the port to a "switch", I don't think is correct. This normally defines a port which switches between USB2 and USB3 using the same logical port and it doesn't appear that our controller does that because is changes logical port depending on the device USB version.
I didn't interpret the Hackintool help that way. Did you read the Hackintool help screen (here)? I read "TypeC+Sw" to be used for ports that retain the same HS/SS identity when the connector orientation is switched. When a USB2 device orientation is switched in our USB-C port, the port retains its HS10 identity (thus connector "TypeC+Sw"). When a USB3 device orientation is switched in our USB-C port, the port switches between identities SS03 and SS04 (thus connector "TypeC").

EDIT: I think it's important to recognize the USB ports in hackintool's port map as "logical" and not "physical" ports. There is more than one logical port for each physical port. We're labeling the Connectors for the logical ports, not the physical ports.
 
Last edited:
Joined
Jan 7, 2016
Messages
132
Motherboard
HP Elitedesk 800 G5 Mini
CPU
i9-9900
Graphics
UHD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
I read "TypeC+Sw" to be used for ports that retain the same HS/SS identity when the connector orientation is switched. When a USB2 device orientation is switched in our USB-C port, the port retains its HS10 identity (thus connector "TypeC+Sw").

I read it the same but if you insert a USB3 device and flip the connector, the identity changes. If you plug a USB2 or a USB3 device the identity changes. The identity is not retained, that's why the logical type is not a switch port. If it is a switch port you would see SS3 or HS10 regardless of orientation of the connector or using a USB2 or USB3 device. It means that the logical port is capable of changing type. It's not on our HP. It has to rely on numerous logical ports for the representation.
 
Joined
Sep 22, 2011
Messages
1,130
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Ok - maybe I'm misunderstanding you. Are you saying that you think a logical port is "TypeC+Sw" if it has the same identity (e.g. HS10) when both a USB2 and a USB3 is plugged into the port?

If so, that is where we don't agree on the interpretation. I think that a USB3 device plugged into a USB3 physical port will always have a "SSxx" logical port identifier and a USB2 device plugged into a USB3 physical port will always have a "HSxx" logical port identifier. Also, I think our USB-C port is USB3.1 with a USB-C connector (physical USB-C connector).

I'm not certain, so this sounds like a question for @UtterDisbelief and @headkaze . Can either of you explain the correct way to label the logical port Connectors for our USB-C port? We have a single physical USB-C port (the USB-C port is a USB 3.1 port according to HP's specs) that, according to Hackintool, is mapped to three logical ports as follows:
  • When a USB2 device is plugged into the USB-C port, it is mapped to a single logical port name "HS10" for both orientations of the USB2 device
  • When a USB3 device is plugged into the USB-C port, it is mapped to logical port names "SS03" and "SS04" (a different logical port name for each orientation of the USB3 device)
What are the correct "Connectors" ("TypeC" and/or "TypeC+Sw" as viewed in the Hackintool USB Port map) for HS10, SS03 and SS04? My guess here was that "HS10" Connector should be "TypeC+Sw" because it retains the same "HS10" logical port name for both orientations of the USB2 device. My guess was that "SS03" and "SS04" should be "TypeC" because they alternate between the two logical port names when the USB3 device orientation changes. My guess is based on my interpretation of Hackintool's context-sensitive help (below). Thank you!

Hackintool Help
Screen Shot 2021-01-13 at 12.46.13 PM.png
 
Last edited:
Joined
Jan 7, 2016
Messages
132
Motherboard
HP Elitedesk 800 G5 Mini
CPU
i9-9900
Graphics
UHD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
-USB-C

  • TypeC:
    • If it uses the same HSxx/SSxx in both orientations, then it has an internal switch (use “TypeC+Sw”)
    • If it uses a different HSxx/SSxx in each orientation, then it has no switch (use “TypeC”)

I would like clarification as well. The above indicates clearly that the orientation of the plug would lead to use of the same logical USB port thereby indicating that the port has the ability to "switch" to the one logical port.
The fact that flipping the orientation of the USB plug changes anything indicates to me that it doesn't have a switch. Your test of flipping the USB3 device moving it from SS3 to SS4 would indicate that there is no switch on our devices. I don't have a USB-C USB2 device to reproduce what you did but all of my USB3 devices change logical port when I flip them.
 
Joined
Sep 22, 2011
Messages
1,130
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
I don't have a USB-C USB2 device to reproduce what you did but all of my USB3 devices change logical port when I flip them.

One thing is certain: if you don't have any USB2 devices, then a TypeC+Sw Connector will never matter for you. All of my USB3 devices also change logical port when I flip them. Reminds me of the blind guys in a room with an elephant and each describes a different animal as they are touching the elephant. If I throw away my USB3 devices and use only USB2, I'll always have a TypeC+Sw port and you'll always have a TypeC port. Sound good?
 
Last edited:
Joined
Dec 13, 2010
Messages
338
Motherboard
Z390 PHANTOM GAMIG-ITX/ac
CPU
i5-9600K
Graphics
UHD 630
Mac
  1. iMac
Mobile Phone
  1. iOS
Hello everyone and thanks for this thread deeveedee.

I have several hack worked but seeing this one, I was encouraged to buy a G4 and make it work.

I have your EFI working with the rtc error at startup but it is forgivable, but I have installed the BCM94360CS2 that I have in the other hacks with an M2 adapter and I can only enable the wifi but not the BT, I do not know where to continue, any ideas?

Thanks
 
Joined
Sep 22, 2011
Messages
1,130
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Hello everyone and thanks for this thread deeveedee.

I have several hack worked but seeing this one, I was encouraged to buy a G4 and make it work.

I have your EFI working with the rtc error at startup but it is forgivable, but I have installed the BCM94360CS2 that I have in the other hacks with an M2 adapter and I can only enable the wifi but not the BT, I do not know where to continue, any ideas?

Thanks
Glad this thread has helped you. Please include your EFI with your request for help as described in Post #1.
 
Top