Contribute
Register

Broadcom WiFi/Bluetooth [Guide]

Hi Folks,

I just completed my first Hackintosh build very recently. I got everything to work despite a range of various setbacks, except for one annoying issue related to the BCM2045A0 Bluetooth device in my DW1820A card. After following the guide in the first post in this thread and installing the BrcmFirmwareRepo.kext, BrcmPatchRAM2.kext, and AirportBrcmFixup.kext kernel extensions into the /Library/Extensions/ folder and installing my Clover-injected kexts in that folder, as well as mapping the USB layout into the SSDT file, there is still a recurring kernel panic that persists.

The panic happens (1.) on boot if BT was used in the previous OS X session, and (2.) a few seconds after wake, while the system is running. The first few times when it happened after waking the computer all USB devices appeared to be disconnected as the OS would automatically start looking for BT peripherals, which in turn may have been causing the kernel panics while the system was running. Interestingly, after installing my kexts (previously injected by Clover only) in /L/E/, this issue appears to be gone (based on the limited testing I've done), but a kernel panic still occurs after restarting. If the kernel panic occurs, it persist and OS X cannot be booted without enabling safe mode. OS X becomes bootable without -x again only if I (a.) remove the cable connecting the BCM2045A0 to the motherboard, or (b.) if I boot into Windows 10, turn the BT off-on there and then boot into OS X subsequently (BTW, both WiFi and BT are working perfectly in Windows 10 after installing some great BT drivers from Lenovo).

Based on these I think that OS X may be struggling to set the right power states in the BT chipset, or possibly that it leaves incorrect information in the NVRAM - I am really not an expert, so just thinking out loud here, I've only started working with OS X a few days ago.

Surprisingly, when a kernel panic does not occur and OS X boots with the BT chipset connected, the WiFi in the DW1280A works perfectly and so does the BT with my speakers - there's not even any stutter which is surprising given that it's causing kernel panics and Handoff does not work either. Also, I cannot get it to connect to my iPhone 8, my phone either says it's unable to connect or it connects but then drops the connection. I am not sure whether this is an issue with the BT on my build or I'm just not sure what to use the connection for - I've never owned an OS X device in my life and I've no idea what the phone-Mac BT connection is meant to be used for. :)

Any pointers would be appreciated, especially with regards to getting rid of the kernel panics and getting the Handoff/iPhone connection working. Please find attached the problem reporting files.

Many thanks in advance!

Kris
 

Attachments

  • Problem_Reporting.zip
    1.3 MB · Views: 92
Last edited:
The panic happens (1.) on boot if BT was used in the previous OS X session, and (2.) a few seconds after wake, while the system is running
Two issues:
a. Attached SSDT-UIAC.dsl is wrong:
Code:
                    "HS14", Package() // Bluetooth on Internal USB2
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 14, 0, 0, 0 },
                    },
See [Guide] Creating a Custom SSDT for USBInjectAll.kext/Post #1/"In the case of the NUC6i7KYK, only HS09 needs adjusting. Since the bluetooth controller is internal, it should be 255"

b. Attached SSDT-UIAC.dsl is not the binary, remove; compile, install SSDT-UIAC.aml

I cannot get it to connect to my iPhone 8
Do not pair your iPhone 8 with macOS, not required for Continuity; delete (X)
See Post #1/This thread does not support ...
 
Last edited:
Two issues:
a. Attached SSDT-UIAC.dsl is wrong:
Code:
                    "HS14", Package() // Bluetooth on Internal USB2
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 14, 0, 0, 0 },
                    },
See [Guide] Creating a Custom SSDT for USBInjectAll.kext/Post #1/"In the case of the NUC6i7KYK, only HS09 needs adjusting. Since the bluetooth controller is internal, it should be 255"

b. Attached SSDT-UIAC.dsl is not the binary, remove; compile, install SSDT-UIAC.aml
Hi Toleda,

