Contribute
Register

[Solved] Mojave, USB 3.0

Status
Not open for further replies.
Well done :thumbup:

Yes, the thing to realise for macOS is that a single physical USB port needs two entries in IOReg - one so it can run at USB 2.0 speeds and one for USB 3.0 speeds.

So a single physical USB port will have an HS## entry AND an SS## entry, both with the same number (instead of hashes etc).

Both these count towards the macOS 15-port limit. So a motherboard typically has many more ports than you expect.

:)
 
Ahh, okay that makes sense. If that's the case then it would seem like I'm still missing some basic configuration as I only have one SS** port listed. I followed the guide for creating the SSDT but it doesn't appear to be doing anything. The screenshot from IOreg shows a USB stick which is USB 3.0 capable but it only shows under HS03 which is a physical USB 3.0 capable port.

Attached is the SSDT I created. I renamed it to .txt in order to add the file.

Cheers :)
 

Attachments

  • Skærmbillede 2018-12-01 kl. 19.44.56.png
    Skærmbillede 2018-12-01 kl. 19.44.56.png
    94 KB · Views: 102
  • IOreg 1-12-2018 19.48.ioreg
    13.8 MB · Views: 45
  • config.plist
    7.1 KB · Views: 129
  • SSDT-USB.asl.txt
    346 bytes · Views: 83
Ahh, okay that makes sense. If that's the case then it would seem like I'm still missing some basic configuration as I only have one SS** port listed. I followed the guide for creating the SSDT but it doesn't appear to be doing anything. The screenshot from IOreg shows a USB stick which is USB 3.0 capable but it only shows under HS03 which is a physical USB 3.0 capable port.

Attached is the SSDT I created. I renamed it to .txt in order to add the file.

Cheers :)

Yes, that's spot on.

As @ammulder explained you need to lift the port-limit using the correct patch for the macOS you are using, to open up all the available ports. Is it Mojave you're running? You have USBInjectAll.kext installed so that's great. I guess you ticked the MultiBeast box for 7/8/9 USB Support and that's where the FakePCIID_XHCIMux.kext came from?

As for the SSDT.asl.txt - That's not readable because it's been compiled. Go back a step and upload the template you created with the *.dsl extension etc . That shows us how you've configured everything. :thumbup:

I know you said USB 3.0 worked once at the very start. I wonder if you suffered a BIOS reset at the time? Double check your BIOS still has USB XHCI enabled .

:)
 
As @ammulder explained you need to lift the port-limit using the correct patch for the macOS you are using, to open up all the available ports. Is it Mojave you're running? You have USBInjectAll.kext installed so that's great. I guess you ticked the MultiBeast box for 7/8/9 USB Support and that's where the FakePCIID_XHCIMux.kext came from?

Yes, I'm running Mojave. I did tick the 7/8/9 USB Support in Multibeast however that gave me IOreg output in post #7 (screenshot with red arrow) compared to the USB section of the Skylake guide so I removed it again. Maybe this should be installed.

As for the SSDT.asl.txt - That's not readable because it's been compiled. Go back a step and upload the template you created with the *.dsl extension etc . That shows us how you've configured everything. :thumbup:

Fixed and attached ;)

I know you said USB 3.0 worked once at the very start. I wonder if you suffered a BIOS reset at the time? Double check your BIOS still has USB XHCI enabled .

Yes and that's what really bugs me. I could understand if it wouldn't work at all from the beginning. I fired up Capture One Pro and Final Cut Pro X to compare the transfer speeds between Firewire 800 and USB 3.0 and it was a huge difference. Unfortunately it only worked once. I've checked the bios and XHCI is indeed enabled.

Thanks again :thumbup:
 

Attachments

  • SSDT-USB-Template.dsl
    2.2 KB · Views: 78
Yes, I'm running Mojave. I did tick the 7/8/9 USB Support in Multibeast however that gave me IOreg output in post #7 (screenshot with red arrow) compared to the USB section of the Skylake guide so I removed it again. Maybe this should be installed.



Fixed and attached ;)



Yes and that's what really bugs me. I could understand if it wouldn't work at all from the beginning. I fired up Capture One Pro and Final Cut Pro X to compare the transfer speeds between Firewire 800 and USB 3.0 and it was a huge difference. Unfortunately it only worked once. I've checked the bios and XHCI is indeed enabled.

