Contribute
Register

The New Beginner's Guide to USB Port Configuration

Great news @UtterDisbelief and @Archangeliques ! I think I got it working! Using the latest Hackintool, I have it set to have 14 XHC and the one EHC ports, and upon rebooting I don't have any oddities. Both Hackintool and USBMap show the proper 15 ports that I whitelisted, and so does IOReg. Would you be willing to take one last peek to make sure everything looks good?

Screen Shot 2020-03-02 at 1.37.40 PM.png

And my last question: This kext will work as is when I eventually convert to OpenCore, correct?

Thanks again for all the help everyone! So nice to finally get this done after all these years!
 

Attachments

  • Fox’s iMac Final.ioreg
    4.5 MB · Views: 88
Great news @UtterDisbelief and @Archangeliques ! I think I got it working! Using the latest Hackintool, I have it set to have 14 XHC and the one EHC ports, and upon rebooting I don't have any oddities. Both Hackintool and USBMap show the proper 15 ports that I whitelisted, and so does IOReg. Would you be willing to take one last peek to make sure everything looks good?

View attachment 452696

And my last question: This kext will work as is when I eventually convert to OpenCore, correct?

Thanks again for all the help everyone! So nice to finally get this done after all these years!


Well done on all your hard work and collaboration with @headkaze . It's great to see this on the forums because that's what we are all here for :thumbup:

Your set-up looks very clean now, and logical. I still do not understand why your EH02 controller should cause any problems - all Z97 chipsets have them - but after all the effort you have put into resolving this, why quibble?

As for OpenCore, yes your USBPorts.kext will work there too. You just have to take care when including it in the OC config.plist, as there is no path to an executable in the kext. I won't bore you with that now, you'll understand as you work through your new configuration.

:)
 
Well done on all your hard work and collaboration with @headkaze . It's great to see this on the forums because that's what we are all here for :thumbup:

Your set-up looks very clean now, and logical. I still do not understand why your EH02 controller should cause any problems - all Z97 chipsets have them - but after all the effort you have put into resolving this, why quibble?

As for OpenCore, yes your USBPorts.kext will work there too. You just have to take care when including it in the OC config.plist, as there is no path to an executable in the kext. I won't bore you with that now, you'll understand as you work through your new configuration.

:)


Thank you! And yeah - definitely not going to quibble now, EH02 doesn't seem to show up anywhere so I am not going to complain lol.

And thanks, I will keep an eye out when I do move over to OpenCore!

Cheers!
 
Great news @UtterDisbelief and @Archangeliques ! I think I got it working! Using the latest Hackintool, I have it set to have 14 XHC and the one EHC ports, and upon rebooting I don't have any oddities. Both Hackintool and USBMap show the proper 15 ports that I whitelisted, and so does IOReg. Would you be willing to take one last peek to make sure everything looks good?

View attachment 452696

And my last question: This kext will work as is when I eventually convert to OpenCore, correct?

Thanks again for all the help everyone! So nice to finally get this done after all these years!
Seems good! Have you deleted PR01 and PR21 too or left PR01 along with PR11 as I suggested earlier? Something is hiding EH02 in your case. It might be related to renames on your config file.

Anyways, congrats!
 
Seems good! Have you deleted PR01 and PR21 too or left PR01 along with PR11 as I suggested earlier? Something is hiding EH02 in your case. It might be related to renames on your config file.

Anyways, congrats!

Thanks! When I created the kext, I did not have PR01 or PR21, so I left only PR11. Upon reboot, PR11 shows up nicely with no other oddities in the list... so I’m not sure what is up with that.

The last quibble I have now is that after my hack has slept for a while with the new USB kext, a USB 2.0 thumb drive I had connected to a USB 3.0 port was ejected during sleep (macOS complained upon wake up that a drive was ejected incorrectly.)

Is this something that’s easily fixable?

EDIT: seems to be an unrelated problem from USB, so moving my question to my thread.
 
Last edited:
Incidentally, I've done some more work on your suggestion for renaming the ports in IORegistryExplorer. :thumbup: It's being reviewed presently and might be good for another topic - Advanced Jiggery-Pokery of USB Ports.

It has been an eye-opener and I have to thank you for that :thumbup:

