Which port is the Broadcom Bluetooth module connected to?
The only Bluetooth device mentioned in your USBMap.kext/Contents/Info.plist is the Intel Bluetooth on XHC1 > PRT6.
This is enabled in the USBMap.kext, so it will clash with the Broadcom BT module.
If you disable this port then the Intel Bluetooth will not impact on the Broadcom BT module.
You have a lot of USB2 ports set with connector Type (0). This would be fine if your system actually contained some Physical USB 2.0 ports, but it doesn't.
Tthe USB2 ports fall under the following connector types:
- Served from a physical USB3 port, should be set with connector type (3) to match the physical port.
- Served from an Internal USB3 header, i.e. U32G1_1011 etc. should be set with connector type (3).
- Served from Internal USB2 header or LED controller, set with connector type (255).
- Served from a Type-C header or external port, set with connector type to match the Type-C designation (9 or 10).
None of the USB2 ports in your system should be set as USB2 with the connector Type (0), ever.
The 4 x USB2 ports under XHC0 > PRT1, PRT2, PRT3 and PRT4 should all be set with connector type '3', not '0' as they currently are. As they are served from 4 x physical USB3 ports.
The 2 x USB2 ports under XHC0 2 > PRT1 and PRT2 should be set with connector type '3', not '0' as they currently are. As they are served from the USB3 header.
XHC0 2 > PRT6 is an unknown, it seems to be an orphan port set as USB2. You or whoever created this kext hasn't added a comment that easily describes the port type or location.
The 5 x USB2 ports under XHC1 > PRT1, PRT2, PRT3, PRT4 and PRT5, are again unknowns. All I do know is they shouldn't be set with connector Type '0', as they are not physical USB2 ports. PRT6 is set as Internal with connector type '255' (Intel Bluetooth). So it may be that some of these ports are served from the Internal USB2 header(s). One may be your Broadcom Bluetooth module. That being the case they should be set with connector type '255', not '0'.
It is fairly easy to edit a USBMap.kext, all you need is a Plist Editor and the knowledge of which ports to edit.
- Right-click on the USBMap.kext,
- Select 'Show Package Contents' from the menu displayed
- Open the Contents folder and you will see the Info.plist that contains the USB Port Configuration data.
- Double click on the info.plist and it should open with your default Plist editor.
- Edit the plist to suit your requirements and when finished make sure you save the plist.
- It is helpful to create a copy of the Kext or Plist you are editing in case you have to return to the previous setup, if you make a mistake in the editing.
Right-click menu with 'Show Package Contents' highlighted
Finder window showing Contents folder and info.plist from USBMap.kext
I use Corpnewt's ProperTree app when editing plist's. This can be downloaded from his GitHub page linked below. You need to install Python to use ProperTree. It can be set to work as an App from the Applications folder or in Terminal just by double-clicking the ProperTree.command.
Cross platform GUI plist editor written in python. - corpnewt/ProperTree
github.com
I will leave
@AudioGod to deal with your EFI refinement.
Hope this is helpful.