[ASK ABOUT USB 3 DETECTION TOOL] USBToolbox only detect usb2.0 port on my usb3.0 port

pink101

New member
AMD OS X Member
Joined
Nov 11, 2021
Messages
20
From what i understand, to make USB 3.0 work, you need to use some usb mapping tools, so i use USBToolbox on my windows machine, based on the detection tools, it shows that my USB 3.0 drive is detected only on USB 2.0 port, can someone explain why is that? on the screenshot i attached, it shows that both USB2.0 and USB3.0 drive were mapped to the same USB2.0 port on my PC... if im not mistaken, the USB3.0 drive should be detected on USB3.0 port on the PC? yes?
 

Attachments

  • IMG_20220414_110551.jpg
    IMG_20220414_110551.jpg
    1.3 MB · Views: 18

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
You are forgetting about one of the main statements made on the developers Github page - https://github.com/USBToolBox/tool
  • Make educated guesses for port types (on Windows)
That means the port types are not necessarily going to be accurate, and are likely to need amending manually by the user, when the guess is wrong.

As is the case with your USB3 ports. If you know they are wrong, change the port connector type to the correct one, before creating the kext.
 

pink101

New member
AMD OS X Member
Joined
Nov 11, 2021
Messages
20
You are forgetting about one of the main statements made on the developers Github page - https://github.com/USBToolBox/tool
  • Make educated guesses for port types (on Windows)
That means the port types are not necessarily going to be accurate, and are likely to need amending manually by the user, when the guess is wrong.

As is the case with your USB3 ports. If you know they are wrong, change the port connector type to the correct one, before creating the kext.
thank's edhawk, however... after adjusting the port type and generate the kext, USB 3.0 still not working... dont know why... sometimes, if i plugged it (USB drive) long enough, it will poorly detect the device, but when i click the icon, it wont open(hang)... it's weird, because not only that it takes a really long time to detect (any) USB drive, it also only load AppleOHCIPCI on my USB 2.0 port, but at least on the USB 2.0 port it doesnt hang and it read/write just fine....
did AppleXHCIPCI is actually compatible with any XHCI controller? or it isn't always compatible? because if i remember correctly, when i install Mojave on my system, it can detect USB3.0 just fine...
 

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
Were you using Clover and any USB ACPI rename patches when you were running Mojave on your system, or just an earlier version of OpenCore?

Post a copy of your new/revised USBMap.kext, so we can see what you are using.

What does your system show in Hackintool, on the USB tab, can you post a screenshot of the Usb tab?
 

pink101

New member
AMD OS X Member
Joined
Nov 11, 2021
Messages
20
Were you using Clover and any USB ACPI rename patches when you were running Mojave on your system, or just an earlier version of OpenCore?

Post a copy of your new/revised USBMap.kext, so we can see what you are using.

What does your system show in Hackintool, on the USB tab, can you post a screenshot of the Usb tab?
Sorry about Mojave Clover settings, i couldn't find the backup of the EFI settings.. i thought i had it backed up, but i searched in all my backup harddrive but couldn't find any...
as for USBMap.kext and screenshot, i'll attach them in this post..., also.. i just want to confirm, if USB2.0 is properly detected by the OS, in system report should it say USB 2.0 or it will only say USB Bus like in the screenshot? btw, like i said it before, it took a really long time for the USB drive to be detected in USB 3.0 port, and if the drive icon shows on desktop, if i clicked it, it will show rotating beachball...
 

Attachments

  • USBMap.kext.zip
    1.7 KB · Views: 2
  • Screenshot 2022-04-15 at 22.24.20.png
    Screenshot 2022-04-15 at 22.24.20.png
    634.5 KB · Views: 14
  • screen.jpg
    screen.jpg
    29.4 KB · Views: 15

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
Ok there is definitely something wrong with your USB configuration.

Your USBMap.kext is activating 10 ports, as follows:
OHC1
  1. PRT1 - USB2
  2. PRT2 - USB2
  3. PRT3, PRT4 and PRT5 are disabled
OHC2
  1. PRT1 - USB2
  2. PRT2 - USB2
  3. PRT3 - USB2
  4. PRT4 - USB2
OHC4
  1. PRT1, PRT2, PRT3, PRT4, PRT5, PRT6, PRT7, PRT8 and PRT9 all disabled
  2. PR10, PR11, PR12, PR13 and PR14 all disabled
