Contribute
Register

I have tried everything I can think of and USB 3.0 doesn't work

Status
Not open for further replies.
Joined
Jul 12, 2022
Messages
5
Motherboard
MSI h410i Pro Wifi
CPU
i5-10400
Graphics
UHD 630
Mac
  1. iMac
Hi everyone!

I am currently getting Big Sur to run on an MSI h410i Pro Wifi build. Everything has been put together and I quickly was able to get everything working, except USB 3.0. This didn't really surprise me since I hadn't made a USB map up until that point, so I quickly installed Windows on a separate partition and began mapping the ports in USBToolBox.

For some weird reason, USBToolBox reported ports that didn't exist with the error message "Device connected to port errored". I ignored this and tried to make the UTBMap.kext, and when I booted into macOS, USB 3.0 devices would not work.

Here's the symptoms of the devices in detail:
>All physical ports are recognized by IOReg, including 3.0 ports, and excluding the glitched(?) ports.
>USB 2.0 works 100% of the time, and 3.0 devices work on Windows. However, for whatever reason, macOS can't enumerate 3.0 devices.

When my USB 3.0 device wasn't detected by macOS, I tried to map using Hackintool, USBInjectAll, and XHCIPortLimit=True (the number of ports on the motherboard is under 15 so probably doesn't matter). However, when I created the USBPorts.kext, the exact same thing happened.

After this, I remembered that Windows recognizes USB 3.0 devices just fine, so it was probably an issue with my EFI or my BIOS settings. I changed every setting related to USB, one step at a time, but nothing made a difference. I tried different kexts, different tools, different SSDTs, and still the exact same thing as before happened.

I have tried everything I could think of, including flashing my bios and making a map in USBToolBox as carefully as possible. Despite all this, the exact same thing happens. I have also looked at other peoples' EFIs for the same motherboard, but all of them (as far as I have seen) only use temporary fixes for USB.

I am beginning to give up on getting USB 3.0 working on this build as I've spent a month on it with no progress. If there is someone smarter than me out there who has a fix for this, your support would be greatly appreciated!!! My EFI will be posted below.

Thanks for reading!


[My specs:
>MSI H410i Pro Wifi, BIOS is fully updated
>Intel Core i5-10400
>16GB DDR4
>500GB M.2 SSD
>Silverstone Mini-itx case with 2 USB 3.0 ports]
 

Attachments

  • EFI.zip
    19.2 MB · Views: 48
I have tried everything I could think of, including flashing my bios and making a map in USBToolBox as carefully as possible. Despite all this, the exact same thing happens. I have also looked at other peoples' EFIs for the same motherboard, but all of them (as far as I have seen) only use temporary fixes for USB.
It's much easier to make a working USBPorts kext while running Catalina and using this guide. Try it out.

 
I tried to map using Hackintool, USBInjectAll, and XHCIPortLimit=True (the number of ports on the motherboard is under 15 so probably doesn't matter). However, when I created the USBPorts.kext, the exact same thing happened.
This is because XHCI port limit is broken in Big Sur 11.3 or newer. That's why I suggested using Catalina instead.
 
Thanks so much! I'll try this tonight.
 
There is a plain and simple reason why none of your USB3 ports don't work.... They are all set with the connector type '255', which should only be used for USB2 ports served from an Internal USB2 motherboard header.

Surprised all your USB2 ports work with this configuration, as they are also all set with the '255' connector type.

Screenshot 2023-01-14 at 23.49.53.png USBPorts/Contents/Info.plist showing your USB port setup.

For starters these are the USB ports available on your MSI board.
  • 4x USB 3.2 Gen 1 5Gbps ports (total 8 ports 4 x physical USB3 and 4 x USB2 virtual ports)
    • 2 Type-A ports on the back panel
    • 2 ports are available through the internal USB 3.2 Gen 1 5Gbps connector
  • 4x USB 2.0 ports
    • 2 Type-A ports on the back panel
    • 2 ports through the internal USB 2.0 connector
  • 1 x USB2 built-in port
    • WiFi/BT connector
This gives your system a maximum of 13 USB ports.

These are the different connector Types you need for your system.
  1. USB3 ports - physical and virtual ports should all be set with connector type '3'
    1. You should have 8 ports set with the connector type USB3 '3',
      • 4 x USB3 physical ports
      • 4 x USB2 virtual ports
  2. USB2 ports - the 2 x physical USB2 ports on the rear I/O plate should be set with the connector type '0'
  3. USB2 Header ports - these USB2 header ports should be set with the connector type '255', you have a maximum of 2 x ports that require the '255' connector type.
  4. WiFi/BT connector (item 3 in the screenshot below) - this will have a single built-in port, which will be serving the Intel Bluetooth module from your Intel 3168NGW, assuming you have added the correct kexts for the WiFi/BT card to work in macOS.
This screenshot shows the 2 x USB2 (black tang item 5) and 2 x USB3 (Blue tang item 7) on the Rear I/O plate from your board.

Screenshot 2023-01-14 at 23.59.34.png

The USB3 motherboard header ports will be serving your case front ports, assuming you have 2 USB3 ports on the front of your case. If you only have 1 x front case USB3 port, then only 1 of the 2 ports will be in use.

The 2 x USB2 motherboard header ports will be serving one of two things, depending on what you have connected to the header:
  1. option 1, front case USB2 port(s) maximum of 2 x USB2 ports.
    1. If you only have 1 x front case USB2 port, then only 1 of the 2 ports will be in use.
  2. option 2, Bluetooth module from Broadcom WiFi/BT card, unlikely if you are using the Intel WiFi card that came installed in your motherboard.
This is a screenshot of page 32 from your motherboard's manual. It shows the 2 x Internal header connectors, their locations and pin information. Unfortunately the manual doesn't state which USB port they are associated with, unlike most Asus manuals.

Screenshot 2023-01-15 at 00.10.55.png Page 32 motherboard manual - USB headers
Based on the above information and from what I know of USB Port Configuration, the screenshot below shows a more accurate configuration for your system.

Screenshot 2023-01-15 at 00.17.47.png Revise USBPorts/Content/Info.plist.

8 x ports with USB3 connector type 3
2 x ports with USB2 connector type 0
3 x ports with Internal connector type 255

I guessed that HS05 & HS06 were the 2 x USB2 physical ports and HS07 and HS08 were the motherboard header USB2 (internal) ports. These could be wrong, with the paired ports needing their connector types swapped.

Setting HS10 as the USB2 port serving the Intel Bluetooth module was a guest, but more educated, as it is a port on its own. The others are all paired.

I have attached the revised USBPorts.kext below. You may want to give this a try in place of your current one.
 

Attachments

  • USBPorts.kext.zip
    2.6 KB · Views: 35
How did you get the USB3 ports active? The EFI linked on the Github page above doesn't contain a USBPorts.kext, USBMap.kext or SSDT-UIAC.aml table with a USB Port Configuration for your system. So how have you 'fixed' this issue?
 
That's really weird, I know for a fact that there was a working USB map. Weirdly enough, there isn't a USB map on the actual build either. I have the working debug version of the EFI, so I'm going to switch that over to release again and update this thread.

Thanks for letting me know about this, definitely don't want people to have a broken EFI.
 
There's one more issue I need to fix, which is it not waking up from sleep. That should be it, then the EFI is fully done. Sorry for the confusion.

Update: Everything is working perfectly and the new EFI is uploaded to github!
 
Last edited:
Status
Not open for further replies.
Back
Top