Contribute
Register

<< Solved >> USBMap Help Needed

Status
Not open for further replies.
Joined
Apr 14, 2014
Messages
56
Motherboard
Gigabyte Z97X-UD7 TH
CPU
i7-4790K
Graphics
GT 740
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
I recently switched from Clover to OC and upgraded from Catalina to Big Sur on my GA-Z97X-UD7-TH. I didn't map USB ports since that's in the "USB Fixes" section of the Dortania guide, and at the time USB didn't need fixing. Everything was great until I ran the 11.3 update and lost USB ports meaning no keyboard or mouse. I'm currently remoting in from my Windows desktop to make changes.

I started here and followed the system prep instructions.
Code:
ioreg -l -p IOService -w0 | grep -i XHC1
resulted in no output, while
Code:
ioreg -l -p IOService -w0 | grep -i EHC1
and
Code:
ioreg -l -p IOService -w0 | grep -i EHC2
did have results. That led me to use the EHC1 and EHC2 renames:


EHC1 to EH01: Needed for Broadwell and older SMBIOS

Comment String EHC1 to EH01
Count Number <0>
Enabled Boolean YES
Find Data <45484331>
Limit Number <0>
Replace Data <45483031>
Skip Number <0>
Tablelength Number <0>
TableSignature Data <>


EHC2 to EH02: Needed for Broadwell and older SMBIOS


Key Type Value
Comment String EHC2 to EH02
Count Number <0>
Enabled Boolean YES
Find Data <45484332>
Limit Number <0>
Replace Data <45483032>
Skip Number <0>
Tablelength Number <0>
TableSignature Data <>


Then I went to the next page, which directed me to the USBMap github site.

After rebooting to let the renaming take affect, this is the Main Menu of USBMap:

Code:
Current Controllers:

 -  XHC@14 @ _SB.PCI0.XHC
  \-> RHUB @ _SB.PCI0.XHC.RHUB
 - EH02@1A @ _SB.PCI0.EH02
 - EH01@1D @ _SB.PCI0.EH01

Discovering ports results in:

Code:
    ----- XHC@14 Controller -----
1. HS01 | AppleUSB20XHCIPort | 01000000 | 14100000
2. HS02 | AppleUSB20XHCIPort | 02000000 | 14200000
3. HS03 | AppleUSB20XHCIPort | 03000000 | 14300000
4. HS04 | AppleUSB20XHCIPort | 04000000 | 14400000
5. HS05 | AppleUSB20XHCIPort | 05000000 | 14500000
6. HS06 | AppleUSB20XHCIPort | 06000000 | 14600000
7. HS07 | AppleUSB20XHCIPort | 07000000 | 14700000
8. HS08 | AppleUSB20XHCIPort | 08000000 | 14800000
9. HS09 | AppleUSB20XHCIPort | 09000000 | 14900000
10. HS10 | AppleUSB20XHCIPort | 0a000000 | 14a00000
11. HS11 | AppleUSB20XHCIPort | 0b000000 | 14b00000
12. HS12 | AppleUSB20XHCIPort | 0c000000 | 14c00000
13. HS13 | AppleUSB20XHCIPort | 0d000000 | 14d00000
14. HS14 | AppleUSB20XHCIPort | 0e000000 | 14e00000
15. SS01 | AppleUSB30XHCIPort | 10000000 | 14f00000
16. SS02 | AppleUSB30XHCIPort | 11000000 | 14000000
17. SS03 | AppleUSB30XHCIPort | 12000000 | 14100000
18. SS04 | AppleUSB30XHCIPort | 13000000 | 14200000
19. SS05 | AppleUSB30XHCIPort | 14000000 | 14300000
20. SS06 | AppleUSB30XHCIPort | 15000000 | 14400000
    ----- EH02@1A Controller -----
21. PRT1 | AppleUSBEHCIPort | 01000000 | 1a100000
22. PRT2 | AppleUSBEHCIPort | 02000000 | 1a200000
    ----- EH01@1D Controller -----
23. PRT1 | AppleUSBEHCIPort | 01000000 | 1d100000
24. PRT2 | AppleUSBEHCIPort | 02000000 | 1d200000

When I pressed P to create and edit the USB map, all of the ports were listed as type 3. It looked like ports 1-14 are probably 2.0, and I think the EHCI ports are also 2.0, so I changed those to type 0 and selected all:

Code:
    ----- XHC@14 Controller -----