Thank you for the advice - however, (a.) I can confirm that this is not the issue, I forgot to mention this in my original post but I've been testing HS14 (the Bluetooth device on an internal HS USB) set both as a UsbConnector 0 and 255 - it does not seem to make any difference on my system. The device behaves the exact same way regardless of which number is used, and the issues persist in the same form I described. Also, (b.), I attached the .dsl as I thought it'd be easier for you to look into than a compiled SSDT. Naturally, my EFI partition has the compiled version and I can confirm that I tested it and the SSDT is being loaded and all USB ports work perfectly except for the Bluetooth device on HS14 which the issues are related to. By the way - does it make any difference that USBInjectAll.kext is now also installed in /L/E/ but an SSDT is only present in the EFI partition?

Thanks for your response though, it is highly appreaciated!
 
Thank you for the advice - however
Attached files, absolutely useless. Explanations, not relevant. Advice, not valid
Start over, restart
Do not manipulate any requested file
Attach new Post #1/VI. Problem Reporting files
 
Last edited:
I got my Hackintosh connected via ethernet, and I have no use for Wifi. What are my best options to get native bluetooth and enabling the Handoff/Continuity functions? Do I still need to get a Broadcom card with Wifi? And if I do, can I disable Wifi and only use bluetooth + ethernet to enable all functions in Mac OS?
 
So I need to use Wifi instead of Ethernet to get everything working natively?
Or do you mean I need to have Wifi "active" so that it can be used when needed? Because I rather use ethernet as it is faster.
 
So I need to use Wifi instead of Ethernet to get everything working natively?
Continuity requires WiFi and BT. The only known non native macOS Wifi and BT solutions are specific Broadcom products, noted in Post #1

Continuity is off topic, see Post #1
 
Last edited:
bombardier10 said:
"Depending on the design, a M.2 socket may support both the CNVi and standard M.2 Key A or E for Intel® Wireless-AC 9260. We recommend you to contact your motherboard manufacturer to check if it is designed to support both the CNVi and generic M.2 Key A or E socket modules."

Coffee Lake, to date:
1) true: Asus, ASRock Gigabyte B360
2) not true: Gigabyte Z390 and H370/310 motherboards

Since for a SFF builds the choice of a motherboard with integrated wifi that works under MacOS is a great option in comparison to other solutions that use USB, PCIe, or M.2 SSD adapters, it could be very useful to have a thread with a clear and updated list of mini-ITX mobo that are suitable for a WI-FI replacement that leads to native wifi support under Mac OS.

I've a Gigabyte B360 that use an "Intel® CNVi interface 802.11a/b/g/n/ac" and I can confirm that the WI-FI card can be replaced with an adapter + and original Airport Card (my wi-fi and bt works native, including handoff and continuity, without extra kext or patches).

Now I'm planning to buy a new mobo.
Because I don't need overclocking and I need dual M.2 SSD I'm looking to the ASUS ROG STRIX B360-I GAMING or to the Asus ROG STRIX H370-I GAMING, but I'm not sure of my understanding of the above Toleda list:
It seems that the ASUS ROG STRIX B360-I GAMING should have replaceable wifi for sure, but what about Asus ROG STRIX H370-I GAMING?
I should pick the "true" because it is and Asus (so the B360 of the first line is referred only to Gigabyte) or I should pick the "not true" because is an H370 (so the H370/310 of the second line are non only referred to the Gigabyte brand) ?

When considering Z390 overclocking solutions, is assured that Gigabyte Z390 I AORUS PRO WIFI fall in "false" case, but we can say for sure that Asus ROG STRIX Z390-I GAMING and AsRock Z390 Phantom Gaming-ITX/ac are certainly "true"?


Little OT: is it easy to remove the preinstalled IO shield on Asus motherboards ?
 
Last edited:
I've a Gigabyte B360 that use an "Intel® CNVi interface 802.11a/b/g/n/ac" and I can confirm that the WI-FI card can be replaced with an adapter + and original Airport Card
First and only report of Broadcom/CNVi socket success
It seems that the ASUS ROG STRIX B360-I GAMING should have replaceable wifi for sure, but what about Asus ROG STRIX H370-I GAMING?
Yes, all Asus Coffee Lake motherboards (Z370 is Kaby Lake)
When considering Z390 overclocking solutions, is assured that Gigabyte Z390 I AORUS PRO WIFI fall in "false" case, but we can say for sure that Asus ROG STRIX Z390-I GAMING and AsRock Z390 Phantom Gaming-ITX/ac are certainly "true"?
Yes
 
Back
Top