Contribute
Register

The New Beginner's Guide to USB Port Configuration

Possible Bios issues:
  1. Serial Port [Auto], should be disabled when running macOS.
  2. Have you disabled your IGPU in the Bios?
  3. The iMac20,1 SMBIOS will expect an IGPU to be present and enabled for running an Empty Framebuffer.
  4. I don't see any IGPU memory settings in the Bios_Settings.txt file.
  5. You have disabled the Thunderbolt device, purposely?
USBMap.kext (issues):
  1. HS07 & HS08 are set with connector (0) USB2, are these Case front ports connected to an Internal Header port?
  2. I would check the Type-C ports to ensure they are set correctly as Type-c+sw (9) and are not Type-C (10) ports.
View attachment 539648 Ports in USBMap.kext/Contents/Info.plist.

View attachment 539649
Possible Bios issues:
1. I don't know why the settings file says that the Serial Port is set to Auto. I double-checked the BIOS, and it's definitely set to Disabled:

220117010049.png


2–4. I don't think I disabled anything related to iGPU. The only iGPU setting I can find is iGPU Multi-Monitor, which was disabled, but I just set it to Enabled to see if it makes any difference:
220117005955.png


5. The OC guide said to disable Thunderbolt for installation, and since I don't have a Thunderbolt card, I didn't see a reason to re-enable it unless I decide to get one in the future. Should I enable it?

USBMap.kext (issues):
1. Yes, HS07 & HS08 are case front ports connected to an internal header port. Everything labeled "Front" is a case port connected to an internal header port. That also includes HS05, SS06, SS07, and SS08. They're all set based on their type (USB2, USB3, etc.), and only the Bluetooth adapter is set to (255) Internal, which is how I configured the ports on my old build.
2. Can you clarify exactly what the difference is between Type-c+sw (9) and Type-C (10) ports? I wasn't sure what "flipping the device" meant. I assumed it meant that if I rotate the USB-C plug 180° and re-inserted it, the port either would or wouldn't change when discovering ports with USBMap. If that's correct, then the ports didn't change when I flipped the cable, which would mean they should be Type-c+sw (9), right?
 
No you don't have to enable the Thunderbolt device in the Bios, ever, if you are not going to use it.

If the Front case ports are connected to a USB2 internal header then they need to be set as Internal/255 not USB2/0

USB3 ports connected to a USB3 internal header do not need to be set as internal, they work just fine as USB3. I don't know why this is different from the USB2 headers, it is just the way things work.

Flipping the device is as you described it, turning the device 180° and re-inserting it.

So yes they should be Type-c+sw (9).
 
No you don't have to enable the Thunderbolt device in the Bios, ever, if you are not going to use it.

If the Front case ports are connected to a USB2 internal header then they need to be set as Internal/255 not USB2/0

USB3 ports connected to a USB3 internal header do not need to be set as internal, they work just fine as USB3. I don't know why this is different from the USB2 headers, it is just the way things work.

Flipping the device is as you described it, turning the device 180° and re-inserting it.

So yes they should be Type-c+sw (9).
Gotcha. Thanks for the clarifications!

I changed HS07 & HS08 to (255) Internal in my USBMap.kext (attached), but my computer still instantly wakes when I try to put it into sleep mode.
 

Attachments

  • USBMap.kext.zip
    1.4 KB · Views: 40
This is how I see your current setup:

Screenshot 2022-01-18 at 17.47.03.png USBMap.kext/Contents/Info.plist with unused ports deleted.

Screenshot 2022-01-18 at 17.35.58.png Rear I/O plate USB ports as activated

HS01, HS02, HS09, HS10 & HS12 not activated to keep within the 15 port limit

Screenshot 2022-01-18 at 17.35.16.png Internal USB2 headers

Screenshot 2022-01-18 at 18.02.33.png Internal USB3 header

USB2 ports not activated for USB3 header

Screenshot 2022-01-18 at 18.02.02.png Internal Type-C header

Are you sure the Front Type-c port is connected to SS06? Should it be SS05? This would make it a Type-c+Sw (9) connector.

As it stands with HS05 and SS06 it is not a Type-c+sw but rather a Type-c (10).

