No Bluetooth

Edwin

Member
AMD OS X Member
Jul 25, 2021
129
8
18
Netherlands
CPU:
Ryzen 9 5900X
Hi guys, my bluetooth isn't working. Can you techies look at/check or validate my EFI?
Thanks in advance!

Hardware setup:
4,27 GHz AMD Ryzen 9 5900X 12-Core Processor
AMD Radeon RX 6800 XT 16 GB
32 GB 3200 MHz DDR4
MSI MPG X570S Carbon Max WiFi (Intel®Wi-Fi 6E AX210, Bluetooth 5.2)
MacOS 15.5
 

Attachments

Have a look at your USBPorts.kext. It doesn't contain any ports set as Internal, which your Bluetooth would be connected to. All your USB ports are set as USB3 (UsbConnector = 3). Including the sole port identified in the USBPorts.kext/Contents/Info.plist (Type-C port is set as USB3)!

See these three screenshots below, which show the ports activated under each USB controller in your X570 system.

Screenshot 2025-07-29 at 22.39.58.png Screenshot 2025-07-29 at 22.40.17.png Screenshot 2025-07-29 at 22.40.31.png

You also have a different SMBIOS (MacPro7,1) in your config.plist compared to the SMBIOS used when the USBPorts.kext was created (iMacPro1,1). If these don't match then your USBPorts.kext won't work in any way shape or form.

Given it is so wrong anyway, it is probably a blessing in disguise that it doesn't get used when booting your system.
 
  • Like
Reactions: Edwin
Aha I see. Jezus I made a mess of it. What's the easy fix? I'm not a computer nerd as you can see...
 
There isn’t an easy fix.

The fix is use Corpnewt’s USBMap in macOS to discover and test each port with a USB2, USB3 & Type-C pen drive. So you identify each physical and virtual port available in your system. Then create the kext based on your discovery work.


Do not use Hackintool to undertake the port discovery, as it doesn’t work well with AMD systems.

AMD motherboards have more than one USB controller this means you are not limited to 15 x ports like most Intel motherboards. As each USB controller can activate a maximum of 15 x ports, it is not common that they have that many, usually the maximum number of ports for any one USB controller is 14 x ports. More commonly the number is between 8 & 10 x ports.

This is one of the most important aspects of having a Hackintosh system, without this fix sleep/wake issues, connected devices not working at the correct speed, and the Bluetooth device not working or being discovered by the OS are common.

There are people here that will help you, but you need to undertake the port discovery, as you have the system to hand. We can’t do this for you.

Relying on someone else’s USBMap isn’t advised, as you don’t know if they have done the work correctly or if they have connected the header ports in the same way that you have done. There are only a few Users who I would trust to provide a working USB solution, but they would have to be using the same motherboard as you, unfortunately that isn’t too likely. So it is ultimately down to you.
 
  • Like
Reactions: Edwin
Ok I see. I'll give it a try. Thanks for noticing me!
 
Hi, I'm at point 7 but don't know what to choose. What should I do now?
 

Attachments

  • Scherm­afbeelding 2025-07-30 om 12.09.52.png
    Scherm­afbeelding 2025-07-30 om 12.09.52.png
    118.1 KB · Views: 10
Return to main menu, you don’t need to change anything on that screen.
 
Ok, done that. I'm now at step 10. But again, I don't know what to do. It's like abracadabra to me...
 

Attachments

  • Scherm­afbeelding 2025-07-30 om 18.19.34.png
    Scherm­afbeelding 2025-07-30 om 18.19.34.png
    362.6 KB · Views: 8
What you need to do on this screen is the following:
  1. Set the correct Connector type for each port, i.e. your Bluetooth device is located under controller XHC2 and port PRT4, it is currently set as USB3 (as are all the ports by default).
    1. This needs to be changed to Internal (255) using the options listed at the bottom of the screen, i.e. T:4:255 would change the Bluetooth port connector type from USB3 (3) to Internal (255).
    2. The above is an example of changing a connector type, just so happens to be one you need.
    3. You need to do this for all Physical USB2 (0), Internal (255) and Physical and Virtual Type-c (9 or 10) ports.
  2. You can also use the 'Nickname' option to better identify the individual ports (physical and virtual) based on their location and speed.
    1. An example of this would be pressing 'n' followed by return/enter key, then typing the user name you want to apply to the port, so with port
