Contribute
Register

The New Beginner's Guide to USB Port Configuration

Could I ask a question:??
When spoofing a Skylake board to Kaby lake to allow Ventura to install must you use a Skylake Base EFI, not a Kaby, and then only use the 18,3 SMBIOS to avoid the Apple cliff/wall install block and use the video device property id information from Skylake rather than Kaby? Or should the info and base be all Kaby? Note 2: iMac17,1 was dropped in the release of macOS Ventura. If running macOS Ventura, use a Kaby Lake SMBIOS. Also, can you boot Ventura with a Monterey installer flash using the proper EFI from the Ventura upgrade, to test an Opencore upgrade ie 0.8.7 to 0.8.8? Or must it be a Ventura flash minimum? (AAPL,ig-platform-id for Skylake: 00001219 Discrete GPU) (AAPL,ig-platform-id for Kaby: 03001259 Discrete GPU)
 
Last edited:
Hi Everyone

I wanted to change the 15 usb ports in use as i found it wasnt the best way i had them set up. I went back to the "The New Beginner's Guide to USB Port Configuration" but it said to set up USB configuration in Catalina as allowing all usb ports to work to chose the 15 from doesnt work in later osx.

I already have a working USBPorts.kext can i just go into this in proper tree and switch ports on and off as i already know the numbers of the ports. Looking at this in proper tree i dont understand how to do this. Sorry i am a bit of a noob.

Any tips appreciated , i have attached a screen shot of the proper tree with it open. For each port i can see

Data and USBconnector number.
 

Attachments

  • Screenshot 2023-01-28 at 12.23.55.png
    Screenshot 2023-01-28 at 12.23.55.png
    126.2 KB · Views: 19
Hi Everyone

I wanted to change the 15 usb ports in use as i found it wasnt the best way i had them set up. I went back to the "The New Beginner's Guide to USB Port Configuration" but it said to set up USB configuration in Catalina as allowing all usb ports to work to chose the 15 from doesnt work in later osx.

I already have a working USBPorts.kext can i just go into this in proper tree and switch ports on and off as i already know the numbers of the ports. Looking at this in proper tree i dont understand how to do this. Sorry i am a bit of a noob.

Any tips appreciated , i have attached a screen shot of the proper tree with it open. For each port i can see

Data and USBconnector number.

Hi there.

With USBPorts.kext you don't switch ports on or off, instead you add or delete them because the kext is patching the DSDT.

You can certainly manually edit the Info.plist to do this. The easiest way is to select a port you do not want and edit the details to one you do want.

For example:

If you wish to change port HS09 to HS14 and change it from a USB3 port to Internal, take a look at this section of the plist -

<key>HS09</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>name</key>
<string>HS09</string>
<key>port</key>
<data>
CQAAAA==
</data>
</dict>

... and edit it like this, remembering to change the base64 number accordingly -

<key>HS14</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>name</key>
<string>HS14</string>
<key>port</key>
<data>
DgAAAA==
</data>
</dict>

For clarity you should also move the code segment into the correct place in the file.

If you just want to remove a port then delete the complete section for it as shown above. The "port-count" variable will remain the same unless you remove the last port in your list.

I did the above in a plain-text editor but you can use whatever software you like as long as it produces plain, XML text.

Sorry it may not seem as straight-forward as you would like, but that's why we often recommend using Catalina and Hackintool.

:)
 
Last edited:
hi, i need expert help. i installed monterey and time has come to set usb ports. i found this guide along with few others but i couldnt make it to work as i dont have catalina. yet i have sierra and what i did is:
- booted sierra, loaded hackintool and exported usbports.kext
- edited plist inside that kext and changed smbios to the one i use now on monterey
- moved that kext to efi partition and booted monterey
- now in hackintool/usb i see different ports than i saw in the first place, i see the same as is in sierra hackintool/usb
- what is confusing me is that i dont see that usbports.kext is loaded when i go to hackintool/extensions
- how can i know if everything is ok now? my usb ports work and they did work before, before this i had a problem with mouse lagging when i plug in usb audio card, now i dont have that problem

here is the screenshot i saw before and what i see now
 

Attachments

  • before.png
    before.png
    149.8 KB · Views: 24
  • now.png
    now.png
    129.4 KB · Views: 27
  • Screenshot 2023-01-29 at 02.28.17.png
    Screenshot 2023-01-29 at 02.28.17.png
    95.7 KB · Views: 23
hi, i need expert help. i installed monterey and time has come to set usb ports. i found this guide along with few others but i couldnt make it to work as i dont have catalina. yet i have sierra and what i did is:
- booted sierra, loaded hackintool and exported usbports.kext
- edited plist inside that kext and changed smbios to the one i use now on monterey
- moved that kext to efi partition and booted monterey
- now in hackintool/usb i see different ports than i saw in the first place, i see the same as is in sierra hackintool/usb
- what is confusing me is that i dont see that usbports.kext is loaded when i go to hackintool/extensions
- how can i know if everything is ok now? my usb ports work and they did work before, before this i had a problem with mouse lagging when i plug in usb audio card, now i dont have that problem

here is the screenshot i saw before and what i see now

Hi there.

Well done on editing the Info.plist - that's a step further than most make. :thumbup:

