Contribute
Register

Mojave 10.14.6 - strange USB behaviour

Status
Not open for further replies.
Joined
Feb 18, 2020
Messages
8
Motherboard
GIGABYTE GA-H170M-DS3H
CPU
i7-6700K @ 4.00GHz
Graphics
HD 530
Hello everyone, I've tried looking through the forum extensively and haven't found this issue described elsewhere. I'm hoping I can get help solving it.

I am having USB port issues where devices seem to become 'linked' to a certain port. That is, all ports function, USB 3 ports function at correct speeds, but certain devices will only work in 1 port. If removed and plugged into a different port, the computer doesn't recognize them, or acts as though their drivers are missing and they behave oddly, if at all. It began with a webcam only working on 1 port, and now an audio interface which is only recognized in 1 port. Then it got worse and the installed driver no longer communicates with said audio interface. I've double checked both devices with another computer (macbook air) and both work correctly. The problem is obviously on the hackintosh end.

I've tried reconfiguring my USB ports by:
1) following the steps mentioned here https://www.tonymacx86.com/threads/mojave-10-14-6-usb-2-0-3-0-3-1-fix.283739/
2) creating an SSDT using this guide https://www.tonymacx86.com/threads/a-beginners-guide-to-creating-a-custom-usb-ssdt.272505/

Neither have solved the problem, and now I'm at a loss.

Thank you ahead of time for your generous help!
 
Post a copy of your reconfigured SSDT-UIAC.aml, so we can see what you are using.

I assume you are using the XHCI to XHC rename patch, have disabled the USB Port Limit patches in your config.plist and have USBInjectAll.kext in your /CLOVER/kexts/Other folder.

Posting a screenshot of your USB ports as they show in Hackintool would also be helpful.
 
Post a copy of your reconfigured SSDT-UIAC.aml, so we can see what you are using.

I assume you are using the XHCI to XHC rename patch, have disabled the USB Port Limit patches in your config.plist and have USBInjectAll.kext in your /CLOVER/kexts/Other folder.

Posting a screenshot of your USB ports as they show in Hackintool would also be helpful.
Thanks for the reply Edhawk.

My motherboard already had all USB ports named XHC (as per IOregistry) so I did not use the XHCI to XHC patch.
The guide (item 2 in OP) I used did not say to name SSDT-UIAC.aml, I named mine SSDT_USB.aml. If that is what you are referring to, that is what I've attached. I've also attached screenshots of Hackintool USB and a few from Clover Configurator that I thought might be useful, as well as kexts in "/CLOVER/kexts/Other" folder.

I greatly appreciate your help!

FYI: I don't know that it's relevant, but just in case, I have been running this hackintosh for about 5 years, starting with Snow Leopard. I updated to High Sierra, and eventually Mojave. The USB thing has never been a huge issue until recently when the Audio Interface began acting up. The Interface ended up being replaced on warranty and then, the new unit did the exact same thing. Uh oh... that means the problem is on my end...
 

Attachments

  • SSDT_USB.aml
    692 bytes · Views: 36
  • Capture d’écran, le 2021-03-06 à 19.40.06.png
    Capture d’écran, le 2021-03-06 à 19.40.06.png
    63.2 KB · Views: 56
  • Capture d’écran, le 2021-03-06 à 19.40.39.png
    Capture d’écran, le 2021-03-06 à 19.40.39.png
    222.5 KB · Views: 61
  • Capture d’écran, le 2021-03-06 à 19.41.07.png
    Capture d’écran, le 2021-03-06 à 19.41.07.png
    237.7 KB · Views: 62
USB:
Ok, you have some redefining to do with regards your SSDT-USB.aml. Good news is you have only 15 ports active and the USB 3.0 ports are set just fine.

However, all the HS01 - HS14 ports (9 ports) are set with the USB Connector type 'Zero', which indicates they are USB2 ports. This is not what your system or macOS requires.