These are the USB ports available on your MSI X570S motherboard.

AMD X570 Chipset​

  • 1x USB 3.2 Gen 2 10Gbps Type-C internal connector
  • 4x USB 3.2 Gen 1 5Gbps ports are available through internal USB connectors
  • 2x USB 2.0 ports on the back panel
  • Asmedia® 1074 Chipset
    • 4x USB 3.2 Gen 1 5Gbps Type-A ports on the back panel
  • GL850G Hub
    • 4x USB 2.0 ports are available through the internal USB connectors

AMD Processor​

  • 4x USB 3.2 Gen 2 10Gbps ports (3 Type-A ports and 1 Type-C port on the back panel
What this tells me is that you should have the following ports in your USB discovery, assuming all ports are correctly discovered:
  • 2 x USB2 physical ports (black tang) on the rear I/O plate. These are the only ports that should be set with connector type USB2 (0).
  • 4 x USB2 Internal header ports (base edge of the motherboard). Depending on how you are using these you may have a maximum of 4 x ports that need to be set with connector type 'Internal' (255).
  • 1 x USB2 Internal port served by the built-in M.2 WiFi/BT connector. This is where I assume your Bluetooth module is connected, not via one of the header ports. This will also need to be set with connector type 'Internal' (255).
  • Any Red/Cyan/Yellow type-A physical USB3 ports will need to be set as USB3 (3) connector type.
    • The same goes for any virtual USB2 ports served from a physical USB3 port. They will need to be set with connector type USB3 (3), to match the parent port type.
  • Type-C ports is where some difficulty can arise, as there are two different options for these ports.
    • If you plug a Type-C device in to a port, a specific port will be highlighted (as normal). If you remove the device, flip it 180° and reinsert it in the same port one of two things will happen:
      1. If the port is a Type-c+switch (9) the same port number will be highlighted.
      2. If the port is a Type-c (without switch) (10) then a different port number will be highlighted.
      3. This will happen for both a Type-C USB2 device and a normal Type-C device.
    • A Type-c+sw port (9) will have 2 x ports same as any USB3 port, a physical and a virtual port.
    • A Type-C port (10) will have 4 x ports, with each side of the Type-C device connecting to a different pair of ports.
Your Motherboard provides 2 x Type-C connectors.
  1. A normal Type-C connector on the rear I/O plate.
  2. A Type-E to Case Front Type-C connector, which you may or may not be using, depending on your PC case.
    1. It is likely but not a given that the following may be correct in respect of your Type-C connectors.
      1. The one on the rear I/O plate is likely to be a Type-C+switch (9) port.
      2. The case front connector if connected, will be a Type-C (10) port.
I have attached a couple of screenshots showing the USB Headers & connectors on your motherboard, plus the I/O plate ports you need to work with.

Using these images can help with the nicknames you give the ports, i.e. USB2 physical top left & USB2 physical top right would be logical for the 2 x physical USB2 ports.

MSI X570S I-O plate.png MSI X570S Motherboard layout.png

You can use the Preview app to annotate these images when identifying each port/header/connector, as shown in the image not shown as a thumbnail.
 

Attachments

  • MSI X570S Motherboard USB headers.png
    MSI X570S Motherboard USB headers.png
    665 KB · Views: 3
Ok, big job. Eh how do I change [#] 4. PRT4 | AppleUSB20XHCIPort - Bluetooth USB Host Controller to internal (255)?
This is like uncharted territory for me haha!
 
I told you how to change that specific port in the verbiage above.
  1. This needs to be changed to Internal (255) using the options listed at the bottom of the screen, i.e. T:4:255 would change the Bluetooth port connector type from USB3 (3) to Internal (255).
So you would enter the following in the USBMap window:

T:4:255

This equates to the following:
T = Connector Type
4 = port number, highlighted in screenshot below
255 = new connector type to be set for port 4, in place of current type, also highlighted in screenshot below.

Screenshot 2025-07-30 at 22.20.58.png Screenshot showing relevant elements for port 4 (XHC2 - PRT4)

Based on your port discovery notes, and the list of USB ports present in your system you would use the same (T:x:x) formula to change other ports to the correct Type.
 
  • Like
Reactions: Edwin
Awesome, thanks!
 
Still no luck with Bluetooth...
 

Attachments

  • Scherm­afbeelding 2025-07-31 om 00.09.17.png
    Scherm­afbeelding 2025-07-31 om 00.09.17.png
    151.9 KB · Views: 7
Where are the other USB ports, your system has a lot more than 14 x ports. There should be approx. 32 x USB ports shown in your Discovery screenshot.

You do not need to limit the number of ports in your system as would be the case if it were an Intel motherboard. You need to remove any previous USB kexts as they can mess with your new configuration.

Each USB controller in your AMD system, and there are 3 x USB controllers in your system, can activate up to 15 x ports (each controller). You should be discovering and activating every port available.

Just because the Bluetooth port is correct doesn't mean the others are correct!

What is connected to port 2 HS02 - USB audio - Internal or external audio device? If internal then it should be set as 255 not 3.
What is connected to port 8 HS05 - Mystic Light - Internal LED controller? if yes, then this should also be set as 255 not 3.
How is Port 9 HS06 connected? Is this a case front port served from a motherboard header? If yes, which header USB2 or USB3?

As an example this is a screenshot showing the ports found during the Discovery phase from my Asus X570 motherboard/system. Which I have been recreating for Tahoe.

Screenshot 2025-07-30 at 23.47.46.png Asus X570 USB ports during discovery phase.

Note:
  1. There are a lot more than 15 x ports spread across the 3 x USB controllers.
  2. I have also used the Nickname option to better identify each port, so when it comes to the next stage,.
  3. The next stage is where you would edit the ports to set them with the correct Connector type,.
  4. The use of Nicknames/comments makes it easy for anyone to see which port is which, when reviewing the ports in a Terminal screen.
When you navigate back to the main menu, you then need to select Option 'P' Edit and Create USBMap.kext

Screenshot 2025-07-31 at 00.03.17.png Select option P

This will display all the ports you have in your system, or it should. Like the screenshot(s) below.

Screenshot 2025-07-31 at 00.05.23.png Screenshot 2025-07-31 at 00.06.23.png Screenshot showing the Edit and Create options.

Using the formula at the bottom of the second screenshot, you are able to change the connector type or Nickname/Comment for each port.
I have used the Type 'T' option to change the rear Type-C ports to (9), as they were by default set as (10).

I would also make use of option 'D' - Disable All Empty Ports. So any unused ports do not cause issues.

When I have finished editing the ports, I use Option 'B' which builds/exports both a USBMap.kext and USBMapLegacy.kext.

The USBMap.kext can then be added to the OpenCore /EFI/OC/Kexts folder with a companion entry added to the config.plist.

I would ensure that I used the ResetNvram entry when next booting in to macOS. So the old ports, which sometimes are held in memory, are not used.
 
  • Like
Reactions: Edwin
This is what the finished USB port configuration from my Asus X570 looks like in Hackintool.

Screenshot 2025-07-31 at 00.24.47.png

I wouldn't normally show this but I am sure you are going to use Hackintool at some point and want to check which ports are active and if they have the correct connector type.

As you a see the 3 x USB controllers don't exceed the 15 x port limit individually. But together they exceeded that artificial limit imposed by Apple.
  • XHC - 10 x ports
  • XHC0 - 7 x ports
  • XHC0 - 8 x ports
I have 25/28 ports active in this system.

The 3 x ports not active are lost becauseI I only have 1 x USB2 & 1 x USB3 ports on the front of my Fractal Design Focus G case.
 
  • Like
Reactions: Edwin
Ok, I'm on it now.
 
Question: does connector TypeC+Sw need to be 'Internal' or keep it as is (TypeC+Sw) or changed to TypeC?
I also saw this in Hackintool...
 
Keep it as Type-c+sw, if that is how the discovery showed the ports.

Only change to Type-c if the port discovery shows a different port when the device is unplugged, flipped over 180 degrees and reinserted in the same port.
 
  AdBlock Detected
Sure, ad-blocking software does a great job at blocking ads, but it also blocks some useful and important features of our website. For the best possible site experience please take a moment to disable your AdBlocker.