XHC0
  1. HS01 - USB3
  2. HS02 - USB3
  3. SS01 - USB3
  4. SS02 - USB3
Your screenshot from Hackintool > Usb tab shows the following:

Screenshot 2022-04-15 at 18.53.53.png

There are other USB ports visible in the USB tab, but they are not shown in the screenshot, as indicated by the vertical slider.

Only 3 of the 4 USB controllers are visible/present. OHC1 is not present in this configuration. So I can only assume that this screenshot was taken while an old configuration was being show.

To get Hackintool to show the current setup/configuration for the USB ports you need to select the Clear All icon (3rd from left) and then the Refresh icon (4th from left). This will clear any all the ports then repopulate the screen with the current USB port configuration.

You need to do this so I can see what is present.

You may want to stretch the Hackintool screen after refreshing the window. The mouse pointer will turn in to a double ended arrow pointer when you place it on the side, top or bottom of the Hackintool window. It can be stretched to show all the ports being activated.

You may also want to upgrade the version of Hackintool you are using, the latest is version 8.3.7. You are using version 3.04, which is quite an old version of the application. Here is a link to the latest version of Hackintool - Download Hackintool

As you are able to open IOregistryExplorer, can you create a copy and attach it here.

So as you have seen already, some AMD USB Controllers don't work very well in macOS. My old Asus Sabertooth motherboard is one such case. The ports are supposed to be USB2 and USB3 but I'm lucky if some of the ports work at USB1.0 speed.
 

pink101

New member
AMD OS X Member
Joined
Nov 11, 2021
Messages
20
Ok there is definitely something wrong with your USB configuration.

Your USBMap.kext is activating 10 ports, as follows:
OHC1
  1. PRT1 - USB2
  2. PRT2 - USB2
  3. PRT3, PRT4 and PRT5 are disabled
OHC2
  1. PRT1 - USB2
  2. PRT2 - USB2
  3. PRT3 - USB2
  4. PRT4 - USB2
OHC4
  1. PRT1, PRT2, PRT3, PRT4, PRT5, PRT6, PRT7, PRT8 and PRT9 all disabled
  2. PR10, PR11, PR12, PR13 and PR14 all disabled
XHC0
  1. HS01 - USB3
  2. HS02 - USB3
  3. SS01 - USB3
  4. SS02 - USB3
Your screenshot from Hackintool > Usb tab shows the following:

View attachment 5707

There are other USB ports visible in the USB tab, but they are not shown in the screenshot, as indicated by the vertical slider.

Only 3 of the 4 USB controllers are visible/present. OHC1 is not present in this configuration. So I can only assume that this screenshot was taken while an old configuration was being show.

To get Hackintool to show the current setup/configuration for the USB ports you need to select the Clear All icon (3rd from left) and then the Refresh icon (4th from left). This will clear any all the ports then repopulate the screen with the current USB port configuration.

You need to do this so I can see what is present.

You may want to stretch the Hackintool screen after refreshing the window. The mouse pointer will turn in to a double ended arrow pointer when you place it on the side, top or bottom of the Hackintool window. It can be stretched to show all the ports being activated.

You may also want to upgrade the version of Hackintool you are using, the latest is version 8.3.7. You are using version 3.04, which is quite an old version of the application. Here is a link to the latest version of Hackintool - Download Hackintool

As you are able to open IOregistryExplorer, can you create a copy and attach it here.

So as you have seen already, some AMD USB Controllers don't work very well in macOS. My old Asus Sabertooth motherboard is one such case. The ports are supposed to be USB2 and USB3 but I'm lucky if some of the ports work at USB1.0 speed.
thanks edhawk for all your help... here's the screenshot of hackintool and an ioregistryexporer saved file along with my opencore folder... i think if someone as expert as you said that some AMD USB controller doesn't work, then it's possible that mine is one of them...😭 note that in OC folder there's bunch of unused kext and ACPI stuff leftover from my testing... i hope it could help somebody in the future..

btw, just out of curiosity, in some hackintosh setups, sometimes we use XHCI-unsupported.kext, which is just a plist to load appleusbxhcipci... myquestion is, does the IOClass Tag inside the plist mean that for if the hardware id matched with IOPCIPrimaryMatch value, then load the section from appleusbxhcipci kext the class that match with IOClass? Maybe there's some IOClass that match with AMD hardware id that can be loaded using this XHCI-unsupported.kext.... the problem is that i don't have enough skill to check my theory.:cry:
 

