Giter Site home page Giter Site logo

clay-bios / airportbrcmfixup Goto Github PK

View Code? Open in Web Editor NEW

This project forked from acidanthera/airportbrcmfixup

0.0 1.0 0.0 1.7 MB

An open source kernel extension providing a set of patches required for non-native Airport Broadcom Wi-Fi cards.

License: BSD 3-Clause "New" or "Revised" License

C++ 100.00%

airportbrcmfixup's Introduction

AirportBrcmFixup

Build Status Scan Status

An open source kernel extension providing a set of patches required for non-native Airport Broadcom Wi-Fi cards.

Notes

This repository should be compiled with Lilu v1.2.4 or greater, otherwise the compilation will fail!

Note: Debug version of Lilu.kext should be put in the same folder as BrcmWLFixup! And they should be also used together!

Features

  • Supports AirPort_Brcm4360, AirPort_BrcmNIC and AirPort_BrcmNIC_MFG
  • Implements patch for chip identificator checking (0xaa52), in <=10.12 it's required for successful driver starting
  • Implements patch for "Failed PCIe configuration patch", required for some cards
  • Implements patch for "Third Party Device" (returns vendor name "Apple")
  • Implements patch for removing of white-list check
  • Implements 5Ghz and country code patch (US by default)
  • Implements WOWL (WoWLAN) disabler (turned on by default) - no low speed after wake
  • Implements patch to disable LPO panic in AirPortBrcmNIC

Installation types

  • Clover Airport Fix + AirportBrcmFixup
  • Clover Airport Fix + AddProperties(fake device-id) + AirportBrcmFixup (preferable)
  • Clover Airport Fix + AirportBrcmFixup + FakePCIID + FakePCIID_Broadcom_WiFi.kext
  • AirportBrcmFixup + FakePCIID + FakePCIID_Broadcom_WiFi.kext

Boot-args

  • brcmfx-country=XX changes the country code to XX (US, CN, #a, ...)
  • -brcmfxdbg turns on debugging output
  • -brcmfxbeta enables loading on unsupported osx
  • -brcmfxoff disables kext loading
  • wl_msg_level=0xXXXX & wl_msg_level2=0xXXXX set log level for native network kexts
  • -brcmfxwowl enables WOWL (WoWLAN) - it is disabled by default
  • option brcmfx-country also can be injected via DSDT or AddProperties/Arbitrary in Clover
  • brcmfx-driver=0|1|2|3 enables only one kext for loading, 0 - AirPortBrcmNIC-MFG, 1 - AirPortBrcm4360, 2 - AirPortBrcmNIC, 3 - AirPortBrcm4331

Credits

  • Apple for macOS
  • vit9696 for Lilu.kext and great help in implementing some features
  • PMheart for the initial idea and implementation
  • darkvoid & RehabMan for FakePCIID implementation (partly used in AirportBrcmFixup)
  • al3xtjames for disabling LPO panic in AirPortBrcmNIC
  • lvs1974 for writing the software and maintaining it

Matching device-id and kext name in different macOS versions

[10.8]

  • AirPortBrcm4360: 43a0, IOProbeScore = 641
  • AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 615

[10.9]

  • AirPortBrcm4360: 43a0, IOProbeScore = 842
  • AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 700

[10.10]

  • AirPortBrcm4360: 43ba, 43a3, 43a0, 4331, 4353, IOProbeScore = 930
  • AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 900

[10.11]

  • AirPortBrcm4360: 43ba, 43a3, 43a0, 4331, 4353, IOProbeScore = 1040
  • AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800

[10.12]

  • AirPortBrcm4360: 43ba, 43a3, 43a0, 4331, 4353, IOProbeScore = 1152
  • AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800

[10.13]

  • AirPortBrcm4360: 4331, 4353, IOProbeScore = 1240
  • AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800
  • AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1241
  • AirPortBrcmNIC-MFG: 43ba, 43a3, 43a0, IOProbeScore = -1000

[10.14]

  • AirPortBrcm4360: 4331, 4353, IOProbeScore = 1400
  • AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800
  • AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400
  • AirPortBrcmNIC-MFG: 43ba, 43a3, 43a0, IOProbeScore = -1000

Explanation in russian language: (https://applelife.ru/threads/airportbrcmfixup-lilu-plagin-s-naborom-patchej-dlja-wi-fi-kart-broadcom.2355103/page-16#post-751173)

Until version [10.13] there were only two kexts and for the most cases FakeID = 43a0 was enough to get working Wi-Fi. In [10.13] (and later) one family was separated into AirPortBrcm4360 (probably will be removed in 10.15), AirPortBrcmNIC and AirPortBrcmNIC-MFG. A proper fake-id has to be considered to load appropriate kext. Some device-id have limitations in one kext (like 5 Ghz range), but do not have it another.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.