USBMap enables users to map USB ports in macOS, resolving issues where the operating system doesn't recognize all available ports due to limitations. USBMap facilitates the creation of a custom kernel extension (kext) that allows for precise mapping of USB controllers and ports, ensuring optimal functionality for all physical USB ports. The script leverages macOS's USB discovery process and allows users to selectively enable and disable port personalities to create a tailored map.
USBMap distinguishes itself by its dependency-free design, eliminating reliance on USBInjectAll.kext. It offers comprehensive support for various USB port types, including XHCI, EHCI, OHCI, and UHCI, with particular attention to USB 2 HUBs. The script's ability to perform matching based on class name rather than port or controller name provides greater flexibility. It also incorporates features like nickname assignment and session ID aggregation for improved port management.
- Comprehensive Port Support: Maps XHCI, EHCI, OHCI, and UHCI ports, providing broad compatibility.
- Customizable Mapping: Allows users to select and enable specific port personalities for a tailored configuration.
- USB 2 HUB Support: Enables mapping of USB 2 HUBs by utilizing parent port information.
- Nickname Assignment: Facilitates the use of descriptive nicknames for easier port identification.
- Session ID Aggregation: Improves device management by aggregating connected devices using session IDs.
- ACPI Manipulation: Can rename controllers and reset RHUB devices to support custom mapping scenarios.
- Dependency-Free: Does not rely on other popular USB mapping tools like USBInjectAll.
USBMap is an active project demonstrated by recent commits and ongoing community support. The project has a solid release history and a reasonably active issue tracker, indicating ongoing maintenance and responsiveness to user feedback. While not as widely adopted as some other USB mapping tools, its focused approach and feature set suggest a commitment to providing a reliable solution for specific user needs. Documentation is provided in the README.
USBMap benefits users experiencing limitations with macOS's USB port recognition, especially those with motherboards containing more USB ports than are natively supported. It provides a solution for ensuring all physical USB ports are accounted for and function correctly. It is beneficial to users seeking granular control over USB port mapping and reliable operation of all connected devices. It offers a more targeted and configurable alternative to blanket USB injection methods.
