Skip to content

Latest commit

 

History

History
158 lines (114 loc) · 4.1 KB

README.md

File metadata and controls

158 lines (114 loc) · 4.1 KB

Legacy Wireless Kexts

Goal of this repo is the following:

  • Bring back semi-native support without requiring system modifictaions

To do this, we'll pull the IO80211Family.kext from several versions of macOS, patch their symbols to not conflict with newer versions.

Note: when booting older OSes, there can conflict so we highly recommend users set the MinKernel in your config.plist(Kernel -> Add) to one of the following so the kexts are only injected in the appropriate OSes:

Sierra and newer   = 16.0.0
Mojave and newer   = 18.0.0
Catalina and newer = 19.0.0
Big Sur and newer  = 20.0.0

Patched Files

Supported Devices
Broadcom - AppleAirPortBrcm43224
   pci106b,4.   = Unreleased device
   pci14e4,4311 = BCM4311
   pci14e4,4312 = BCM4311
   pci14e4,4313 = BCM4311
   pci14e4,4318 = BCM4318
   pci14e4,4319 = BCM4318
   pci14e4,431a = Unknown
   pci14e4,4320 = BCM4306
   pci14e4,4324 = BCM4309
   pci14e4,4325 = BCM4306
   pci14e4,4328 = BCM4328
   pci14e4,432c = BCM4322
   pci14e4,432d = BCM4322

Supported Devices
Atheros - AirPortAtheros40
   pci168c,30   = AR93xx
   pci168c,2a   = AR928X
   pci106b,86   = Unreleased device
   pci168c,1c   = AR242x / AR542x
   pci168c,23   = AR5416
   pci168c,24   = AR5418

Supported Devices
Broadcom - AirPortBrcm4331
   pci14e4,432b = BCM4322

Supported Devices
Broadcom - AirPortBrcm4360
   pci14e4,4331 = BCM4331
   pci14e4,4353 = BCM43224

Special notes

Unsupported Atheros Chipsets

For certain AR9285/7 and AR9280 chipsets, you will need to apply a fake Device ID to your wireless card. This is due to AirPortAtheros40 having internal PCI ID checks meaning simply expanding the device-id list won't work.

Expanding Atheros Support

To add support, grab gfxutil and run the following:

/path/to/gfxutil | grep -i "pci168c:002b|pci168c:002e"

This should spit out something like this:

00:1f.6 pci168c:002e /PC00@0/PXSX@1F,6 = PciRoot(0x0)/Pci(0x1F,0x6)

The ending PciRoot(0x0)/Pci(0x1F,0x6) is what you want to add in your config.plist under DeviceProperties -> Add with the following properties:

Key Type Value
compatible String "pci168c,2a"
device-id Data 2A000000

BCM4331

Users of the 4331 chipset, note that macOS Big Sur actually still support your card partially, however will require a fake Device ID. This is a more reliable solution than using the patched IO80211 kext, however may break older versions of macOS as the fake ID is always applied in macOS(however DeviceProperties do don't exist in Windows or Linux, so no need to worry with those)

Expanding Broadcom Support

To add support, grab gfxutil and run the following:

/path/to/gfxutil | grep -i "14e4:4331"

This should spit out something like this:

00:1f.6 14e4:4331 /PC00@0/PXSX@1F,6 = PciRoot(0x0)/Pci(0x1F,0x6)

The ending PciRoot(0x0)/Pci(0x1F,0x6) is what you want to add in your config.plist under DeviceProperties -> Add with the following properties:

Key Type Value
compatible String "pci14e4,43ba"
device-id Data BA430000