corpnewt / USBMap

Python script for mapping USB ports in macOS and creating a custom injector kext.
MIT License
1.03k stars 88 forks source link

USBMapInjectorEdit.command Is it temporary to disable unuseful ports during mapping? #41

Closed oldman20 closed 2 years ago

oldman20 commented 2 years ago

Screen Shot 2022-07-25 at 09 47 54 what's about USBMapInjectorEdit.command? Is it temporary to disable unuseful ports? I can use USBMap/ USBMapLegacy/ USBMap Dummy depending which boot method, right?

Screen Shot 2022-07-25 at 09 48 42 And I don't understand much about S, C, L Option. Anyone can explain for me? Thank! I did like screenshot is properly? Screen Shot 2022-07-25 at 09 55 45 Screen Shot 2022-07-25 at 09 55 53 Screen Shot 2022-07-25 at 09 56 50 Screen Shot 2022-07-25 at 09 59 53

corpnewt commented 2 years ago

Hey there - as I mentioned in the other issue:

Correct - it just gives you a quick, cross platform way to edit the injector. It makes it easy to toggle ports on or off within an existing injector (like the dummy USBMap.kext).

I also added the ability for it to change types, add nicknames, etc - it's akin to a self-contained copy of the P. Edit & Create USBMap.kext option within USBMap's main menu which works by editing, and not creating a new injector kext.

But - as you've asked here, onto the current questions at hand:

I can use USBMap/ USBMapLegacy/ USBMap Dummy depending which boot method, right?

USBMap and USBMapLegacy just leverage different IOClasses. AFAIK USBMap will work, even on older OSes - but some may have better luck on pre-Catalina OSes with USBMapLegacy.

And I don't understand much about S, C, L Option. Anyone can explain for me? Thank!

The IOKitPersonalities within USBMap and USBMapLegacy are bound to a certain SMBIOS - if you change your SMBIOS and intend to reuse the same map - you need to change the SMBIOS targeted within the injector to match the target machine via the S option.

C changes all IOKitPersonalities to use the new AppleUSBHostMergeProperties IOClass- which is what USBMap.kext uses by default.

L changes all IOKitPersonalities to use the older AppleUSBMergeNub IOClass - which is what USBMapLegacy.kext uses by default.

You can still respond in the prior issue you had posted - I've just closed it is all.

Hopefully that answers your questions though?

-CorpNewt

oldman20 commented 2 years ago

Thanks, enough for me Keep great work! Good day to you!