USBMap

github.com/corpnewt/USBMap Mac Apps Open-source projectOpen source

USBMap maps USB ports on macOS and creates a custom injector kext, addressing port limits described by the project.

github.com/corpnewt/USBMap
USBMap homepage screenshot

About USBMap

USBMap is a Python script for macOS that maps USB ports on systems that are not Apple hardware. The project states that macOS recognizes up to 15 USB ports per controller. On other motherboards, macOS may use the first 15 detected ports, which can leave USB 3 ports running at USB 2 speeds or not working at all. USBMap creates a custom injector kext that maps the physical ports within this limit. It is open source and is run from Terminal or by double-clicking USBMap.command.

The mapping process has several steps. Users must discover ports, create a dummy kext, add it to the EFI configuration, temporarily disable some port entries, and reboot between stages. The project advises removing other USB mapping kexts, such as USBInjectAll.kext, before starting, because they can interfere with the process.

Key features

  • Creates a custom injector kext to map USB ports within macOS's 15-port limit
  • Does not depend on USBInjectAll.kext
  • Maps XHCI, EHCI, OHCI, and UHCI USB controllers
  • Supports mapping USB 2 hubs, which require the parent port to use type 255
  • Matches devices by class name rather than port or controller name
  • Lets users assign nicknames to discovered ports for easier identification
Best for: People running macOS on non-Apple motherboards whose USB ports run at USB 2 speeds or do not work, and who are comfortable with Terminal and EFI configuration.
Good for
  • Does not depend on USBInjectAll.kext
  • Supports several USB controller types, including XHCI, EHCI, OHCI, and UHCI
  • Open source, with the code and license available on GitHub
Watch out for
  • Runs on macOS only
  • Other USB mapping kexts must be removed first, because they can interfere
  • The process involves several reboots and temporarily disabling some port personalities

USBMap at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Platforms
macOS
Open source
Yes · Source code
Language
English
Last checked
Oct 6, 2026 · Online when checked
Listed
Oct 5, 2026

USBMap alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

pipes-rs

github.com/lhvy/pipes-rs

The pipes-rs project rewrites pipes.sh in Rust; its repository documents installation through Cargo and Git.

Popular in Mac Apps

Well-known listings from the same topic.

All 140

USBMap FAQ

Does USBMap require USBInjectAll.kext?
No. The project lists having no dependency on USBInjectAll.kext as a feature. It also advises removing USBInjectAll.kext and similar kexts before mapping, because they can interfere with the process.
Do I need Git to install USBMap?
No. The project offers a zip of the latest repository, which can be downloaded and run by double-clicking USBMap.command. Installing with Git is also described.
Why do some physical USB ports only run at USB 2 speeds?
According to the project, macOS supports up to 15 USB ports per controller. On systems with more ports, macOS may use the first 15 it detects, and USB 3 ports are often numbered above 15, so they run at USB 2 speeds.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing