Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AppleBluetooth/IntelBluetoothFamily
Kexts enabling native support for Intel Bluetooth chipsets in macOS.
https://github.com/AppleBluetooth/IntelBluetoothFamily
Last synced: 14 days ago
JSON representation
Kexts enabling native support for Intel Bluetooth chipsets in macOS.
- Host: GitHub
- URL: https://github.com/AppleBluetooth/IntelBluetoothFamily
- Owner: AppleBluetooth
- License: gpl-2.0
- Created: 2021-11-01T07:47:47.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-04-10T15:12:18.000Z (over 2 years ago)
- Last Synced: 2024-08-01T17:23:59.309Z (3 months ago)
- Language: C++
- Size: 5.25 MB
- Stars: 146
- Watchers: 7
- Forks: 13
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IntelBluetoothFamily
Supporting Bluetooth chipsets on macOS has never been hard: notable projects like [BrcmPatchRAM](https://github.com/acidanthera/BrcmPatchRAM) and [IntelBluetoothFirmware](https://github.com/OpenIntelWireless/IntelBluetoothFirmware) have embarked on this journey and are my major inspirations. But what makes this driver different? Instead of partially implementing the Bluetooth stack, this project directly utilizes Apple's native Bluetooth stack, IOBluetoothFamily, which is made possible by my reverse-engineering efforts. Apart from its integration with the system, the "injector" trick is no longer necessary - we don't need to "spoof" the Bluetooth controller as Broadcom. Inheriting directly from the IOBluetoothFamily base classes instead, vendor-specific transports and host controllers can be created, which solves certain compatibility problems and makes it easier to extend the macOS Bluetooth stack in addition.
### DON'T USE ON MONTEREY!!!
## Unfortunately I am very busy recently due to heavy academic work... I will maintain this repo when I have time. Btw, I am also working on porting the Linux 80211 stack to C++ as an IOKit-based developer friendly library that can dramatically facilitate wireless driver development :)
## Supported Devices
- 0x8087, 0x0025
- 0x8087, 0x0026s if
- 0x8087, 0x0029
- 0x8087, 0x0032
- 0x8087, 0x0033
- 0x8087, 0x07DA (CSR)
- 0x8087, 0x07DA
- 0x8087, 0x0A2A
- 0x8087, 0x0A2B
- 0x8087, 0x0AA7
- 0x8087, 0x0AAA## Usage
1. Download OpenFirmwareManager, IOBluetoothFixup, and IntelBluetoothFamily from the AppleBluetooth organization.
2. Drag the transports out of the PlugIns folder in IntelBluetoothFamily. This has to be done for now as the name is too long.
3. Place the kexts in the EFI folder and add them to the config.plist. Make sure the order is as follows.
4. Remove all other Bluetooth kexts such as IntelBluetoothFirmware.
5. Reboot and enjoy!Load Order
```xml
Arch
Any
BundlePath
OpenFirmwareManager.kext
Comment
Enabled
ExecutablePath
Contents/MacOS/OpenFirmwareManager
MaxKernel
MinKernel
PlistPath
Contents/Info.plist
Arch
Any
BundlePath
IOBluetoothFixup.kext
Comment
Enabled
ExecutablePath
Contents/MacOS/IOBluetoothFixup
MaxKernel
20.99.9
MinKernel
PlistPath
Contents/Info.plist
Arch
Any
BundlePath
IntelBluetoothFamily.kext
Comment
Enabled
ExecutablePath
Contents/MacOS/IntelBluetoothFamily
MaxKernel
20.99.9
MinKernel
PlistPath
Contents/Info.plist
Arch
Any
BundlePath
IntelBluetoothHostControllerUSBTransport.kext
Comment
Enabled
ExecutablePath
Contents/MacOS/IntelBluetoothHostControllerUSBTransport
MaxKernel
20.99.9
MinKernel
PlistPath
Contents/Info.plist
Arch
Any
BundlePath
IntelGenXBluetoothHostControllerUSBTransport.kext
Comment
Please change to the generation of your device.
Enabled
ExecutablePath
Contents/MacOS/IntelGenXBluetoothHostControllerUSBTransport
MaxKernel
20.99.9
MinKernel
PlistPath
Contents/Info.plist
```## Acknowledgements
- Apple for macOS
- Intel engineers for the [Linux](https://github.com/torvalds/linux/tree/master/drivers/bluetooth) Bluetooth driver
- [IntelBluetoothFirmware](https://github.com/OpenIntelWireless/IntelBluetoothFirmware) for inspirations
- @zxystd and @williambj1 for crucial help and support
- cjiang for reversing [IOBluetoothFamily](https://github.com/CharlieJiangXXX/MacKernelSDK) and writing this software