Attachments

  • Screenshot 2022-04-16 at 02.07.38.png
    Screenshot 2022-04-16 at 02.07.38.png
    176 KB · Views: 14
  • ioreg.zip
    1.7 MB · Views: 4
  • OC.zip
    3.9 MB · Views: 6
Last edited:

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
The kext is helpful for Intel systems. It is not designed to work with most AMD systems. So it may have some benefits for specific motherboards. I can't say for sure at this time if it would help yours, as I haven't had a look at your IOReg and OC folder etc.

But I can tell from a quick glance that the Hackintool USB tab now only shows the USB ports you have active in your USBMap.kext. Including the previously missing OHC1 controller.

I will have a look at what you provided and get back to you tomorrow (Saturday).
 

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
Changed my mind.

The first thing I have done after downloading the OC folder above is look in to the workings o fate numerous USB 'helper' kexts in your setup. the screenshot below shows the kexts in your /EFI/OC/Kexts folder. You will notice that all the kexts have been set with a Red (not required) and a Green (required) tag. To make it easier to identify which kext you need and which do nothing for your system.

Screenshot 2022-04-15 at 23.56.11.png /OC/Kexts folder with tagged kexts.

Most of the USB related kexts do nothing for your AMD system. Most are set as disabled in the config.plist. From an inspection of the info.plist in each kext, I can see that your AMD USB Controllers would never match with the conditions set in each kext. The 'DummyUSB.... kexts' both are set for Intel systems and laptops using the MacBook5,2 system definition.

The exception to this is the version of the XHCI-unsupported.kext, which has an unusual AMD entry added to the kext. This if enabled in your config.plist may help. But this kext is only of use while undertaking the USB port discovery. Once you have a USBMap.kext configured it does nothing, as the USBMap.kext contains the necessary information for any XHCx USB Controllers.

USBInjectAll.kext is similar in that respect. But it also only works for Intel USB Controllers or those with specific naming conventions, such as EH01 and EH02. None of the USB Controllers in your setup are named EH01 or EH02, so it provides no benefit having this kext in your setup.

I would recommend amending your /OC/Kexts folder to contain these kexts only.

Screenshot 2022-04-16 at 00.08.03.png Revised kext folder.

Removing the unused kexts from the config.plist would also be sensible.

I can't open the IOReg you provided it says it is corrupted.

Can you use the version of IORegistryExplorer attached below and make a new copy of the IOReg.

Do not add .ioreg to the file name, leave it as it comes with no file extension.
 

Attachments

  • IORegistryExplorer-SLRID_v10.6.3.zip
    254.5 KB · Views: 2

pink101

New member
AMD OS X Member
Joined
Nov 11, 2021
Messages
20
Removing the unused kexts from the config.plist would also be sensible
yeah.... i usually do that after i get a stable system... if i'm still testing stuff i usually left the kext in the folder and just disabled them in config.plist


I can't open the IOReg you provided it says it is corrupted.
after i checked with ioregistryexlporer from your attachement, it is indeed cannot open the file that i gave you in previous post, it's probably because your ioregexporer version is older than the one i used, so here's the ioreg file saved from your version of ioregexplorer...

oh, and the AMD entry in the xhci-unsupported.kext is there because i put them there, just to test if maybe my xhci controller could be compatible with one of them (which i found out later that none of them are compatible) because sometimes some hardware from one manufacturer can be compatible with other driver from other manufacturer...
 

Attachments

  • Mac Pro.zip
    374.7 KB · Views: 2

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
From your IOReg I can see the following:
  1. Lilu.kext, VirtualSMC.kext, WhateverGreen.kext, RealtekRTL8111.kext and USBInjectAll.kext are all being used.
  2. However, the USBInjectAll.kext is not doing anything for your AMD System. I would recommend you remove or disable this kext.
  3. It wasn't present in the EFI I edited, so do you have USBInjectAll.kext installed in your /Library/Extensions folder?
  4. Do you have any other kexts installed to the /Library/Extensions folder?
  5. XHCI-unsupported is not doing anything for your system. It can be deleted.
  6. There is an EHC1 and and EHC2 USB controller shown in the IOReg. These are attached to XLNCUSBFIX.kext, but neither have any ports attached.
  7. USB controllers OHC1, OHC2 and the unused OHC4 are all connected via com.apple.driver.usb.AppleUSBOHCIPCI, as expected.
  8. USB controller XHC0 is connected via com.apple.driver.usb.AppleUSBXHCIPCI, as expected.
  9. All the ports shown in the Hackintool window have matching entries in the IOReg, again as expected and wanted.
  10. You have the Serial Port on your motherboard enabled in your Bios. This needs to be disabled, as it can cause a number of issues if left enabled when running macOS.
 