The screenshot below, with SS06 changed to SS05, would actrivate the Front Type-C port as a Type-c+sw (9).

Screenshot 2022-01-18 at 18.14.08.png Change to SS05 from SS06 for Type-C front port highlighted

A USBMap.kext with the revised port configuration is attached below. Try it and see if it helps with the Sleep issues and to see if the front Type-C port works.
 

Attachments

  • USBMap.kext.zip
    2.1 KB · Views: 42
Thanks again for the quick response and your help trying to sort this out!
Screenshot 2022-01-18 at 17.35.58.png Rear I/O plate USB ports as activated

HS01, HS02, HS09, HS10 & HS12 not activated to keep within the 15 port limit
Also, 7. USB 3.2 Gen 2 Type-C Port C4 is HS04 & SS04. HS04 is not activated to keep within the limit.

Screenshot 2022-01-18 at 17.35.16.png Internal USB2 headers

Screenshot 2022-01-18 at 18.02.33.png Internal USB3 header

USB2 ports not activated for USB3 header
I wasn't thinking straight when I told you that HS07 and HS08 were connected to an internal USB2 header. They're the USB2 ports for the same USB3 header as SS07 and SS08.

Should they be set back to type (0) USB2?

Screenshot 2022-01-18 at 18.02.02.png Internal Type-C header

Are you sure the Front Type-c port is connected to SS06? Should it be SS05? This would make it a Type-c+Sw (9) connector.

As it stands with HS05 and SS06 it is not a Type-c+sw but rather a Type-c (10).
I didn't notice that I had the Front Type-C port set to HS05 & SS06, and I agree that doesn't make sense.

However, I just tested connecting USB2 and USB3 devices to that port (and flipped the cable), and the devices did in fact show up in USBMap and Hackintool as HS05 and SS06.

Change to SS05 from SS06 for Type-C front port highlighted

A USBMap.kext with the revised port configuration is attached below. Try it and see if it helps with the Sleep issues and to see if the front Type-C port works.
I tried your revised kext, but now when I connect a USB3 device to this port, the device showed up in USBMap and Hackintool as HS05 instead of SS05. It also did not solve the sleep issue.

Do I maybe have something set up wrong in my config that could be messing up the port numbering?
 
I wasn't thinking straight when I told you that HS07 and HS08 were connected to an internal USB2 header. They're the USB2 ports for the same USB3 header as SS07 and SS08.

Should they be set back to type (0) USB2?
No, they should all be set as USB3 (3).

My revised USBMap.kext will be wrong if the Type-c front port is served by ports HS05 and SS06. I changed SS06 to SS05 in the Info.plist, so this needs to be reversed/corrected to HS05.

Try this revised (again) USBMap.kext and see if this works. I have made the changes listed above to ports HS07, HS08 and SS05/06.
 

Attachments

  • USBMap.kext.zip
    2.5 KB · Views: 42
No, they should all be set as USB3 (3).

My revised USBMap.kext will be wrong if the Type-c front port is served by ports HS05 and SS06. I changed SS06 to SS05 in the Info.plist, so this needs to be reversed/corrected to HS05.

Try this revised (again) USBMap.kext and see if this works. I have made the changes listed above to ports HS07, HS08 and SS05/06.
Thank you for revising the kext again! However, my computer still won't stay in sleep mode. Do you have any other ideas about what might be wrong?
 
Systemwide Power settings is another issue you may need to amend.

Paste this command in to a Terminal window:

sudo pmset -g

Enter your password when requested and then post a screenshot showing the results. Example shown below.

Screenshot 2022-01-21 at 22.34.05.png
 
Thank you for revising the kext again! However, my computer still won't stay in sleep mode. Do you have any other ideas about what might be wrong?

Please enter the following in Terminal and post the output:
Code:
log show --style syslog | fgrep "Wake reason"
 
Systemwide Power settings is another issue you may need to amend.

Paste this command in to a Terminal window:

sudo pmset -g

Enter your password when requested and then post a screenshot showing the results. Example shown below.
Screen Shot 2022-01-22 at 12.32.46 PM.png

Please enter the following in Terminal and post the output:
Code:
log show --style syslog | fgrep "Wake reason"
Screen Shot 2022-01-22 at 12.34.20 PM.png
 
Back
Top