[#] 1. HS01 | AppleUSB20XHCIPort | 01000000 | 14100000 | Type 0
[#] 2. HS02 | AppleUSB20XHCIPort | 02000000 | 14200000 | Type 0
[#] 3. HS03 | AppleUSB20XHCIPort | 03000000 | 14300000 | Type 0
[#] 4. HS04 | AppleUSB20XHCIPort | 04000000 | 14400000 | Type 0
[#] 5. HS05 | AppleUSB20XHCIPort | 05000000 | 14500000 | Type 0
[#] 6. HS06 | AppleUSB20XHCIPort | 06000000 | 14600000 | Type 0
[#] 7. HS07 | AppleUSB20XHCIPort | 07000000 | 14700000 | Type 0
[#] 8. HS08 | AppleUSB20XHCIPort | 08000000 | 14800000 | Type 0
[#] 9. HS09 | AppleUSB20XHCIPort | 09000000 | 14900000 | Type 0
[#] 10. HS10 | AppleUSB20XHCIPort | 0a000000 | 14a00000 | Type 0
[#] 11. HS11 | AppleUSB20XHCIPort | 0b000000 | 14b00000 | Type 0
[#] 12. HS12 | AppleUSB20XHCIPort | 0c000000 | 14c00000 | Type 0
[#] 13. HS13 | AppleUSB20XHCIPort | 0d000000 | 14d00000 | Type 0
[#] 14. HS14 | AppleUSB20XHCIPort | 0e000000 | 14e00000 | Type 0
[#] 15. SS01 | AppleUSB30XHCIPort | 10000000 | 14f00000 | Type 3
[#] 16. SS02 | AppleUSB30XHCIPort | 11000000 | 14000000 | Type 3
[#] 17. SS03 | AppleUSB30XHCIPort | 12000000 | 14100000 | Type 3
[#] 18. SS04 | AppleUSB30XHCIPort | 13000000 | 14200000 | Type 3
[#] 19. SS05 | AppleUSB30XHCIPort | 14000000 | 14300000 | Type 3
[#] 20. SS06 | AppleUSB30XHCIPort | 15000000 | 14400000 | Type 3
    ----- EH02@1A Controller -----
[#] 21. PRT1 | AppleUSBEHCIPort | 01000000 | 1a100000 | Type 0
[#] 22. PRT2 | AppleUSBEHCIPort | 02000000 | 1a200000 | Type 0
    ----- EH01@1D Controller -----
[#] 23. PRT1 | AppleUSBEHCIPort | 01000000 | 1d100000 | Type 0
[#] 24. PRT2 | AppleUSBEHCIPort | 02000000 | 1d200000 | Type 0

I then used K to build USBmap.text and entered the following in place of the USBInjectAll kext that I removed:

Code:
<dict>
                <key>BundlePath</key>
                <string>USBMap.kext</string>
                <key>Comment</key>
                <string></string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string></string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
                <key>Arch</key>
                <string>Any</string>
            </dict>

I copied USBMap.kext to the kexts folder and deleted USBInjectAll.kext as recommended.

After reboot, there's no apparent change. I can't use my USB keyboard plugged in to the back nor the bluetooth mouse that relies on the USB dongle plugged in to the front. The keyboard works briefly during the initial bootup, so I know it hasn't become coincidentally disconnected.

What can I try next to get my ports back? I'm attaching the EFI in case that helps.
 

Attachments

  • EFI.zip
    9.1 MB · Views: 148
I recently switched from Clover to OC and upgraded from Catalina to Big Sur on my GA-Z97X-UD7-TH. I didn't map USB ports since that's in the "USB Fixes" section of the Dortania guide, and at the time USB didn't need fixing. Everything was great until I ran the 11.3 update and lost USB ports meaning no keyboard or mouse. I'm currently remoting in from my Windows desktop to make changes.

I started here and followed the system prep instructions.
Code:
ioreg -l -p IOService -w0 | grep -i XHC1
resulted in no output, while
Code:
ioreg -l -p IOService -w0 | grep -i EHC1
and
Code:
ioreg -l -p IOService -w0 | grep -i EHC2
did have results. That led me to use the EHC1 and EHC2 renames:


EHC1 to EH01: Needed for Broadwell and older SMBIOS

Comment String EHC1 to EH01
Count Number <0>
Enabled Boolean YES
Find Data <45484331>
Limit Number <0>
Replace Data <45483031>
Skip Number <0>
Tablelength Number <0>
TableSignature Data <>


EHC2 to EH02: Needed for Broadwell and older SMBIOS


Key Type Value
Comment String EHC2 to EH02
Count Number <0>
Enabled Boolean YES
Find Data <45484332>
Limit Number <0>
Replace Data <45483032>
Skip Number <0>
Tablelength Number <0>
TableSignature Data <>


Then I went to the next page, which directed me to the USBMap github site.

After rebooting to let the renaming take affect, this is the Main Menu of USBMap:

Code:
Current Controllers:

-  XHC@14 @ _SB.PCI0.XHC
  \-> RHUB @ _SB.PCI0.XHC.RHUB
- EH02@1A @ _SB.PCI0.EH02
- EH01@1D @ _SB.PCI0.EH01

Discovering ports results in:

Code:
    ----- XHC@14 Controller -----
1. HS01 | AppleUSB20XHCIPort | 01000000 | 14100000
2. HS02 | AppleUSB20XHCIPort | 02000000 | 14200000
3. HS03 | AppleUSB20XHCIPort | 03000000 | 14300000
4. HS04 | AppleUSB20XHCIPort | 04000000 | 14400000
5. HS05 | AppleUSB20XHCIPort | 05000000 | 14500000
6. HS06 | AppleUSB20XHCIPort | 06000000 | 14600000
7. HS07 | AppleUSB20XHCIPort | 07000000 | 14700000
8. HS08 | AppleUSB20XHCIPort | 08000000 | 14800000
9. HS09 | AppleUSB20XHCIPort | 09000000 | 14900000
10. HS10 | AppleUSB20XHCIPort | 0a000000 | 14a00000
11. HS11 | AppleUSB20XHCIPort | 0b000000 | 14b00000
12. HS12 | AppleUSB20XHCIPort | 0c000000 | 14c00000
13. HS13 | AppleUSB20XHCIPort | 0d000000 | 14d00000
14. HS14 | AppleUSB20XHCIPort | 0e000000 | 14e00000
15. SS01 | AppleUSB30XHCIPort | 10000000 | 14f00000
16. SS02 | AppleUSB30XHCIPort | 11000000 | 14000000
17. SS03 | AppleUSB30XHCIPort | 12000000 | 14100000
18. SS04 | AppleUSB30XHCIPort | 13000000 | 14200000
19. SS05 | AppleUSB30XHCIPort | 14000000 | 14300000
20. SS06 | AppleUSB30XHCIPort | 15000000 | 14400000
    ----- EH02@1A Controller -----
21. PRT1 | AppleUSBEHCIPort | 01000000 | 1a100000
22. PRT2 | AppleUSBEHCIPort | 02000000 | 1a200000
    ----- EH01@1D Controller -----
23. PRT1 | AppleUSBEHCIPort | 01000000 | 1d100000
24. PRT2 | AppleUSBEHCIPort | 02000000 | 1d200000

When I pressed P to create and edit the USB map, all of the ports were listed as type 3. It looked like ports 1-14 are probably 2.0, and I think the EHCI ports are also 2.0, so I changed those to type 0 and selected all:

Code:
    ----- XHC@14 Controller -----
[#] 1. HS01 | AppleUSB20XHCIPort | 01000000 | 14100000 | Type 0
[#] 2. HS02 | AppleUSB20XHCIPort | 02000000 | 14200000 | Type 0
[#] 3. HS03 | AppleUSB20XHCIPort | 03000000 | 14300000 | Type 0
[#] 4. HS04 | AppleUSB20XHCIPort | 04000000 | 14400000 | Type 0
[#] 5. HS05 | AppleUSB20XHCIPort | 05000000 | 14500000 | Type 0
[#] 6. HS06 | AppleUSB20XHCIPort | 06000000 | 14600000 | Type 0
[#] 7. HS07 | AppleUSB20XHCIPort | 07000000 | 14700000 | Type 0
[#] 8. HS08 | AppleUSB20XHCIPort | 08000000 | 14800000 | Type 0
[#] 9. HS09 | AppleUSB20XHCIPort | 09000000 | 14900000 | Type 0
[#] 10. HS10 | AppleUSB20XHCIPort | 0a000000 | 14a00000 | Type 0
[#] 11. HS11 | AppleUSB20XHCIPort | 0b000000 | 14b00000 | Type 0
[#] 12. HS12 | AppleUSB20XHCIPort | 0c000000 | 14c00000 | Type 0
[#] 13. HS13 | AppleUSB20XHCIPort | 0d000000 | 14d00000 | Type 0
[#] 14. HS14 | AppleUSB20XHCIPort | 0e000000 | 14e00000 | Type 0
[#] 15. SS01 | AppleUSB30XHCIPort | 10000000 | 14f00000 | Type 3
[#] 16. SS02 | AppleUSB30XHCIPort | 11000000 | 14000000 | Type 3
[#] 17. SS03 | AppleUSB30XHCIPort | 12000000 | 14100000 | Type 3
[#] 18. SS04 | AppleUSB30XHCIPort | 13000000 | 14200000 | Type 3
[#] 19. SS05 | AppleUSB30XHCIPort | 14000000 | 14300000 | Type 3
[#] 20. SS06 | AppleUSB30XHCIPort | 15000000 | 14400000 | Type 3
    ----- EH02@1A Controller -----
[#] 21. PRT1 | AppleUSBEHCIPort | 01000000 | 1a100000 | Type 0
[#] 22. PRT2 | AppleUSBEHCIPort | 02000000 | 1a200000 | Type 0
    ----- EH01@1D Controller -----
[#] 23. PRT1 | AppleUSBEHCIPort | 01000000 | 1d100000 | Type 0
[#] 24. PRT2 | AppleUSBEHCIPort | 02000000 | 1d200000 | Type 0

I then used K to build USBmap.text and entered the following in place of the USBInjectAll kext that I removed:

Code:
<dict>
                <key>BundlePath</key>
                <string>USBMap.kext</string>
                <key>Comment</key>
                <string></string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string></string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
                <key>Arch</key>
                <string>Any</string>
            </dict>

I copied USBMap.kext to the kexts folder and deleted USBInjectAll.kext as recommended.

After reboot, there's no apparent change. I can't use my USB keyboard plugged in to the back nor the bluetooth mouse that relies on the USB dongle plugged in to the front. The keyboard works briefly during the initial bootup, so I know it hasn't become coincidentally disconnected.

What can I try next to get my ports back? I'm attaching the EFI in case that helps.
usb ports should be setup properly regardless if they seem to work ok

when you have trimmed down to 15 ports and created your usbports.kext correctly, you will need to disable XhciPortLimit in your config.plist
 
usb ports should be setup properly regardless if they seem to work ok

when you have trimmed down to 15 ports and created your usbports.kext correctly, you will need to disable XhciPortLimit in your config.plist
I assume you're chiding me for not running "USB Fixes" when I didn't need my USB fixed. Before today I didn't realize those USB Fixes were required to avoid losing my USB ports on the next upgrade. I'll certainly look through the rest of Dortania's post-install pages to be sure I didn't miss anything else.

Your second sentence implies you know what I need to do but aren't going to share the info with me. I've been working on this most of the day, about 12 hours so far with some breaks to take care of other stuff in between. I thought posting exactly what I tried would help highlight where I've gone wrong and what I need to fix. I already disabled the XhciPortLimit in my config.plist, but forgot to mention it in my post. I guess I'll keep reading random articles since Dortania's USBMap page hasn't helped me fix the issue.
 
I assume you're chiding me for not running "USB Fixes" when I didn't need my USB fixed. Before today I didn't realize those USB Fixes were required to avoid losing my USB ports on the next upgrade. I'll certainly look through the rest of Dortania's post-install pages to be sure I didn't miss anything else.

Your second sentence implies you know what I need to do but aren't going to share the info with me. I've been working on this most of the day, about 12 hours so far with some breaks to take care of other stuff in between. I thought posting exactly what I tried would help highlight where I've gone wrong and what I need to fix. I already disabled the XhciPortLimit in my config.plist, but forgot to mention it in my post. I guess I'll keep reading random articles since Dortania's USBMap page hasn't helped me fix the issue.
it is the same with every update, lots of peeps have usb issues after updating as they think that just having XhciPortLimit enabled or the port limit patches enabled is fine and that they don't need to do anything else, i am not chiding you at all.. :)

however, came across this earlier:

this may help you out a little

also you need a usb2.0 and a usb3.0 device to test each port on your machine

more info can be found here:
 
I assume you're chiding me for not running "USB Fixes" when I didn't need my USB fixed. Before today I didn't realize those USB Fixes were required to avoid losing my USB ports on the next upgrade. I'll certainly look through the rest of Dortania's post-install pages to be sure I didn't miss anything else.

Your second sentence implies you know what I need to do but aren't going to share the info with me. I've been working on this most of the day, about 12 hours so far with some breaks to take care of other stuff in between. I thought posting exactly what I tried would help highlight where I've gone wrong and what I need to fix. I already disabled the XhciPortLimit in my config.plist, but forgot to mention it in my post. I guess I'll keep reading random articles since Dortania's USBMap page hasn't helped me fix the issue.

Hi there.

No one is chiding you. It is though difficult sometimes to support the work of another site when we have our own guides in place. We don't know all you've done because of that.

So, you left the XhciPortLimit Quirk active
it is the same with every update, lots of peeps have usb issues after updating as they think that just having XhciPortLimit enabled or the port limit patches enabled is fine and that they don't need to do anything else, i am not chiding you at all.. :)

however, came across this earlier:

this may help you out a little

also you need a usb2.0 and a usb3.0 device to test each port on your machine

more info can be found here:

Your turn to beat me to it!! I'm just writing a reply ... :clap: :lol:
 
... So clear that.

We don't know all the differences in 11.3 yet and a USBPorts.kext, created using Hackintool is just as valid as USBMap's. (I've checked the code). Advice has been to have a properly configured USB system before you upgrade and you did right in doing that. Most people seem to be rubbishing Hackintool and saying USBMap is the way to go. Your experience proves that's not true.

I will work on this tomorrow when I've done the update myself. In the mean time you can always try installing USBInjectAll.kext (remove USBMap.kext) in your EFI/OC/Kexts folder and retain that XhciPortLimit quirk. Personally I'd use version 0.7.1 of the kext.

This is optional and you may not wish to try it. Understandable. I'll know more tomorrow.

:)
 
Last edited:
it is the same with every update, lots of peeps have usb issues after updating as they think that just having XhciPortLimit enabled or the port limit patches enabled is fine and that they don't need to do anything else, i am not chiding you at all.. :)

however, came across this earlier:

this may help you out a little

also you need a usb2.0 and a usb3.0 device to test each port on your machine

more info can be found here:

Okay ... Next day.

I disagree that USBPorts.kext is "broken" for Big Sur 11.3.

I have just updated my new PC and my USBPorts.kext worked fine, just as it did before.

There's a lot of panic going on around this issue forcing people to scramble to recreate their USB configurations. We need to see specific proof that USBPorts.kext is the cause of any issues. I really doubt it is, because there is no executable code in USBports, it is just an ACPI patch loaded through the kext channel. USBMap works in the same way and has some very slightly different header code which should not be the cause of any success/failure.

There is the possibility that people who are relying on USBInjectAll.kext and the XhciPortLimit quirk are having problems, likely due to new security around kext loading. This is something Apple keeps upgrading, bit by bit.

:)
 
I disagree that USBPorts.kext is "broken" for Big Sur 11.3.

I have just updated my new PC and my USBPorts.kext worked fine, just as it did before.

There's a lot of panic going on around this issue forcing people to scramble to recreate their USB configurations. We need to see specific proof that USBPorts.kext is the cause of any issues. I really doubt it is, because there is no executable code in USBports, it is just an ACPI patch loaded through the kext channel. USBMap works in the same way and has some very slightly different header code which should not be the cause of any success/failure.

There is the possibility that people who are relying on USBInjectAll.kext and the XhciPortLimit quirk are having problems, likely due to new security around kext loading. This is something Apple keeps upgrading, bit by bit.

:)
sorry, but i'm kinda new of issue on hakintosh.
i have the same problem with the usb not working after update to 11.3.
i have OC and was flawlessly with 11.2.3.
is there a fix i can do?!
i can enter the EFI partition on windows, but i don't know wich files need to be deleted/replaced.
thanks.
 
sorry, but i'm kinda new of issue on hakintosh.
i have the same problem with the usb not working after update to 11.3.
i have OC and was flawlessly with 11.2.3.
is there a fix i can do?!
i can enter the EFI partition on windows, but i don't know wich files need to be deleted/replaced.
thanks.
is the setting in your config.plist XhciPortLimit enabled or disabled?
 
is the setting in your config.plist XhciPortLimit enabled or disabled?
i didn't checked couse never had this problem before. i'll check right now.
 
Status
Not open for further replies.
Back
Top