Yes, that's correct, USBPorts.kext should not show as a loaded kext either in Hackintool or the 'kextstat' Terminal command. That is because it has no executable - which would normally be cached by macOS - and all it is doing is patching the DSDT.

If you have any problems with your new ports, that's a different issue etc.

:)
 
Hi there.

Well done on editing the Info.plist - that's a step further than most make. :thumbup:

Yes, that's correct, USBPorts.kext should not show as a loaded kext either in Hackintool or the 'kextstat' Terminal command. That is because it has no executable - which would normally be cached by macOS - and all it is doing is patching the DSDT.

If you have any problems with your new ports, that's a different issue etc.

:)
thanks for the answer. i will test my ports extensively in next days, hopefully i wont have any problems :)
 
Hi there.

With USBPorts.kext you don't switch ports on or off, instead you add or delete them because the kext is patching the DSDT.

You can certainly manually edit the Info.plist to do this. The easiest way is to select a port you do not want and edit the details to one you do want.

For example:

If you wish to change port HS09 to HS14 and change it from a USB3 port to Internal, take a look at this section of the plist -

<key>HS09</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>name</key>
<string>HS09</string>
<key>port</key>
<data>
CQAAAA==
</data>
</dict>

... and edit it like this, remembering to change the base64 number accordingly -

<key>HS14</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>name</key>
<string>HS14</string>
<key>port</key>
<data>
DgAAAA==
</data>
</dict>

For clarity you should also move the code segment into the correct place in the file.

If you just want to remove a port then delete the complete section for it as shown above. The "port-count" variable will remain the same unless you remove the last port in your list.

I did the above in a plain-text editor but you can use whatever software you like as long as it produces plain, XML text.

Sorry it may not seem as straight-forward as you would like, but that's why we often recommend using Catalina and Hackintool.

:)
Thank you so much i know get how to
Hi there.

With USBPorts.kext you don't switch ports on or off, instead you add or delete them because the kext is patching the DSDT.

You can certainly manually edit the Info.plist to do this. The easiest way is to select a port you do not want and edit the details to one you do want.

For example:

If you wish to change port HS09 to HS14 and change it from a USB3 port to Internal, take a look at this section of the plist -

<key>HS09</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>name</key>
<string>HS09</string>
<key>port</key>
<data>
CQAAAA==
</data>
</dict>

... and edit it like this, remembering to change the base64 number accordingly -

<key>HS14</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>name</key>
<string>HS14</string>
<key>port</key>
<data>
DgAAAA==
</data>
</dict>

For clarity you should also move the code segment into the correct place in the file.

If you just want to remove a port then delete the complete section for it as shown above. The "port-count" variable will remain the same unless you remove the last port in your list.

I did the above in a plain-text editor but you can use whatever software you like as long as it produces plain, XML text.

Sorry it may not seem as straight-forward as you would like, but that's why we often recommend using Catalina and Hackintool.

:)
Thank you so much , i have made some progress i have my front usb-c port working but when i look in hackintool i am only getting a speed of 480 mbps . I have attached my usbMap.kext (as Info.plist) and a screen shot of hackintool if anyone could give me some pointers i would really appreciate it.
 

Attachments

  • Screenshot 2023-01-30 at 22.27.32.png
    Screenshot 2023-01-30 at 22.27.32.png
    69.6 KB · Views: 34
  • Info.plist
    4.5 KB · Views: 34
Thank you so much i know get how to

Thank you so much , i have made some progress i have my front usb-c port working but when i look in hackintool i am only getting a speed of 480 mbps . I have attached my usbMap.kext (as Info.plist) and a screen shot of hackintool if anyone could give me some pointers i would really appreciate it.

Okay. :thumbup:

You need to create a ZIP archive of your USB kext (or Info.plist) because otherwise macOS will not make it available to view.

Thanks.
 
Okay. :thumbup:

You need to create a ZIP archive of your USB kext (or Info.plist) because otherwise macOS will not make it available to view.

Thanks.
AMAZING i worked it out! Sorry for being such a noob!

The problem was my understanding of the USB mapping , i thought that the title HS08 or SS08 (<KEY>) was all you needed you then set the port to what you wanted it to be USB 2 or 3 or c by using the type setting (<integar>) and then just aded a <data> value like AgAAAA== to fit after the previous entry. I went through CharlesCai USBMap.text on github and realised my thought was wrong.

You must add the port using a set <data> value and enter what type of physical port it is <integar> , i didn't realise that the SS and HS entries have total different <data> values.

I used CharlesCai USBMap.kext list which had all the ports correctly labelled and addressed and just choose what ports i wanted form this and pasted them into my own USBMap.kext.

Now i have 5gbps on my USB-C :) , my only question is what i should set Port Count to in USBMAp.kext

Thankyou so much @UtterDisbelief i really appreciate your answers, it feels great now its working. Thankyou @charlescai for keeping your files on github , without them i would not have worked it out. I have attached my hackintool usb list , i just have a few more ports to add but its all work and understood why now.
 

Attachments

  • Screenshot 2023-01-31 at 21.38.00.png
    Screenshot 2023-01-31 at 21.38.00.png
    48.2 KB · Views: 26
Back
Top