EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,861
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to Fix Bluetooth on macOS Monterey and Later

This guide covers fixing Bluetooth on macOS Monterey and Later using Clover and OpenCore. By following this guide, you'll be able to enable Bluetooth on macOS Monterey and Later using Clover or OpenCore Bootloader.

Background


Recently, we upgraded a build to macOS Monterey 12.6, which was previously deployed with macOS Big Sur 11.6.5. Interestingly, after upgrading to macOS Monterey, we found that BT was available in System Preferences but it was not working. This means no On/Off function, the BT address was NULL and the State was Off. This simply meant that the Bluetooth is either not connected properly or the system is unable to communicate. We were using Broadcom BCM94360NG from Fenvi on this build. As a part of the diagnosis, we changed the card with a new one we had lying and it made no difference. Luckily, we had the exact same build, but a different one with macOS Big Sur, so we swapped the cards, and still a no-go. From this, we concluded that there is no issue with the card but could be the M.2 WiFi Slot or the BIOS. We went further and found that M.2 WiFi Slot and the BIOS were perfect. However, one unusual thing we noticed was under Windows, the WiFi was available, but no Bluetooth. Considering the card firmware was corrupt, we tried to update the firmware but found that the firmware is loading and is working up to the mark. Now, it was time to investigate the OS part, under macOS.

Upon doing some quick research over the internet, we came to know that many users are having such issues and mostly with Broadcom where the BT isn't working, but the WiFi is. When doing a firm investigation, we came to know that Big Sur's Bluetooth implementation is different than Monterey and above, and therefore on a newer macOS version, it fails to find firmware for the chipset and due to this BT firmware isn't loaded at startup and therefore does not work. Since macOS Monterey, Apple has changed a lot in terms of the implementation of various peripherals, including Bluetooth. Apple has changed parts of the Bluetooth stack from kernel space to user space and due to this, the issue exists. The issue exists on natively supported cards (Broadcom, including AirPort Cards) and also community supported cards such as Intel. However, a few Broadcom Cards such as Fenvi T919 are an exception and regardless of the macOS version, the BT works with zero issues. We used a few different builds with different specifications. Upon our investigation, we noticed three scenarios which are described below.

Case #1
In this case, the Bluetooth does not have its address (NULL) and the State was Off.

Case #2
In this case, the Bluetooth does have the address and the State On but fails to initialize firmware. The WiFi operation was normal and the USB mapping was implemented. In this case, the firmware was also failing to load. However, when checking for logs, we found that bluetoothd was constantly crashing. You can find the details below.

Hackintool>System>Peripherals
Screen Shot 2022-09-14 at 6.48.53 PM-min.png

Crashing Detail
Code:
Process:               bluetoothd [534]
Path:                  /usr/sbin/bluetoothd
Identifier:            bluetoothd
Version:               ???
Code Type:             X86-64 (Native)
Parent Process:        launchd [1]
User ID:               0

Date/Time:             2022-09-14 00:59:43.2840 -0400
OS Version:            macOS 12.6 (21G115)
Report Version:        12
Anonymous UUID:        8BD1AA41-B687-73EB-AD85-5F89ED23CE95

Sleep/Wake UUID:       D418A682-0BCF-46B9-9D99-C0196368945A

Time Awake Since Boot: 4400 seconds
Time Since Wake:       16 seconds

System Integrity Protection: disabled

Crashed Thread:        1  Dispatch queue: com.apple.bluetooth.root

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace LIBSYSTEM, Code 2 Application Triggered Fault

Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib                0x7ff81eabc97a mach_msg_trap + 10
1   libsystem_kernel.dylib                0x7ff81eabcce8 mach_msg + 56
2   CoreFoundation                        0x7ff81ebc036d __CFRunLoopServiceMachPort + 319
3   CoreFoundation                        0x7ff81ebbe9f8 __CFRunLoopRun + 1276
4   CoreFoundation                        0x7ff81ebbde3c CFRunLoopRunSpecific + 562
5   CoreFoundation                        0x7ff81ec45dcb CFRunLoopRun + 40
6   bluetoothd                               0x107abc0c8 0x107aa3000 + 102600
7   dyld                                     0x1093e452e start + 462

