USBMap
by CorpNewtmacOS-only USB mapping tool for creating custom USB port maps on Hackintosh
USBMap
This is a utility tool, NOT a kext. It does not need to be installed in your EFI.
USBMap is a Python script for mapping USB ports in macOS and creating a custom injector kext. It uses a โsliding windowโ approach to work within macOSโs 15-port limit.
Overview
macOS limits each USB controller to 15 ports. USBMap helps you discover which ports your system has, select the ones you need, and generate a custom USBPorts.kext that maps only those ports.
Features
- Port Discovery: Discover all USB ports on your system
- Sliding Window: Uses a sliding window approach to work within the 15-port limit
- Custom Kext Generation: Generate a USBPorts.kext tailored to your hardware
- Controller Support: Supports XHCI, EHCI, OHCI, and UHCI controllers
- No USBInjectAll Dependency: Works without USBInjectAll.kext installed
Installation
- Download from GitHub
- Extract the ZIP file
- Run
USBMap.command(macOS only)
Requirements
- macOS (this tool is macOS-only)
- Python 3.6 or later
Usage
- Launch USBMap
- Select Discover Ports to list all USB ports
- Plug USB devices into each port to identify them
- Select the ports you want to keep (maximum 15 per controller)
- Generate a USBPorts.kext
- Copy the generated kext to
EFI/OC/Kexts/and update yourconfig.plist
USBMap vs USBToolBox
- USBMap: macOS-only, handles the 15-port limit with a sliding window approach. Better if you must map from macOS.
- USBToolBox: Supports Windows (recommended), has companion port detection and port type guessing. Better if you can map from Windows.
For most users, USBToolBox from Windows is the recommended approach.
FAQ
Can I use USBMap on Windows?
No, USBMap is macOS-only. For Windows, use USBToolBox instead.
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.
Related Utilities
- USBToolBox - USB mapping from Windows (recommended)
- USBPorts - Companion kext for USBToolBox maps
- USBInjectAll - Legacy USB port injection