Contribute
Register

Broadcom WiFi/Bluetooth [Guide]

Joined
May 23, 2019
Messages
23
Motherboard
Asrock z370 fatality mini itx
CPU
i7 8700 non-k
Graphics
AMD VEGA RX 56
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hi there.

It's clear from your screengrab that the SSDT-UIAC.aml you have installed is not working at all.

What's more there is no "space" for HS14. If you look you can just about make out - although the pop-up is blocking it - that HS11 = 14b, HS12 = 14c, HS13 = 14d (probably), SS01 = 14e. (You can verify this for us), SS02 = 14f. HS14 will never show up in this scenario.

As far as I can see your SSDT-UIAC.aml is correct.

What to do?

For completeness correct mistakes in config.plist :

1) No need for EHC renames in the ACPI section. Your Z370 does not have any EHCI controllers.

2) Check if you actually need an XHC1 rename. Disable the rename, reboot and run IORegistryExplorer. If XHC1 shows up then yes you do, BUT, check what you are renaming. That looks wrong. Otherwise if it's XHC already then it isn't needed.

3) Change CsrActiveConfig on the RtVariables tab from 0x3 to 0x67. This should allow USBInjectAll.kext to work if Catalina is blocking it.

4) Your PLRP's are correct for Catalina.

Also:

Make sure there are no duplicated USB-related kexts from EFI over in Library/Extensions but with different versions.

:)
Thank you for your suggestion.
After following your steps, I figured I no longer need xhc1 rename, since it is already in XHC.
Changed 0x67, and rebooted
then I found that the hs ports and ss ports are exactly the same as you mentioned, hs13 is 14d, ss1 is 14e and so on.

I remember once pastry chef helped to force the hs14 port to be enabled, and with that file I was able to reconfigure the SSDT and it worked on my Mojave.
but with the same file, I upgrade to Catalina and the SSDT stopped working.
I guess the issue is hs14 port does not shows up. but it works on win10. so should be injection problem,

is there any way I can do force inject the hs14 port to my Catalina and then proceed the brcm bluetooth fixup?

thanks in advance
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,207
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Thank you for your suggestion.
After following your steps, I figured I no longer need xhc1 rename, since it is already in XHC.
Changed 0x67, and rebooted
then I found that the hs ports and ss ports are exactly the same as you mentioned, hs13 is 14d, ss1 is 14e and so on.

I remember once pastry chef helped to force the hs14 port to be enabled, and with that file I was able to reconfigure the SSDT and it worked on my Mojave.
but with the same file, I upgrade to Catalina and the SSDT stopped working.
I guess the issue is hs14 port does not shows up. but it works on win10. so should be injection problem,

is there any way I can do force inject the hs14 port to my Catalina and then proceed the brcm bluetooth fixup?

thanks in advance

Hi there. Good work :thumbup:

Okay, I would ask @pastrychef what technique he used to get HS14 working on Mojave. This should still work for Catalina, the only problem, as I hinted at before, is that Catalina is stricter about 3rd-party kexts. If you have any installed in Library/Extensions then I would try moving them to EFI/CLOVER/kexts/Other and rebuilding kext-caches to remove traces of the originals. Hopefully @pastrychef can pop by and help :thumbup:
 

pastrychef

Moderator
Joined
May 29, 2013
Messages
17,077
Motherboard
Gigabyte Z390 M Gaming
CPU
i9-9900K OC'd @ 5.0GHz
Graphics
Vega 56 (Bios flashed to 64)
Mac
  1. MacBook
  2. Mac Pro
Classic Mac
  1. iBook
  2. Power Mac
  3. PowerBook
Mobile Phone
  1. iOS
Hi there. Good work :thumbup:

Okay, I would ask @pastrychef what technique he used to get HS14 working on Mojave. This should still work for Catalina, the only problem, as I hinted at before, is that Catalina is stricter about 3rd-party kexts. If you have any installed in Library/Extensions then I would try moving them to EFI/CLOVER/kexts/Other and rebuilding kext-caches to remove traces of the originals. Hopefully @pastrychef can pop by and help :thumbup:

I don't remember what I did in that instance... But it couldn't have been anything special...