Thread 1 Crashed::  Dispatch queue: com.apple.bluetooth.root
0   libsystem_kernel.dylib                0x7ff81eadfdba __abort_with_payload + 10
1   libsystem_kernel.dylib                0x7ff81eae1877 abort_with_payload_wrapper_internal + 80
2   libsystem_kernel.dylib                0x7ff81eae18a9 abort_with_payload + 9
3   bluetoothd                               0x107b180db 0x107aa3000 + 479451
4   bluetoothd                               0x107b61c68 0x107aa3000 + 781416
5   bluetoothd                               0x107b10bd8 0x107aa3000 + 449496
6   bluetoothd                               0x107df963a 0x107aa3000 + 3499578
7   bluetoothd                               0x107dfa7d1 0x107aa3000 + 3504081
8   bluetoothd                               0x107dda085 0x107aa3000 + 3371141
9   bluetoothd                               0x107dd9ca9 0x107aa3000 + 3370153
10  libdispatch.dylib                     0x7ff81e9410cc _dispatch_call_block_and_release + 12
11  libdispatch.dylib                     0x7ff81e942317 _dispatch_client_callout + 8
12  libdispatch.dylib                     0x7ff81e948317 _dispatch_lane_serial_drain + 672
13  libdispatch.dylib                     0x7ff81e948e30 _dispatch_lane_invoke + 417
14  libdispatch.dylib                     0x7ff81e952eee _dispatch_workloop_worker_thread + 753
15  libsystem_pthread.dylib               0x7ff81eaf5fd0 _pthread_wqthread + 326
16  libsystem_pthread.dylib               0x7ff81eaf4f57 start_wqthread + 15

Thread 2:: StackLoop
0   libsystem_kernel.dylib                0x7ff81eabebd2 __psynch_mutexwait + 10
1   libsystem_pthread.dylib               0x7ff81eaf6e7e _pthread_mutex_firstfit_lock_wait + 76
2   libsystem_pthread.dylib               0x7ff81eaf4cbb _pthread_mutex_firstfit_lock_slow + 205
3   bluetoothd                               0x107b10a3c 0x107aa3000 + 449084
4   bluetoothd                               0x107b10ea4 0x107aa3000 + 450212
5   libsystem_pthread.dylib               0x7ff81eaf94e1 _pthread_start + 125
6   libsystem_pthread.dylib               0x7ff81eaf4f6b thread_start + 15

Thread 3:
0   libsystem_pthread.dylib               0x7ff81eaf4f48 start_wqthread + 0

Thread 4:
0   libsystem_pthread.dylib               0x7ff81eaf4f48 start_wqthread + 0

Thread 5:
0   libsystem_pthread.dylib               0x7ff81eaf4f48 start_wqthread + 0


Thread 1 crashed with X86 Thread State (64-bit):
  rax: 0x0000000002000209  rbx: 0x0000000000000000  rcx: 0x0000700001616468  rdx: 0x00007000016164d0
  rdi: 0x0000000000000012  rsi: 0x0000000000000002  rbp: 0x00007000016164b0  rsp: 0x0000700001616468
   r8: 0x00007fc95b9158d0   r9: 0x0000000000000000  r10: 0x0000000000000050  r11: 0x0000000000000246
  r12: 0x0000000000000050  r13: 0x00007000016164d0  r14: 0x0000000000000002  r15: 0x0000000000000012
  rip: 0x00007ff81eadfdba  rfl: 0x0000000000000246  cr2: 0x00000001080d3690
 
Logical CPU:     0
Error Code:      0x02000209
Trap Number:     133


Binary Images:
    0x7ff81eabb000 -     0x7ff81eaf2fff libsystem_kernel.dylib (*) <8cc28466-fd2f-3c80-9834-9525b7beac19> /usr/lib/system/libsystem_kernel.dylib
    0x7ff81eb40000 -     0x7ff81f042fff CoreFoundation (*) <93c48919-68af-367e-9a67-db4159bc962c> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
       0x107aa3000 -        0x108176fff bluetoothd (*) <a71d6d7c-a7c1-3503-87e5-7c88f0c27d0b> /usr/sbin/bluetoothd
       0x1093df000 -        0x10944afff dyld (*) <71febccd-d9dc-3599-9971-2b3407c588a8> /usr/lib/dyld
    0x7ff81e93f000 -     0x7ff81e985fff libdispatch.dylib (*) <1a04b380-76e4-3e4b-b0fc-9837533d021d> /usr/lib/system/libdispatch.dylib
    0x7ff81eaf3000 -     0x7ff81eafefff libsystem_pthread.dylib (*) <b5454e27-e8c7-3fdb-b77f-714f1e82e70b> /usr/lib/system/libsystem_pthread.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=925.4M resident=0K(0%) swapped_out_or_unallocated=925.4M(100%)
