Contribute
Register

The New Beginner's Guide to USB Port Configuration

As it's the same hardware, try with/try without. Keep a UniBeast boot USB handy in case of accidents etc.
I was able to identify the ports upon manually searching for "USB" in IORegistryExplorer.
So perhaps I will hold on with the DSDT idea and try to build the kext manually for now.
I have attached the mapping for all ports that I'll be using. Strangely most of it are EHCI and only one UHCI.
The FDD are not detected when plugged into the NEC ports, and I am going to disregard those 2 ports altogether.
From hereon, how do I go about building the kext if the USBInjectAll.kext isn't working for me?

Check System Report for that floppy drive. It may need more power. Hard to tell from here.
I don't actually have any floppy drive installed. Could it be something else? Hope it is not one of my HDD
 

Attachments

  • Screen Shot 2020-06-13 at 19.44.25.jpg
    Screen Shot 2020-06-13 at 19.44.25.jpg
    199.4 KB · Views: 69
I was able to identify the ports upon manually searching for "USB" in IORegistryExplorer.
So perhaps I will hold on with the DSDT idea and try to build the kext manually for now.
I have attached the mapping for all ports that I'll be using. Strangely most of it are EHCI and only one UHCI.
The FDD are not detected when plugged into the NEC ports, and I am going to disregard those 2 ports altogether.
From hereon, how do I go about building the kext if the USBInjectAll.kext isn't working for me?


I don't actually have any floppy drive installed. Could it be something else? Hope it is not one of my HDD


Sorry, probably my misunderstanding. What is an FDD in post #796 ?

Use Hackintool to build a USBPorts.kext. We can then do without USBInjectAll once it is created.

If you highlight the two controllers at the bottom of your list, see what ports become visible. If there are none then we can still create a configuration "blind". For this you need to refer to my earlier Beginner's Guide.

Build a basic template as I outline but for EHC only, using the port map you have done above. That's great work by the way because you have all the addresses so know the order.

You might find it hit and miss, but persist. Once the basic EHC ports are in, compile with MaciASL and put the aml file in your EFI "patched" folder. Keep USBInjectAll in place and reboot.

This isn't easy I know - and as I said before nothing is compulsory. If you want to do this take your time. You are trailblazing really. How many others here use UHC ?

:)
 
Hello @UtterDisbelief I hope you are well and safe, long time no chat... I would like to post a tough one for you (perhaps for @headkaze and @Leesureone if they can help).

Having a MSI Z97i-AC with Core i7-4790K on Catalina 10.15.5 fresh install, Clover latest, using SSDT-EHCx_OFF (that successfully turns off my EHCI controller, as I can't turn off in BIOS) and using USBPorts.kext (in Clover's EFI folders) just for HS0x and SSPx devices. No kernel patches for USB port count etc. in Clover configuration.

However, despite my tweaking, I am always getting a "link-error-count" 0x7e0 on the first SSP1 device only:
SSP1-link-error-count.png

All subsequent SSP2 to SSP6 have value 0x0 as on my other Hackintosh.... but this one is a puzzling one... Any idea, anyone, what this link-error-count means? What is it about and if related to hardware, configurations, Clover etc.? I accidentally happen to see it when I was creating USBPorts.kext from scratch, counting each front/rear hardware port... P.S. this property does not exist for HSxx devices.

The ports are not renamed in Clover, they are vanilla per DSDT (that I have patched manually for basic stuff, getting ready for OpenCore, meaning adding devices and removing _DSM etc.) so nothing really out of the ordinary!

Has anyone else encountered any value for this link-error-count thing? Thank you all in advance for your input!
 
Last edited:
Hello @UtterDisbelief I hope you are well and safe, long time no chat... I would like to post a tough one for you (perhaps for @headkaze and @Leesureone if they can help).

Having a MSI Z97i-AC with Core i7-4790K on Catalina 10.15.5 fresh install, Clover latest, using SSDT-EHCx_OFF (that successfully turns off my EHCI controller, as I can't turn off in BIOS) and using USBPorts.kext (in Clover's EFI folders) just for HS0x and SSPx devices. No kernel patches for USB port count etc. in Clover configuration.

However, despite my tweaking, I am always getting a "link-error-count" 0x7e0 on the first SSP1 device only:
View attachment 475919
All subsequent SSP2 to SSP6 have value 0x0 as on my other Hackintosh.... but this one is a puzzling one... Any idea, anyone, what this link-error-count means? What is it about and if related to hardware, configurations, Clover etc.? I accidentally happen to see it when I was creating USBPorts.kext from scratch, counting each front/rear hardware port...

The ports are not renamed in Clover, they are vanilla per DSDT (that I have patched manually for basic stuff, getting ready for OpenCore, meaning adding devices and removing _DSM etc.) so nothing really out of the ordinary!