pink101

New member
AMD OS X Member
Joined
Nov 11, 2021
Messages
20
It wasn't present in the EFI I edited, so do you have USBInjectAll.kext installed in your /Library/Extensions folder?
No, but it was added to the OC folder after i attached the EFI folder just to test if it'll make a difference ( and it doesn't, like you said, it didnt do anything) i removed it now.

Do you have any other kexts installed to the /Library/Extensions folder?
No, it was a fresh install... every kext i tested i put in OC/kext/ folder...

XHCI-unsupported is not doing anything for your system. It can be deleted.
Yup, already deleted that too...

You have the Serial Port on your motherboard enabled in your Bios. This needs to be disabled, as it can cause a number of issues if left enabled when running macOS.
OK... disabled it now...


  1. There is an EHC1 and and EHC2 USB controller shown in the IOReg. These are attached to XLNCUSBFIX.kext, but neither have any ports attached.
  2. USB controllers OHC1, OHC2 and the unused OHC4 are all connected via com.apple.driver.usb.AppleUSBOHCIPCI, as expected.
  3. USB controller XHC0 is connected via com.apple.driver.usb.AppleUSBXHCIPCI, as expected.
Now this is what i find it confusing... see, the port itself is USB 2.0 (and some USB3.0 port but for now i consider the USB3.0 port unusable)... in linux if i put a USB2.0 device, the driver that loaded automatically adjusting to the need (which is ehci-pci) and when i plugged in a USB1.1 device on the same (physical)port, the driver automatically load ohci-pci (see attachment), now how come in hackintosh, it always load ohci driver and never load the ehci driver regardless of what type of USB device i put in the port... i think that's why during the installation it was soooo slow... is there a way to make the USB 2.0 usable? because i think USB1.1 is somehow too slow for anything... for instance, if i want to createinstallmedia using this port will take a really long time...

i also attach user manual for my mobo... maybe can be helpful somehow...

oh, and in linux dmesg there's some line that said something like "applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround" maybe there's some "quirks" that this chipset has, so to make the echi port to work, there has to be some adjustment somewhere.... maybe in config.plist or maybe kext patching... i don't know man... i don't have the skillset to analize this :D🤣
 

Attachments

  • usb2-test-for-edhawk.png
    usb2-test-for-edhawk.png
    226.4 KB · Views: 4
  • usb1-test-for-edhawk.png
    usb1-test-for-edhawk.png
    306.6 KB · Views: 4
  • ENUA68N-5600.zip
    3.1 MB · Views: 0
  • OC.zip
    3.8 MB · Views: 4
  • ehci-workaround.txt
    1.3 KB · Views: 2
Last edited:

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
I was thinking along the lines of adding a pair of ACPI rename patches to your setup. To rename OHC1 to EH01 and OHC2 to EH02. Maybe that way the USB ports/controllers will attach to the other kext, and show as USB2 ports, not as they currently do, i.e. USB1/1.1 (OHCx).

These rename patches may change things for the better.

Screenshot 2022-04-17 at 20.02.20.png OHCx to EH0x rename patches

See the revised OC config.plist below, it contain a number of ACPI rename patches for OHCx to EH0x, for OHC1, OHC2 OHC3 (disabled) and OHC4.

Try booting with this revised config.plist in place of your current one and see if it makes any difference to which kext is assigned to the USB2 ports and if they show as USB2 ports in System Information > USB report.
 

Attachments

  • OpenCore.efi.zip
    265.1 KB · Views: 2

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
You will need to remove or disable the USBMap.kext in your current setup. As it will still refer to the USB controllers using their OhCx names which will cause confusion when you boot.

You will need to generate a new USBPorts.kext or USBMap.kext with the rename patches in place, assuming they work.
 

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
Assuming this works you may need to use another ACPI rename patch to get the USB3 controller renamed from XHC0 to XHC. This would be similar to a rename patch used on a lot of older Intel systems.

Screenshot 2022-04-17 at 20.23.06.png

