Personally, I found the USBMap's Quick Start (readme on github) confusing.
Yes I agree the Quick Start is missing important context for understanding its use.
I just went through a session of relearning how it works and made additional notes, which I'll review and post.
Key things that every user needs to know but are not spelled out:
1) The working memory of the tool is kept within the Info.plist of the tool's output in Results/USBmal.kext. You can inspect it with a property list editor, by showing package contents.
2) Due to "companion ports" (HS vs SS) showing up as separate list entries, and also due to the spread of these entries across the range, your board may have more ports to select from than will fit into the absolute list maximum of 26. So you have to detect ports in stages, where you
- start clean with no Results/USBmsp.kext and (R)eset — delete existing if needed.
- (D)etect just so the tool can make an unpopulated list of controllers — you don't need to activate every port as the Quick Start suggests; I think QS step about this is a typo
- (K) generate a Dummy USBmap.kext,
- install into EFI and boot with it,
- (D)etect to discover what ports you are surely NOT going to need,
- quit USBmap
- run the Edit script to disable ports you DO NOT need to create room in the list of 26 — the edit script updates the Info.plist within the Dummy in Results/USBmap.kext,
- install the pared-down dummy and
- reboot again,
- (D)etect again to locate the ports you DO you need that didn't show up on the first go-around, and
- (P) finalize your choices according to the 15 per controller macOS limit and assign port types to get an optimal USBmap.kext for your purposes.
3) You don't need USBInjectAll, nor OC/Kernel/Quirks/XhciPortLimit; don't use these.
4) If you have an error in your OC kext startup and Lilu is not first where it belongs, controller naming may be affected which adds to confusion. Be sure your base OC config is solid before attempting USB mapping.
There are some other tidbits I'll post later, but the above is the gist.