Writable regions: Total=493.4M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=493.4M(100%)

                                   VIRTUAL   REGION
REGION TYPE                           SIZE    COUNT (non-coalesced)
===========                        =======  =======
Activity Tracing                      256K        1
Dispatch continuations              128.0M        1
Dispatch continuations (reserved)    64.0M        1         reserved VM address space (unallocated)
Kernel Alloc Once                       8K        1
MALLOC                              170.3M       48
MALLOC guard page                      48K       10
MALLOC_MEDIUM (reserved)            120.0M        1         reserved VM address space (unallocated)
ObjC additional data                   15K        1
SQLite page cache                     128K        2
STACK GUARD                          56.0M        6
Stack                                10.5M        6
VM_ALLOCATE                            36K        5
__CTF                                  756        1
__DATA                               19.7M      390
__DATA_CONST                         20.2M      246
__DATA_DIRTY                         1180K      163
__FONT_DATA                             4K        1
__LINKEDIT                          646.1M        9
__TEXT                              279.3M      406
__UNICODE                             592K        1
dyld private memory                  1024K        1
mapped file                          29.3M        6
shared memory                         580K        6
===========                        =======  =======
TOTAL                                 1.5G     1313
TOTAL, minus reserved VM space        1.3G     1313

Solution


To prevent the Bluetooth issue on macOS Monterey and above, a single solution is available which is described below.
  • Implement USB Mapping
  • Add BlueToolFixup Kext
Test Results


Following are the test results for various Bluetooth

BCM94360NG
Screen Shot 2022-09-14 at 6.59.14 PM.png

Screen Shot 2022-09-14 at 7.00.28 PM-min.png
Screen Shot 2022-09-14 at 6.47.46 PM-min.png

Screen Shot 2022-09-14 at 6.59.39 PM-min.png


Conclusion


Hence, we can conclude that most of the Broadcom and Intel WiFi/BT Cards under Monterey may not work, even with proper USB Ports Mapping. This solution is also required by natively supported AirPort Cards such as Broadcom BCM94360NG and BCM943602CS. This might be useful for other Broadcom models as well. We can confirm that the above solution completely fixes the Bluetooth issue on macOS Monterey and above.

Reporting
 
Last edited:

Malik

New member
Joined
Jun 25, 2022
Messages
7
Motherboard
Gigabyte Z390 Gaming
CPU
I3 9100 Coffé lake( no chipset graphic ) 3,6 Ghz
Graphics
RX 550 (Work with fake ID )
OS X/macOS
13.x
Bootloader
  1. OpenCore
Mac
  1. iMac
Mobile Phone
  1. Android
Mapper l'usb de la carte mère et du boitier avec USBMap pas plus de 15 usb puis éditer le config.plist attention à la commande et très important si votre bluetooth est en PCI 1ou2 ou3 il faut le préciser ou sur USB back ou front du boitier voici le lien avec l'installation. https://github.com/corpnewt/USBMap
 
Last edited:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,861
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Mapper l'usb de la carte mère et du boitier avec USBMap pas plus de 15 usb puis éditer le config.plist attention à la commande et très important si votre bluetooth est en PCI 1ou2 ou3 il faut le préciser ou sur USB back ou front du boitier voici le lien avec l'installation. https://github.com/corpnewt/USBMap
Yes, ports must be mapped.
 

chidgear

New member
Joined
Apr 27, 2021
Messages
8
Motherboard
MSI MEG Z590 ACE
CPU
Intel Core i9 10900
Graphics
Gigabyte AMD RX750
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mobile Phone
  1. Android
I am doing a new build with the following:
CPU Intel Core i7 12700F "Alder Lake". 25MB Cache, 4.9Ghz, 8P+4E Cores
iGPU N/A
Motherboard Asus Prime Z690-P
Chipset Intel Z690
Ethernet Realtek 2.5GB Ethernet (RTL8125 / RTL8125B(S)(G))
Audio Realtek 7.1 (ALC897)
Wifi/BT Intel 7265 NGW - AC1200 (Key E card obtained from TPLINK Archer T5E PCI-E Card)
RAM (x4) DDR5 5200 16GB (PC5-41600)
GPU AMD RX6600XT PCIE4.0 8GB NAVI 23 RDNA2(Navi2x)
SSD PCIE4.0 M.2 P5Plus 1TB
HDD Seagate Constellation 2TB 7200RPM (ST32000644NS)
OS Mac OS Monterey
Boot Opencore 0.8.4

