BlueToolFixup: Add Fast-Connect A2DP patch to fix "Connected but No Sound" issue for third-party controllers on Apple Headphones#38
Open
hexxyan wants to merge 1 commit intoacidanthera:masterfrom
Conversation
…ound" issue for third-party controllers on Apple Headphones
|
Tested with the fork's release, thoroughly checked, works beautifully. Doesn't give me that headache. |
Author
Thanks for testing! Glad it helps! |
|
This is working for me with AirPods Pro 2 and AC 9260 on macOS 15.7.5 |
sambow23
added a commit
to sambow23/Dell-Precision-5540-macOS
that referenced
this pull request
Apr 8, 2026
- update opencore to 1.0.7 - add fix for airpods audio output via BT (acidanthera/BrcmPatchRAM#38) - try to force APSM for a few more devices to improve idle power usage (still uses like 20W on idle) - change SMBIOS model to MacBookPro16,4 as that matches my hardware better
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds an opt-in runtime patch for
bluetoothdthat resolves the infamous "Connected but No Sound" issue when using third-party Bluetooth controllers (e.g. Intel) with modern Apple headphones equipped with W1/H1/H2 chips (AirPods Pro 2, AirPods Pro 3, etc.).Problem
Apple's
bluetoothdrelies onHCI_Read_Clockduring the A2DP Fast-Connect reconnection path. Third-party controllers that do not implement or fail to respond to this HCI command in time causebluetoothdto abort the audio pipeline setup, resulting in a successful Bluetooth connection with zero audio output. The system log shows:Solution
The patch identifies the conditional branch (
test + je) that gates the A2DP audio bring-up path based on theHCI_Read_Clockresult, and replaces it with an unconditional jump (xor + jmp) to force the success path.Two pattern families are defined to cover all supported macOS versions:
14_0%r14d45 85 F6 74 2512_0%ebx85 DB 74 25Both patterns were verified by extracting
bluetoothdbinaries from official Apple Recovery images and performing byte-by-byte comparison.Usage
The patch is opt-in and activated by the following boot argument:
No existing behavior is changed unless this boot-arg is explicitly set.
Testing
8086:06f0:8086:0074(Comet Lake PCH CNVi WiFi)Changes
BrcmPatchRAM/BlueToolFixup.cpp: AddedkFastConnectA2DPGate*pattern arrays, version-aware patching logic (>= Sonoma/>= Monterey), and the-btlfxa2dpcheckboot-arg check.Documentation
A detailed technical write-up of the reverse-engineering process, including the automation scripts (
find_gate.py,verify_gates.py) used to locate and validate the patch signatures, is available at:🔗 BlueToolFixup-A2DP-Documentation