Has anyone else encountered any value for this link-error-count thing? Thank you all in advance for your input!


Well I look forward to hearing what everyone else thinks. :thumbup:

"link-error-count" is what it says it is. A count of the number of times a USB link has seen data errors - but usually recovered because of resends etc.

I would check the DSDT for errors on that port (e.g. address) if you haven't used the standard configuration methods.

:)
 
Thank you @UtterDisbelief and @P1LGRIM to both, now this became a much more strange issue! So not only does this value remain the same (i.e. if it were errors, would they not change in numbers?) but also your real MBP has this link-error-count property too with same value?!? Wow. And our hardware may not be even closely similar, as you saw my motherboard is Z97 with 4th Generation Core i7... So I am not sure this is some Catalina bug or side-effect?

This excludes errors on my DSDT patching effort (that I have x10 checked, anyway) so what could this thing mean? TiA

P.S. My SSP1 per my notes is a USB v3.0 just under the right Ethernet socket (I have 2) not even plugged to something... "link errors" out of thin air :D :D :D
 
Thanks @P1LGRIM you may actually be right, it may be something that doesn't qualify as a problem for once :D Just was interesting to ask the forum here. Thanks again.
 
Sorry, probably my misunderstanding. What is an FDD in post #796 ?

Use Hackintool to build a USBPorts.kext. We can then do without USBInjectAll once it is created.

If you highlight the two controllers at the bottom of your list, see what ports become visible. If there are none then we can still create a configuration "blind". For this you need to refer to my earlier Beginner's Guide.

Build a basic template as I outline but for EHC only, using the port map you have done above. That's great work by the way because you have all the addresses so know the order.

You might find it hit and miss, but persist. Once the basic EHC ports are in, compile with MaciASL and put the aml file in your EFI "patched" folder. Keep USBInjectAll in place and reboot.

This isn't easy I know - and as I said before nothing is compulsory. If you want to do this take your time. You are trailblazing really. How many others here use UHC ?

:)
Oops sorry it was my bad, I was referring to flash disk drive :oops:

No matter which controller I select, it persistently just shows the 1 port where my mouse is attached.
But hope I understand this correctly.
So firstly, I have to reinstall the USBInjectAll.kext (I presume I can use the kext from Clover Configurator?)
Then would I be able to proceed to install the "Mojave 10.14.4 port-limit removal patch" even if I am on 10.14.6?
And to rename them, since there is a pre-made patch for USBE to EH02 in IORegistryExplorer, I can simply select that.
But what of the USB5 and USE2 ports, how to I know which HEX to replace?
From hereon, which is the completing of the SSDT-USB-Template.dsl file, things seems to be overwhelming for me. But sure hope I can see this through the end :D

On a different note, seeing how a flash drive gets detected on every port, but not with my printer and soundcard (and now scanner). Could it be that the only issue is its driver?
 

Attachments

  • Screen Shot 2020-06-14 at 12.47.10.jpg
    Screen Shot 2020-06-14 at 12.47.10.jpg
    189.3 KB · Views: 56
@P1LGRIM @konsti

It is interesting though. Thanks for highlighting.
Oops sorry it was my bad, I was referring to flash disk drive :oops:

No matter which controller I select, it persistently just shows the 1 port where my mouse is attached.
But hope I understand this correctly.
So firstly, I have to reinstall the USBInjectAll.kext (I presume I can use the kext from Clover Configurator?)
Then would I be able to proceed to install the "Mojave 10.14.4 port-limit removal patch" even if I am on 10.14.6?
And to rename them, since there is a pre-made patch for USBE to EH02 in IORegistryExplorer, I can simply select that.
But what of the USB5 and USE2 ports, how to I know which HEX to replace?
From hereon, which is the completing of the SSDT-USB-Template.dsl file, things seems to be overwhelming for me. But sure hope I can see this through the end :D

On a different note, seeing how a flash drive gets detected on every port, but not with my printer and soundcard (and now scanner). Could it be that the only issue is its driver?


Hi there.

No, the 10.14.4 Mojave PLRP will probably not work with 10.14.6. Another reason for the "blind" approach.

Clover Configurator has a built-in Hex-Text-Decimal converter built-in. Take a look in the left-hand column. Fourth item up from the bottom = HEX converter. So for "USE2" which is the one not pre-configured in the menu, I make that "55534532" and "EH01" = "45483031" :)

Don't worry if it all seems too daunting. As I constantly say, it's not compulsory. If your ports work, let them be .Mojave was never coded for UHC controllers. We are just trying to configure the EHC.

When you decide to Print a document does your printer model appear in the top line of the Print window? If so then drivers are installed.

As for the other devices, I don't know why they don't appear. Maybe not enough power being supplied by the port. If you go into System-Report and they don't show up in the USB panel then this might be the case. Either that or an inactive USB port. Sorry that is difficult to determine remotely.

:)
 
Back
Top