Standard stuff:
Make sure system definition is compatible with USBInjectAll.
Make sure KextsToPatch match macOS version.
Get rid of GenericUSBXHCI kext.
 
Joined
May 23, 2019
Messages
23
Motherboard
Asrock z370 fatality mini itx
CPU
i7 8700 non-k
Graphics
AMD VEGA RX 56
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hi there. Good work :thumbup:

Okay, I would ask @pastrychef what technique he used to get HS14 working on Mojave. This should still work for Catalina, the only problem, as I hinted at before, is that Catalina is stricter about 3rd-party kexts. If you have any installed in Library/Extensions then I would try moving them to EFI/CLOVER/kexts/Other and rebuilding kext-caches to remove traces of the originals. Hopefully @pastrychef can pop by and help :thumbup:
Hi there,

do you mind sharing how to rebuilding the kext caches? I am a newbie and not too sure how to do it..
Since you mentioned the rlpl is correct for Catalina, I didn't change anything.
I replace the working usbinjectall.kext provided by pastrychef, (worked with my Mojave before), no luck. So I might try rebuild cache and see if it will work. If not, I guess I will roll back to Mojave first, then modify the SSDT and then upgrade to Catalina again to see if it will work. If not I will keep in Mojave for a while until I found the solution.
Thanks in advance
 
Last edited:

pastrychef

Moderator
Joined
May 29, 2013
Messages
17,077
Motherboard
Gigabyte Z390 M Gaming
CPU
i9-9900K OC'd @ 5.0GHz
Graphics
Vega 56 (Bios flashed to 64)
Mac
  1. MacBook
  2. Mac Pro
Classic Mac
  1. iBook
  2. Power Mac
  3. PowerBook
Mobile Phone
  1. iOS
Hi there,

do you mind sharing how to rebuilding the kext caches? I am a newbie and not too sure how to do it..
Thanks in advance

Launch Terminal and enter the following:
Code:
sudo kextcache -i /
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,207
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Yes, usually in a case when the port enumeration misses one out, there is a duplication of addresses in the SSDT. This didn't appear to be the case. A Z370 XHC definitely has an HS14 though so it is certainly something along those lines. If you post an IORegistryExplorer export when the port is missing we can explore in more depth. :)
 
Joined
May 23, 2019
Messages
23
Motherboard
Asrock z370 fatality mini itx
CPU
i7 8700 non-k
Graphics
AMD VEGA RX 56
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Yes, usually in a case when the port enumeration misses one out, there is a duplication of addresses in the SSDT. This didn't appear to be the case. A Z370 XHC definitely has an HS14 though so it is certainly something along those lines. If you post an IORegistryExplorer export when the port is missing we can explore in more depth. :)
Here is my ioreg explorer
 

Attachments

  • frzzzk’s iMac.ioreg
    8.9 MB · Views: 45

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,207
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Here is my ioreg explorer

Hello.

Okay, with the SSDT in place you need to *disable* the port-limit removal patches. In your latest EFI upload they are enabled, overriding the SSDT.

So first step is to disable the two patches, save, reboot and then check if HS14 is still absent.

:)
 
Joined
May 23, 2019
Messages
23
Motherboard
Asrock z370 fatality mini itx
CPU
i7 8700 non-k
Graphics
AMD VEGA RX 56
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hello.

Okay, with the SSDT in place you need to *disable* the port-limit removal patches. In your latest EFI upload they are enabled, overriding the SSDT.

So first step is to disable the two patches, save, reboot and then check if HS14 is still absent.

:)
Good morning
I rebooted with rplp disabled, and I still cannot see the hs14 port. The port is listed from hs1 to hs13, then ss01 and ss02
here is a screen shot:
1578322831287.png
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,207
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Good morning
I rebooted with rplp disabled, and I still cannot see the hs14 port. The port is listed from hs1 to hs13, then ss01 and ss02
here is a screen shot:
View attachment 443819

Well that's 15 for sure.

Next, try the command-line: -uia_exclude=SS02

Don't change anything else or go back.

See what that does.

(We can try excluding SS01 instead later.)

:)
 
Top