USBInjectAll

USBInjectAll

by Sniki
USB

USB port injection for proper USB mapping on Intel-based Hackintosh systems

Advertisement
Advertisement (336ร—280)

USBInjectAll

USBInjectAll is a kext that injects all USB ports on Intel-based systems. Itโ€™s commonly used as a starting point for USB mapping on Hackintosh builds.

Overview

macOS has a 15-port limit per USB controller. USBInjectAll enables all available USB ports so you can identify which ones you need, then create a custom USB map with only the ports you use.

Features

  • Port Injection: Enables all USB ports on Intel controllers
  • Discovery Tool: Helps identify which ports your system has
  • Custom Mapping: Used as a base for creating custom USB maps
  • Wide Compatibility: Works with most Intel USB controllers

Installation

Prerequisites

  • OpenCore bootloader (0.7.0 or later)
  • macOS 10.11 or later
  • Intel-based system (AMD systems use different approaches)

Steps

  1. Download the latest release from GitHub
  2. Copy USBInjectAll.kext to your EFI partition: EFI/OC/Kexts/
  3. Add the kext to your config.plist under Kernel > Add
  4. Add boot argument uia_exclude= to disable specific ports (optional)
  5. Reboot your system

config.plist Entry

<dict>
    <key>BundlePath</key>
    <string>USBInjectAll.kext</string>
    <key>Comment</key>
    <string>USB port injection</string>
    <key>Enabled</key>
    <true/>
    <key>ExecutablePath</key>
    <string>Contents/MacOS/USBInjectAll</string>
    <key>MaxKernel</key>
    <string></string>
    <key>MinKernel</key>
    <string></string>
    <key>PlistPath</key>
    <string>Contents/Info.plist</string>
</dict>

USB Mapping

USBInjectAll is meant to be a temporary tool for discovery. Once youโ€™ve identified your ports, you should create a custom USB map:

  1. Install USBInjectAll and reboot
  2. Use Hackintool or USBMap to identify active ports
  3. Plug devices into each port to discover them
  4. Create a custom USBPorts.kext or USB map SSDT
  5. Remove USBInjectAll and use your custom map instead

Troubleshooting

USB devices not detected

  • Verify USBInjectAll is loaded
  • Check that your USB controller is Intel-based
  • Try different boot arguments for port exclusion

Too many ports showing

  • Use uia_exclude= boot argument to disable unused ports
  • Example: uia_exclude=HS01;HS02;SS01 to disable specific ports

System instability

  • USBInjectAll is not meant for permanent use
  • Create a proper USB map as soon as possible
  • Remove USBInjectAll after mapping is complete

FAQ

Do I need USBInjectAll permanently?

No, USBInjectAll is a discovery tool. Use it to find your ports, then create a custom USB map and remove it.

Can I use USBInjectAll with AMD?

USBInjectAll is designed for Intel USB controllers. AMD systems use different approaches for USB mapping.

Whatโ€™s the 15-port limit?

macOS limits each USB controller to 15 ports. This includes both USB 2.0 and USB 3.0 ports. A custom USB map ensures you stay within this limit while enabling the ports you need.

Resources