Contribute
Register

<< Solved >> USB 2.0 not working on macOS Mojave

Status
Not open for further replies.
Joined
Aug 12, 2019
Messages
47
Motherboard
Gigabyte X79-UD3
CPU
Xeon E5 1650v2
Graphics
RX570
Mobile Phone
  1. iOS
Hi, I successfully installed macOS Mojave on my PC and everything works except for 2.0 USB ports. 3.0 works well. USB 2.0 controllers are recognized but not working. If I connect something in the USB port it isn't even powered. I have already USBInjectAll.kext and XHCIUnsupported.kext installed in L/E. Someone can help me? Thanks!

EDIT:

Good news! I've done it!
I'm going to write down the steps:
- Rename of EUSB to EH01
- Rename of USBE to EH02
- Enabled ClockID, FixOwnership and USBInject in "devices" section of Clover
- Changed SMBIOS to iMac14,2
- Changed USB port limits patch (reverted to old ones)
- Moved USBInjectAll.kext and USBFL_1009.kext to /EFI/CLOVER/kexts/Other (removing the FL_1009 one makes 3.0 USB down).
 
Last edited:
Hi, I successfully installed macOS Mojave on my PC and everything works except for 2.0 USB ports. 3.0 works well. USB 2.0 controllers are recognized but not working. If I connect something in the USB port it isn't even powered. I have already USBInjectAll.kext and XHCIUnsupported.kext installed in L/E. Someone can help me? Thanks!

Hello.

Your motherboard uses Fresco chips to provide 4x USB 3.0 ports, 2x on the back panel and 2x internal. All the other USB 2.0 ports are Intel ones provided by the X79 chipset.

This means your main ports are on the EHCI controllers, not XHCI. An X79 does not have an XHC controller.

To get these working add the two EHC1 & EHC2 renames in the ACPI section of your config.plist, using Clover Configurator is easiest. They should be seen by macOS as EH01 & EH02 instead. See the pull-down list of options in Clover Configurator :thumbup:. To double-check all is correct you can see the results in the IORegistryExplorer app.

Your USB 3.0 Fresco ports will work as they are not a part of the EHCI (or XHCI) sub-system. You should not need XHCI-unsupported.kext either.

:)
 
Last edited:
Hello.

Your motherboard uses Fresco chips to provide 4x USB 3.0 ports, 2x on the back panel and 2x internal. All the other USB 2.0 ports are Intel ones provided by the X79 chipset.

This means your main ports are on the EHCI controllers, not XHCI.

To get these working add the two EHC1 & EHC2 renames in the ACPI section of your config.plist, using Clover Configurator. They should be EH01 & EH02 instead. See the pull-down list of options :thumbup: Check before and after with IORegistryExplorer app.

Your USB 3.0 Fresco ports will work as they are not a part of the EHCI (or XHCI) sub-system. You should not need XHCI unsupported.kext either.

:)

Hi, thank you for your answer. Btw, I already renamed the EHC1 and ECH2 to EH01 and EH02 but it still won't work
I checked on IORegistryExplorer and I found some XHCI controllers and an EUSB device.
 

Attachments

  • Schermata 2019-09-24 alle 15.53.54.png
    Schermata 2019-09-24 alle 15.53.54.png
    73.4 KB · Views: 255
Last edited:
Hi, thank you for your answer. Btw, I already renamed the EHC1 and ECH2 to EH01 and EH02 but it still won't work
I checked on IORegistryExplorer and I found some XHCI controllers and an EUSB device.

Ah good :thumbup:

You need to check further "left" in that IOReg image to identify which "nodes" on the IOReg tree they are attached to.

It's a plain fact that the X79 does not have a built-in XHCI controller so they must be from somewhere else (out of interest the X99 does etc). The add-on Fresco ports you have will probably show in the RP/PR section instead of the XHC - which the Intel chip does not have.

Also you need to review which kexts you have installed. All you need is USBInjectAll.kext and a port-limit removal patch for your version of macOS. If you have installed FakePCIID_XHCIMux.kext then that can confuse things.

Look at About This Mac / System Report / USB - USB Device Tree, then check the panel below for Device IDs.

The X79 EHC controllers are: 8086_1d26 and 8086_1d2d. You will probably have two more, for the Fresco chips.

:)
 
Last edited:
Ah good :thumbup:

You need to check further "left" in that IOReg image to identify which "nodes" on the IOReg tree they are attached to.

It's a plain fact that the X79 does not have a built-in XHCI controller so they must be from somewhere else (out of interest the X99 does etc). The add-on Fresco ports you have will probably show in the RP/PR section instead of the XHC - which the Intel chip does not have.

Also you need to review which kexts you have installed. All you need is USBInjectAll.kext and a port-limit removal patch for your version of macOS. If you have installed FakePCIID_XHCIMux.kext then that can confuse things.

Look at About This Mac / System Report / USB - USB Device Tree, then check the panel below for Device IDs.

The X79 EHC controllers are: 8086_1d26 and 8086_1d2d. You will probably have two more, for the Fresco chips.

:)

