Issue: with stock RehabMan BrcmPatchRAM2 and BrcmFirmwareRepo kexts, after several wakes from sleep: Bluetooth not available (WiFi continues to function).
Not just for me (see
DW1830 Bluetooth not available (power saving issue?)), this issue does NOT happen when connected to Power Supply.
Hardware: Broadcom based WiFi/ Bluetooth combo cards which connect via the internal USB port, like my
Lenovo FRU 04X6020 BCM94352Z NGFF M.2 (Vendor ID: 0x0489 | Product ID: 0xE07A), or the
Dell DW1820
Known affected macOS versions: 10.13.5, 10.13.6 (likely more)
Pre-requisite: if you experience this issue, you should (or must?) also create a custom SSDT as per
RehabMan's guide.
Hardware recommendation (based on multiple comments in other threads): if you have a M.2 slot and are looking for the most compatible WiFi/ Bluetooth combo card for hackintosh macOS, purchase a
Dell DW1560 ("06XRYC"). It will most likely get along fine with RehabMan stock kexts, and depending on your Laptop has a much bigger chance to not even require a custom SSDT.
Linear problem solving:
For testing, unless you also experience this issue connected to Power Supply, you NEED to disconnect and run on battery!
After reboot, "
TEST" means: put your Laptop to sleep, wake it again, sleep... repeat as often as you can. For me, usually around 5 cycles were necessary for BT to become unavailable after wake-up.
Possible recommended order of solutions to try:
1. in Clover Configuarator/ Boot/ Custom Flags, add the following line into the text field (units = ms):
bpr_probedelay=100 bpr_initialdelay=300 bpr_postresetdelay=300
save, reboot, TEST
2. increase each of above values by 100, save, reboot, TEST
NOTE: you could fiddle with values endlessly, or even add another parameter + value bpr_preresetdelay=xy as per
https://github.com/RehabMan/OS-X-BrcmPatchRAM --> ####Configuration... ¹
3. See if
YoshiMac's solution for his Dell DW1820 works for you by applying
my compile (attached there)
4. install tluck's fork of BrmPatchRAM with longer delays (source:
https://github.com/tluck/OS-X-BrcmPatchRAM)
The kexts on
his releases page are very old (v1.4.1, 2015-02-08) as of today, so I compiled his latest 2.2.7c code from 2018-April-09 myself (Xcode 9.4.1 in macOS High Sierra 10.13.6). The resulting release built BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext finally kept the kext always loaded even after multiple wake-ups !!! Get it from this comment's attachment section below. MAKE SURE YOU READ THE
2.2.7c compile.rtf INSIDE THE ARCHIVE !!!
NOTE: tluck's fork is based on old code - RehabMan 2.2.7 2016-07-05, thus compatibility will most likely become an issue sooner or later.
@RehabMan : you know tluck's code changes in BrcmPatchRAM.cpp. With your current package, what would be the kernel flags parameters and values to emulate his (best: exact) timings with your release?
--------------------------------------------------------
¹ delays parameters and values:
bpr_probedelay: Changes mProbeDelay. Default value is 0.
bpr_initialdelay: Changes mInitialDelay. Default value is 100.
bpr_preresetdelay: Changes mPreResetDelay. Default value is 20.
bpr_postresetdelay: Changes mPostResetDelay. Default value is 100.