Wifi works Flawlessly, but bluetooth isn't (I can't turn it on).
USB ports are mapped, and I have the following Kexts:
-Airportltlwm.kext
-IntelBTpatcher.kext
-IntelBluetoothFirmware.kext
-BlueToolFixup.kext

When I go to system report, under USB I can see
Bluetooth USB Host Controller
Product ID: 0x0a2a
Vendor ID: 0x8087
Version: 0.03
Speed: Up to 12 Mb/s
Location ID: 0x14900000 / 4
Current Available (mA): 500
Current Required (mA): 100
Extra Operating Current (mA): 0
Built-In: Yes

But, under Bluetooth, I see the following:
Bluetooth Controller
Address: NULL
State: OFF
Chipset: BCM_4350C2
Discoverable: Off
Firmware version: v0 c0
Product ID: 0x0001
Supported Services: 0x382039 <HFP AVRCP A2DP HID Braille AACP GATT Serial>
Transport: USB
Vendor ID 0x004C (Apple)

I can't make the bluetoot turn ON and, therefore, Can't link any BT device.
Can anyone help me telling me what am I doing wrong?
Since my Efi Folder is near 40 MB and I cannot attach it, I've uploaded the full EFI folder to google drive.

Thanks in advance.
 

Attachments

  • WhatsApp Image 2022-09-21 at 4.23.25 PM.jpeg
    WhatsApp Image 2022-09-21 at 4.23.25 PM.jpeg
    128.8 KB · Views: 3
  • WhatsApp Image 2022-09-21 at 4.23.25 PnM.jpeg
    WhatsApp Image 2022-09-21 at 4.23.25 PnM.jpeg
    193.1 KB · Views: 3

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,861
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
I am doing a new build with the following:
CPU Intel Core i7 12700F "Alder Lake". 25MB Cache, 4.9Ghz, 8P+4E Cores
iGPU N/A
Motherboard Asus Prime Z690-P
Chipset Intel Z690
Ethernet Realtek 2.5GB Ethernet (RTL8125 / RTL8125B(S)(G))
Audio Realtek 7.1 (ALC897)
Wifi/BT Intel 7265 NGW - AC1200 (Key E card obtained from TPLINK Archer T5E PCI-E Card)
RAM (x4) DDR5 5200 16GB (PC5-41600)
GPU AMD RX6600XT PCIE4.0 8GB NAVI 23 RDNA2(Navi2x)
SSD PCIE4.0 M.2 P5Plus 1TB
HDD Seagate Constellation 2TB 7200RPM (ST32000644NS)
OS Mac OS Monterey
Boot Opencore 0.8.4

Wifi works Flawlessly, but bluetooth isn't (I can't turn it on).
USB ports are mapped, and I have the following Kexts:
-Airportltlwm.kext
-IntelBTpatcher.kext
-IntelBluetoothFirmware.kext
-BlueToolFixup.kext

When I go to system report, under USB I can see


But, under Bluetooth, I see the following:


I can't make the bluetoot turn ON and, therefore, Can't link any BT device.
Can anyone help me telling me what am I doing wrong?
Since my Efi Folder is near 40 MB and I cannot attach it, I've uploaded the full EFI folder to google drive.

Thanks in advance.
Attach Hackintool>PCIe Report and a copy of your IOReg.
 

chidgear

New member
Joined
Apr 27, 2021
Messages
8
Motherboard
MSI MEG Z590 ACE
CPU
Intel Core i9 10900
Graphics
Gigabyte AMD RX750
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mobile Phone
  1. Android
Attached is a compressed file with Hackintool PCIe report and a IOreg copy

Thanks
 

Attachments

  • ASUS Z690-P noBT.zip
    907 KB · Views: 2

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,861
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Attached is a compressed file with Hackintool PCIe report and a IOreg copy

Thanks
Your configuration is not as per the guide.
Moreover, the USB Mapping is not as per the guide.
 

Forum statistics

Threads
749
Messages
7,931
Members
6,857
Latest member
who dat