Yes the' ' at the end of XHC is important, as the rename Hex value needs to contain 4 pairs to work. As each pair of numbers/letters in the Find and Replace fields represents one of the text letters/numbers in the text name, e.g. the text value XHC0 = 58484330 as a Hex value.

Broken down further in to Hex pairs - X=58, H=48, C=43, 0=30 and _=5F
 

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
OK, I was curious about this and added some similar ACPI rename patches to the config.plist for my Asus Sabertooth 990FX/FX-8350 setup. The rename patches work. But the USB controllers don't show any ports in Hackintool. This is the same for my Asmedia USB3 ports, so no great loss.

They show in System Information > USB reports and in the IOReg, so it is simple enough to see which port is activated by each Controller and sub-port.

However, given your recent issues with regards USB2 port speed, I started looking in to the USB2 ports on my AMD motherboard. I found that all the USB ports work at USB 1.0/1.1 speed, i.e. 12Mb/s not USB2 speeds of 480Mb/s. This is the same with or without the rename patches. The USB2 controllers providing the front case ports, rear plate ports and internal motherboard ports simply do not work at USB2 speed, on my system. This is likely to be the same on yours.

The Asmedia ports provide USB2 and USB3 speeds or 480Mb/s and up to 5Gb/s respectively. But there are only 5 of these ports.
 

pink101

New member
AMD OS X Member
Joined
Nov 11, 2021
Messages
20
However, given your recent issues with regards USB2 port speed, I started looking in to the USB2 ports on my AMD motherboard. I found that all the USB ports work at USB 1.0/1.1 speed, i.e. 12Mb/s not USB2 speeds of 480Mb/s. This is the same with or without the rename patches. The USB2 controllers providing the front case ports, rear plate ports and internal motherboard ports simply do not work at USB2 speed, on my system. This is likely to be the same on yours.
yup... same thing here, rename patches doesn't increase the speed of my usb port... so i think for now i have to settle with usb1/1.1 speed... As for my USB3.0 port, i think it's just incompatible hardware and cannot do much about it. because the kext itself was loaded and if i plugged a USB drive, if i plug it long enough it will be detected, but it will make a spinning beachball everywhere... anyway... thank's alot for all your help...
 

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
I have just installed a 5 port USB card that has 2 x USB Type-A 3.2 ports and 3 x USB Type-C ports. It uses an Asmedia ASM 3142 chipset and works perfectly in my old AMD FX system, running Big Sur and Monterey.

This is the Amazon.co.uk link to the USB3 card - https://amazon.co.uk/gp/product/B09GTTHZH3/

It cost £29.99, so it's not overly expensive for a macOS compatible USB3.2 Gen 2 card.

It requires a PCIe 2.0 x4 slot or better to work. I installed it in a spare x16 slot and it works perfectly. No need to add any kexts, patches or anything.

There is another similar USB card that provides 3 x USB Type-A ports and 2 x USB Type-C ports, which uses the Fresco Logic FL1100 chipset. It too should work in Big Sur and Monterey. That one requires additional power to work.

 

pink101

New member
AMD OS X Member
Joined
Nov 11, 2021
Messages
20
I have just installed a 5 port USB card that has 2 x USB Type-A 3.2 ports and 3 x USB Type-C ports. It uses an Asmedia ASM 3142 chipset and works perfectly in my old AMD FX system, running Big Sur and Monterey.

This is the Amazon.co.uk link to the USB3 card - https://amazon.co.uk/gp/product/B09GTTHZH3/

It cost £29.99, so it's not overly expensive for a macOS compatible USB3.2 Gen 2 card.

It requires a PCIe 2.0 x4 slot or better to work. I installed it in a spare x16 slot and it works perfectly. No need to add any kexts, patches or anything.

There is another similar USB card that provides 3 x USB Type-A ports and 2 x USB Type-C ports, which uses the Fresco Logic FL1100 chipset. It too should work in Big Sur and Monterey. That one requires additional power to work.

sadly, my mobo's form factor is mini-itx with only one pci-e slot and it's used for graphic card, so it's a no go for me... thanks anyway...
 

Edhawk

Guru
Guru
Joined
May 2, 2020
Messages
2,348
Remind me, which mini-itx board are you using?
 
Back
Top Bottom
  AdBlock Detected
Sure, ad-blocking software does a great job at blocking ads, but it also blocks some useful and important features of our website. For the best possible site experience please take a moment to disable your AdBlocker.