I have found that I am able to remove the excess ports that I was ignoring by placing a generated USBPortsKext in Clover and rebooting then removing the extras. It seems that Hackintool isn't removing all the selected ports for erasure the first time. But, after removing more unwanted ports I checked the USBPortsKext and the SSDT and they retain the Port Naming scheme. So if you start out and name a few ports you can always find others later and name those as well, or rename them then save/export the kext/ssdt. I generated a few of these and they keep the names so you can do little by little if you want with the naming.
P.S. I also named the Ports.kext M93pDesktopUSBPorts.kext. It loads no problem so you can name the kexts for various systems to keep track of them if storing or sharing for identical systems.

Screen Shot 2020-03-02 at 8.29.21 PM.png
 
I have found that I am able to remove the excess ports that I was ignoring by placing a generated USBPortsKext in Clover and rebooting then removing the extras. It seems that Hackintool isn't removing all the selected ports for erasure the first time. But, after removing more unwanted ports I checked the USBPortsKext and the SSDT and they retain the Port Naming scheme. So if you start out and name a few ports you can always find others later and name those as well, or rename them then save/export the kext/ssdt. I generated a few of these and they keep the names so you can do little by little if you want with the naming.
P.S. I also named the Ports.kext M93pDesktopUSBPorts.kext. It loads no problem so you can name the kexts for various systems to keep track of them if storing or sharing for identical systems.

View attachment 452755


More interesting work :thumbup:

Here are a couple of my different trials:

Ports and names which keeps the original sort-order -

USB-Ports and Names.png

Just names which shuffles the ports, still alphabetical, but no longer logical -

USB-Names.png

As you pointed ot we can use whatever labels seem appropriate and change the kext name too, if we want to have different versions.

Now we just have to ask @headkaze if he might consider allowing the columns to be resized in the Hackintool USB panel so we can see the new names.

I'm not sure this procedure is appropriate for a Beginner's Guide but it is certainly an interesting fork-in-the-road we can explore.

:)

(P.S - By the way, are your EHCI ports working okay? I notice you have not renamed the controllers EHC1 to EH01, or EHC2 to EH02. I've seen this elsewhere too ... )
 
More interesting work :thumbup:

Here are a couple of my different trials:

Ports and names which keeps the original sort-order -


Just names which shuffles the ports, still alphabetical, but no longer logical -


As you pointed ot we can use whatever labels seem appropriate and change the kext name too, if we want to have different versions.

Now we just have to ask @headkaze if he might consider allowing the columns to be resized in the Hackintool USB panel so we can see the new names.

I'm not sure this procedure is appropriate for a Beginner's Guide but it is certainly an interesting fork-in-the-road we can explore.

:)

(P.S - By the way, are your EHCI ports working okay? I notice you have not renamed the controllers EHC1 to EH01, or EHC2 to EH02. I've seen this elsewhere too ... )
EHC ports appear to be fine, USB 2.0 works well, and USB 3 devices function in them as well. The screenshots are from my M93p with actual 2,0 ports not shared. I still have the unchecked Clover rename ACPI patches (Haswell?)..

Actually, if you hover your mouse pointer over the Hackintool USB tabs they show Port Renames. I was thinking the same thing about widening the margins. I tried to slide them manually like in IOReg.
 
Here are a couple of my different trials:

Ports and names which keeps the original sort-order -

As someone who experienced side effects of cosmetic customization (populating sys info under PCI for instance) before, kernal panics in my case, this is something I wouldn't do. However, I'd like to contribute to this project and here what I would do: In order to avoid shuffles, I would either keep HS and SS names in the file names as your first example. Or I would change HH and SS prefixes with USB2 and USB3 and leave numbers. Just like:

Ps: I have an idea for listing backports as well, like Top to bottom, L1A , R1C as in Left, Right and Type A/C etc. As for Internals Int BT CR as in Bluetooth Card Reader. And in this way we keep the custom names short.

USB202 Rear L1A
USB203 Rear R1A
USB206 Int BT CR
USB301 Rear L6C
USB302 Rear R6A

Cheers!
 
Now we just have to ask @headkaze if he might consider allowing the columns to be resized in the Hackintool USB panel so we can see the new names.
Not only have I made the "Name" column wider you can now double click and edit the names to be whatever you like.

Although I think naming ports is one way to keep track of them I've come up with something I think works slightly better and it's a "Comment" column that will allow you to enter whatever you like for the port.
 
Back
Top