Add basic support for 3rd party Broadcom chipsets

Not officially supported as never shipped in any official Mac, however adding to simplify non-standard hardware support (ex. Hackintoshes)
This commit is contained in:
Mykola Grymalyuk
2023-09-26 07:32:08 -06:00
parent ed78b5632c
commit dad8d1224a
3 changed files with 29 additions and 14 deletions
+7
View File
@@ -1171,6 +1171,13 @@ class broadcom_ids:
0x43A0, # BCM4360 0x43A0, # BCM4360
] ]
# Not natively supported, but supported by AirportBrcmFixup
AirPortBrcmNICThirdParty = [
0x4357, # BCM43225
0x43B1, # BCM4352
0x43B2, # BCM4352 (2.4 GHz)
]
AirPortBrcm4360 = [ AirPortBrcm4360 = [
# AirPortBrcm4360 IDs (removed duplicates for 4360 class cards) # AirPortBrcm4360 IDs (removed duplicates for 4360 class cards)
0x4331, # BCM94331 0x4331, # BCM94331
+3
View File
@@ -498,6 +498,7 @@ class Broadcom(WirelessCard):
# pylint: disable=invalid-name # pylint: disable=invalid-name
AppleBCMWLANBusInterfacePCIe = "AppleBCMWLANBusInterfacePCIe supported" AppleBCMWLANBusInterfacePCIe = "AppleBCMWLANBusInterfacePCIe supported"
AirportBrcmNIC = "AirportBrcmNIC supported" AirportBrcmNIC = "AirportBrcmNIC supported"
AirPortBrcmNICThirdParty = "AirPortBrcmNICThirdParty supported"
AirPortBrcm4360 = "AirPortBrcm4360 supported" AirPortBrcm4360 = "AirPortBrcm4360 supported"
AirPortBrcm4331 = "AirPortBrcm4331 supported" AirPortBrcm4331 = "AirPortBrcm4331 supported"
AirPortBrcm43224 = "AppleAirPortBrcm43224 supported" AirPortBrcm43224 = "AppleAirPortBrcm43224 supported"
@@ -510,6 +511,8 @@ class Broadcom(WirelessCard):
self.chipset = Broadcom.Chipsets.AppleBCMWLANBusInterfacePCIe self.chipset = Broadcom.Chipsets.AppleBCMWLANBusInterfacePCIe
elif self.device_id in pci_data.broadcom_ids.AirPortBrcmNIC: elif self.device_id in pci_data.broadcom_ids.AirPortBrcmNIC:
self.chipset = Broadcom.Chipsets.AirportBrcmNIC self.chipset = Broadcom.Chipsets.AirportBrcmNIC
elif self.device_id in pci_data.broadcom_ids.AirPortBrcmNICThirdParty:
self.chipset = Broadcom.Chipsets.AirPortBrcmNICThirdParty
elif self.device_id in pci_data.broadcom_ids.AirPortBrcm4360: elif self.device_id in pci_data.broadcom_ids.AirPortBrcm4360:
self.chipset = Broadcom.Chipsets.AirPortBrcm4360 self.chipset = Broadcom.Chipsets.AirPortBrcm4360
elif self.device_id in pci_data.broadcom_ids.AirPortBrcm4331: elif self.device_id in pci_data.broadcom_ids.AirPortBrcm4331:
+6 -1
View File
@@ -568,7 +568,12 @@ class DetectRootPatch:
if ( if (
isinstance(self.constants.computer.wifi, device_probe.Broadcom) isinstance(self.constants.computer.wifi, device_probe.Broadcom)
and self.constants.computer.wifi.chipset in [device_probe.Broadcom.Chipsets.AirPortBrcm4360, device_probe.Broadcom.Chipsets.AirportBrcmNIC]): and self.constants.computer.wifi.chipset in [
device_probe.Broadcom.Chipsets.AirPortBrcm4360,
device_probe.Broadcom.Chipsets.AirportBrcmNIC,
# We don't officially support this chipset, however we'll throw a bone to hackintosh users
device_probe.Broadcom.Chipsets.AirPortBrcmNICThirdParty,
]):
if self.constants.detected_os > os_data.os_data.ventura: if self.constants.detected_os > os_data.os_data.ventura:
self.modern_wifi = True self.modern_wifi = True
self.amfi_shim_bins = True self.amfi_shim_bins = True