Thanks again :thumbup:

I got it working :headbang:

Looking through the excellent guide by @RehabMan for the USB 3.0 injections I thought that maybe Mojave was unable to show me all the SS** ports even though they were present. So I used the Clover boot flags to exclude all HS** ports apart from the two I used for keyboard and mouse and voilà! I now have a total of six SS** ports visible in IOreg. Tested three with a USB 3.0 thumb drive and they all worked perfectly. I’m tempted to do a reinstall just to clear out everything I’ve messed with and hopefully solve the slow clover booting in the process.

Thanks a million @UtterDisbelief for your valuable tips and time to assist :clap:. Awesome community :thumbup:
 
I got it working :headbang:

Looking through the excellent guide by @RehabMan for the USB 3.0 injections I thought that maybe Mojave was unable to show me all the SS** ports even though they were present. So I used the Clover boot flags to exclude all HS** ports apart from the two I used for keyboard and mouse and voilà! I now have a total of six SS** ports visible in IOreg. Tested three with a USB 3.0 thumb drive and they all worked perfectly. I’m tempted to do a reinstall just to clear out everything I’ve messed with and hopefully solve the slow clover booting in the process.

Thanks a million @UtterDisbelief for your valuable tips and time to assist :clap:. Awesome community :thumbup:

Good news! :thumbup:

Yes, this community is a great place to help and be helped.

Both @RehabMan 's and @ammulder 's USB guides are excellent. I used @ammulder 's Skylake guide because it was more "compact".

Just a quick P.S then as you posted your SSDT template ...

Go into the "About this Mac" - System Report page. Look at the USB section and check the device IDs:

ID.png


... then match those two numbers to your SSDT template. (This is from my current 300-series machine).

The template default is set for 100-series boards and you have a 9-series etc, so worth a check you're using the correct IDs.

Also you need to define all 15-ports in your template to get the physical ports working for both USB 2 and USB 3. So it should list a selection of a total of 15 ports from the ranges HSS01 to HS14 & SS01 to SS14 etc. You can miss out the motherboard headers you are not using for example. :thumbup:
 
Thank you for the info @UtterDisbelief

Good news! :thumbup:

Yes, this community is a great place to help and be helped.

Both @RehabMan 's and @ammulder 's USB guides are excellent. I used @ammulder 's Skylake guide because it was more "compact".

Just a quick P.S then as you posted your SSDT template ...

Go into the "About this Mac" - System Report page. Look at the USB section and check the device IDs:

View attachment 369489

... then match those two numbers to your SSDT template. (This is from my current 300-series machine).

The template default is set for 100-series boards and you have a 9-series etc, so worth a check you're using the correct IDs.

I'm not exactly sure what you mean here. I get the correct device ID for the controllers but there are multiple controllers. Do I need to separate the SSDT in multiple sections for each controller?

EDIT: Nevermind the question. The SSDT guide by @RehabMan has got me covered :rolleyes:
 
Last edited:
I was about to mark this one solved but you beat me to it :)

I've configured the most of the USB ports for now and I have the USB 3.0 ports working for both 2.0 & 3.0 devices. My system is currently placed on my desk as I don't have a case yet so I can't test the USB motherboard headers.

Using Clover Configurator I tried to filter out unused HS** and SS* ports however using multiple include and exclude arguments doesn't seem to work or I don't have them in the correct order. It looks like no matter which order I type them in it's changed when I do a reboot so going to have to look deeper into @RehabMan guides on how to enable only specific ports on specific controller ID's. I still have some minor issues with USB 2.0 devices like keyboard and mouse are registered under the USB 3.0 bus in the System Report page but everything is working which is the most important.

SSDT template and System Report screenshot attached.

Thanks so much :clap:
 

Attachments

  • SSDT-USB-Template.dsl
    3.4 KB · Views: 105
  • Skærmbillede 2018-12-03 kl. 11.35.19.png
    Skærmbillede 2018-12-03 kl. 11.35.19.png
    49.3 KB · Views: 139
Status
Not open for further replies.
Back
Top