I tried removing all XHCI-related kext but all the USB ports (even 3.0 ones) stopped working. I already tried with USBInjectAll + USB ports patch but it won't work.
I digged into the IORegistryExplorer and I just found 2 XHCI controllers for Fresco's USB but nothing about EHCI (I'm attaching it here).
 

Attachments

  • Schermata 2019-09-24 alle 16.30.05.png
    Schermata 2019-09-24 alle 16.30.05.png
    542.3 KB · Views: 239
I tried removing all XHCI-related kext but all the USB ports (even 3.0 ones) stopped working. I already tried with USBInjectAll + USB ports patch but it won't work.
I digged into the IORegistryExplorer and I just found 2 XHCI controllers for Fresco's USB but nothing about EHCI (I'm attaching it here).

Hello.

Okay... Depends on which XHC kexts you removed. Original Apple ones should be left alone. I only recommended removing FakePCIID_XHCIMux.kext. XHCI-unsupported is just not needed.

As you can see from your latest screengrab, those ports are not on the EHC part of the tree (nor even the XHC). For macOS to configure them they need to be on one or the other.

Something is missing here and I can't see enough detail, remotely.

Perhaps post your IOReg output file here and details of what is in your L/E and EFI/CLOVER/kexts/Other folders. Also your config.plist (less the serial numbers etc).

Your choice, obviously. Not compulsory.
:)
 
OK, I removed just those 2 kexts but all the USB stopped working. I'm attaching everything you asked.
 

Attachments

  • config.plist
    5.3 KB · Views: 99
  • IORegistryOutput.ioreg
    7.1 MB · Views: 78
  • Schermata 2019-09-24 alle 17.39.11.png
    Schermata 2019-09-24 alle 17.39.11.png
    155.6 KB · Views: 98
  • Schermata 2019-09-24 alle 17.39.39.png
    Schermata 2019-09-24 alle 17.39.39.png
    245.5 KB · Views: 83
OK, I removed just those 2 kexts but all the USB stopped working. I'm attaching everything you asked.

Okay, that's great. Thanks.

Lots to get through for this one, so bear with me. I'll number each different thing that I notice:

1) You need the EUSB and USBE renames to get your EHC controllers showing-up:

CC.jpg


The EHC renames don't appear to be needed in your case. See what difference those two extra renames make :thumbup:

2) In the EFI/CLOVER/kexts/Other directory I see a "USBXHC_FL1009.kext". Where did that come from? It looks like it should be a Fresco driver.

This is what is giving you the impression of an XHCI controller. macOS will accept any add-on cards with third-party chipsets, and generally they will work. With the extra chipsets on a PC motherboard, this is how they are treated. Not as a 'real' XHCI controller. This is why they show up in the PEX area of the IOReg tree.

You also have GenericUSBXHCI.kext installed, which is designed for all these third-party USB chipsets, so is doing the same job. I would remove the USBXHC_FL1009.kext and test again, leaving the Generic driver in place.

Let me know how you get on.

:)
 
Okay, that's great. Thanks.

Lots to get through for this one, so bear with me. I'll number each different thing that I notice:

1) You need the EUSB and USBE renames to get your EHC controllers showing-up:

View attachment 427294

The EHC renames don't appear to be needed in your case. See what difference those two extra renames make :thumbup:

2) In the EFI/CLOVER/kexts/Other directory I see a "USBXHC_FL1009.kext". Where did that come from? It looks like it should be a Fresco driver.

This is what is giving you the impression of an XHCI controller. macOS will accept any add-on cards with third-party chipsets, and generally they will work. With the extra chipsets on a PC motherboard, this is how they are treated. Not as a 'real' XHCI controller. This is why they show up in the PEX area of the IOReg tree.

You also have GenericUSBXHCI.kext installed, which is designed for all these third-party USB chipsets, so is doing the same job. I would remove the USBXHC_FL1009.kext and test again, leaving the Generic driver in place.

Let me know how you get on.

:)
Thank you for the tips, I’ll try soon as I can and let you know
 
Okay, that's great. Thanks.

Lots to get through for this one, so bear with me. I'll number each different thing that I notice:

1) You need the EUSB and USBE renames to get your EHC controllers showing-up:

View attachment 427294

The EHC renames don't appear to be needed in your case. See what difference those two extra renames make :thumbup:

2) In the EFI/CLOVER/kexts/Other directory I see a "USBXHC_FL1009.kext". Where did that come from? It looks like it should be a Fresco driver.

This is what is giving you the impression of an XHCI controller. macOS will accept any add-on cards with third-party chipsets, and generally they will work. With the extra chipsets on a PC motherboard, this is how they are treated. Not as a 'real' XHCI controller. This is why they show up in the PEX area of the IOReg tree.

You also have GenericUSBXHCI.kext installed, which is designed for all these third-party USB chipsets, so is doing the same job. I would remove the USBXHC_FL1009.kext and test again, leaving the Generic driver in place.

Let me know how you get on.

:)
I just tried this, but renaming EUSB and USBE did not the trick. I tried also to remove the USBXHC_FL1009.kext but, without it, all USBs stopped working. I removed the GenericUSBXHCI.kext leaving the FL1009 one and USB 3.0 works as always but USB 2.0 are still down.
 
Status
Not open for further replies.
Back
Top