Any motherboard USB2 header ports need to be set with the connector type '255' or 'Internal'

Any USB2 ports, which are connected to one of the six USB3 ports need to be set with the connector type '3', yes they need to be set as USB3 ports for this exercise, otherwise they don't work correctly. Same goes for the USB2 ports that are available from the motherboard headers, if they are not set as internal/255 then they don't work correctly either.

These are the USB ports available on your motherboard:
  1. 8 x USB 3.0/2.0 ports (4 ports on the back panel, 4 ports available through the internal USB headers)
  2. 6 x USB 2.0/1.1 ports (2 ports on the back panel, 4 ports available through the internal USB headers)
Screen image of the Rear I/O plate from your motherboard:

1000.pngRear I/O USB ports

Layout image of your motherboard:

Screenshot 2021-03-07 at 22.22.22.png Motherboard USB header ports

Therefore
  • Only two of the HSXX ports should have the connector type 'Zero'.
  • Up to eight USB2 ports could have the connector type 'Internal' (255).
  • Strangely all of the USB3 ports should have the connector type '3', including any from the two internal headers.
Notes about the Internal USB2 headers:
  • You may not be using both internal USB2 header ports.
  • But I would expect the case to require at least one of the two headers for the front case USB2 ports.
  • The other internal USB2 header port may be required for a card reader, if you have one installed in your case.
  • Alternatively one may be used for your Bluetooth connection, if you have a Bluetooth USB connector in your system.
  • The Bluetooth connector usually takes up the full space of the header but only uses the connection from one of the two USB ports on the header.
You are advised to go back to the USB Configuration guide, review what you have done and try to set the connection types correctly.

I would recommend you add XHCI-Unsupported.kext to your /CLOVER/kexts/Other folder. As it should work with your 100-series Skylake USB ports.

Audio:
You have two audio kexts in your /CLOVER/kexts/Other folder:
  • AppleALC.kex
  • RealtekALC.kext
You don't need both of these kexts.

AppleALC.kext will work just fine with the Realtek ALC887 audio codec used in your motherboard. As long as you have the correct layout-id injected in the Devices > Audio section of your config.plist, usually layout-id=1.

I would recommend you delete the RealtekALC.kext.

Config.plist patches:
The patches you are showing in the two screenshots from Clover Configurator are not useful with your system if I am honest.

Capture d’écran, le 2021-03-06 à 19.40.39.pngClover Configurator - ACPI Fixes 1

I would recommend you enable the patches, fixes and options highlighted in a RED rectangle.

Delete the two DSDT/SSDT rename patches highlighted in the magenta rectangle, as these renames are dealt with by WhateverGreen.kext.

On the ACPI fixes '2' tab I would recommend you enable these Five fixes:

Screenshot 2021-03-07 at 22.57.11.png Clover Configurator - ACPI Fixes 2

Kernel & Kext Patches:
The only patch you need to retain in the list of Kext patches displayed in the screenshot below is the External Icons patch, which I have highlighted in a RED rectangle.

The rest USB Port Limit, AppleHDA and Skylake graphics fix are not required and can be disabled or deleted.

Capture d’écran, le 2021-03-06 à 19.41.07.png

The USB Port Limit patches are not required if your SSDT-USB.aml has the correct connector types set.

The AppleHDA fixes are not required when using AppleALC.kext.

The Skylake 4-screen fix may be required, if you are running 4 displays from your Skylake IGPU (somehow I doubt you are).

I think you have enough to be going on with.

Once you have reconfigured your SSDT-USB.aml post a copy so we can see what changes you have made.
 
Thank you Edhawk.

I've made all the changes recommended in Clover Config.
I also mapped my ports on the images so you can confirm that everything is ok and removed HS01 from SSDT and added HS08, since I don't have an SS01 when I mapped my ports, but I have an SS08/HS08. I only use 1 internal header, which I marked on the MB layout image.
466322-080bc7b273363cade240ecce47b5b6ce.png

466323-6b6b85b601f5aa19cc4aa8091da4780b.png

My issue persists with strange USB behaviour, especially with the Audio interface. I've included screenshots of the IOregistry USB inputs showing that the device is being recognized by the USB ports however something still isn't working properly since the device can't actually communicate with the computer (no device found in it's own control application, see screenshot).
Capture d’écran, le 2021-03-08 à 10.55.41.png

Capture d’écran, le 2021-03-08 à 10.55.55.png

Capture d’écran, le 2021-03-08 à 10.56.13.png

Capture d’écran, le 2021-03-08 à 10.58.52.png

Thanks for you help!
 

Attachments

  • SSDT_USB2 copie.aml
    699 bytes · Views: 41
So which port is HS02 activating? It is not shown on either of the images, but it is present as a USB3 connector type in the SSDT-USB2 copie.aml.

If it is a single port from one of the USB2 headers you need to change the connector type to 'Internal' in the Hackintool app USB window, or manually edit the SSDT-USB2.dsl so the port has the '255' connector type.

I assume when you note a physical USB plug as being active with port SS03 or SS04, you are also meaning you have activated HS03 and HS04 respectively for these ports. Although it doesn't always work out that the HS03 port and SS03 port are activated from the same physical port. I assume you tested each port with both a USB2 and a USB3 drive to check the correct ports are contained in the SSDT.

Again I assume from reading the SSDT data that you are not connecting anything to the two Internal USB2 Header ports, only the single USB3 header, again with HS07/SS07 & HS08/SS08 active from this header.
 
Hi again Edhawk.

You're correct, that was a mistake on my part. I removed HS02 from SSDT as it was linking to nowhere. I double checked all USB ports with USB2 devices and numbers for HS & SS correspond for all ports (HS07/SS07). Here is the updated SSDT.

You are correct, there are only two USB2 (Zero) ports (HS13 & HS14). The rest are all USB3, with one internal header going to SS07 & SS08.

I believe everything is ok my SSDT but my audio interface still won't 'speak' with my computer, despite it working correctly on other computers (macbook air). If my SSDT is correct, I'm at a loss and don't know where else to look...

I really appreciate your help Edhawk, as I'm beginning to feel quite surpassed by this one nagging issue.
 

Attachments

  • SSDT_USB_4.aml
    658 bytes · Views: 34
Your Audio interface may be looking for a USB2 port to work with macOS. Have you made sure the port you are connecting your Audio interface through has an active USB2 port, as well as the USB3 port?

Can you post a screenshot of the Hackintool > USB tab with your USB ports showing. It would/should look similar this:

Screenshot 2021-03-08 at 22.37.32.png Hackintool > USB tab, from my iMac1 system.

Make sure the audio interface is connected, and confirm the make/model of the interface.
 
The interface is a Steinberg UR44C. It connects via USB-C to USB Type-A cable to a USB3 port.
It is plugged into SS06 and shows up as such in Hackintool. It is recognized by OS (see screenshot below of Audio Midi Control) but can't seem to communicate with software. I notice that Hackintool doesn't seem to follow the SSDT I did, despite IOregistry showing only the ports from SSDT.:confused:
Capture d’écran, le 2021-03-08 à 18.38.49.png

Capture d’écran, le 2021-03-08 à 18.46.40.png

Capture d’écran, le 2021-03-08 à 18.43.44.png
 
Do you still have the USB Port Limit patches enabled in your config.plist?

Try the following on the Hackintool USB tab:
  1. Select the the third icon (sweeping broom) from the left, this will clear all the USB ports from the Hackintool window
  2. Select the forth icon from the left (circular arrows), this will refresh the Hackintool window.
After doing these two actions, and if the USB Port Limit patches have been disabled, then only the ports from your SSDT should be visible.
 
Status
Not open for further replies.
Back
Top