-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Issue type
Source code related
Device
Google Pixel 9 (tokay)
crDroid version
crDroid 12
Exact version / Build date
12.7/2026-02-20
Bug description
Summary
On crDroid (Android 16) on Google Pixel 9, Bluetooth A2DP connects successfully and negotiates LDAC, but no sound is heard on the headset.
Phone speaker playback works normally.
Expected behavior
Audio should play through the Bluetooth headset when A2DP is connected
and selected.
Actual behavior
- A2DP connects and becomes active.
- Codec is LDAC.
- Output route is selected to BT A2DP.
- No audible audio on headset.
Request
Please check Audio HAL + AudioPolicy integration for BT A2DP
(OUT_DEVICE, connection: bt-a2dp) on Pixel 9 Android 16 build path,
especially around findOrCreateDevicePortConfig failures and offload/
software session fallback.
Steps to reproduce
- Enable Bluetooth.
- Connect WH-1000XM5.
- Start media playback.
- Confirm Bluetooth output route is selected.
- No audio heard on headset.
Relevant log (logcat/build log)
### Example log lines
03-02 21:44:39.xxx BluetoothManager
A2DP State
Current Codec: LDAC
Connected: true
03-02 21:44:40.xxx media.audio_policy
Selected Device: {AUDIO_DEVICE_OUT_BLUETOOTH_A2DP, @:88:C9:E8:0B:36:73}
Global active count: 1
03-02 21:44:39.862 E Hal2AidlMapper
[default] findOrCreateDevicePortConfig: device port for device
AudioDevice{type: AudioDeviceDescription{type: OUT_DEVICE, connection:
bt-a2dp}, ...} is not found
03-02 21:44:40.106 E Hal2AidlMapper
[default] findOrCreateDevicePortConfig: ... connection: bt-a2dp ... is
not foundScreenshots or videos
No response
Solution
Not available yet
Additional context
Device / ROM / Firmware
- Device: Google Pixel 9 (
tokay) - Android: 16 (SDK 36)
- Build fingerprint:
google/tokay/tokay:16/ BP4A.260205.002/14624737:user/release-keys - Build ID:
BP4A.251205.006 - Incremental:
44 - Bootloader:
ripcurrentpro-16.4-14097580 - Baseband:
g5400c-250908-251105-B-14386369,g5400c-250908-251105-B- 14386369 - Verified boot:
green - Boot state:
locked - Security patch (system):
2026-02-01 - Security patch (vendor):
2026-02-05 - Partition build dates (
system/vendor/product/system_ext/odm): all
1771539258(2026-02-19 22:14:18 UTC)
Vendor/Firmware mismatch check
No obvious system/vendor mismatch found.
ro.system.build.fingerprint,ro.vendor.build.fingerprint,
ro.product.build.fingerprint,ro.system_ext.build.fingerprint,
ro.odm.build.fingerprint,ro.bootimage.build.fingerprintare
aligned.- Incremental/version values are aligned (
44, Android 16 / SDK 36).
Critical findings
- A2DP/LDAC is connected and active:
Current Codec: LDACConnected: trueActive peer: xx:xx:xx:xx:36:73
- Audio policy selects BT A2DP output:
Selected Device: {AUDIO_DEVICE_OUT_BLUETOOTH_A2DP, @:88:C9:E8:0B:36:73}
- Repeated hard error in audio stack:
E Hal2AidlMapper: [default] findOrCreateDevicePortConfig ... connection: bt-a2dp ... is not found
- Also observed:
BTAudioSessionAidl: SessionType=A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH has NO session
Workarounds attempted (no fix)
- settings put global bluetooth_a2dp_offload_disabled 1
- settings put global bluetooth_a2dp_optional_codecs_enabled 0
- settings put secure spatial_audio_enabled 0
- settings put secure spatial_audio_head_tracking_enabled 0
- Bluetooth restart after each change
Result:
- Stack still reports A2dpOffloadEnabled: true
- Connection still negotiates LDAC
- No audio output via headset
- Same Hal2AidlMapper ... bt-a2dp ... not found errors continue
How logs were collected (commands)
Device / build / firmware
adb shell getprop ro.product.device
adb shell getprop ro.build.fingerprint
adb shell getprop ro.system.build.fingerprint
adb shell getprop ro.vendor.build.fingerprint
adb shell getprop ro.odm.build.fingerprint
adb shell getprop ro.build.version.release_or_codename
adb shell getprop ro.build.version.sdk
adb shell getprop ro.build.version.incremental
adb shell getprop ro.vendor.build.version.incremental
adb shell getprop ro.build.version.security_patch
adb shell getprop ro.vendor.build.security_patch
adb shell getprop ro.bootloader
adb shell getprop gsm.version.baseband
adb shell getprop ro.boot.vbmeta.device_state
adb shell getprop ro.boot.verifiedbootstate
adb shell getprop ro.boot.flash.locked
adb shell getprop ro.boot.slot_suffix
adb shell getprop ro.boot.hardware.sku
adb shell getprop ro.build.date.utc
adb shell getprop ro.system.build.date.utc
adb shell getprop ro.vendor.build.date.utc
adb shell getprop ro.product.build.date.utc
adb shell getprop ro.system_ext.build.date.utc
adb shell getprop ro.odm.build.date.utc
Bluetooth / codec state
adb shell dumpsys bluetooth_manager | rg -n -i "A2DP State|Current
Codec|LDAC|mCodecConfig|Active peer|Connected: true|A2dpOffloadEnabled|
mA2dpOffloadEnabled"
Audio policy / route state
adb shell dumpsys media.audio_policy | rg -n -i "BT A2DP Out|a2dp
output|Selected Device|Global active count|State: Active|State:
Inactive|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP"
Audio flinger state
adb shell dumpsys media.audio_flinger | rg -n -i "A2DP|Bluetooth|Tracks
of which|active|AudioOut_|CFG_EVENT_CREATE_AUDIO_PATCH|
CFG_EVENT_RELEASE_AUDIO_PATCH"
Error focus in logcat
adb logcat -d -b main -b system | rg -n "findOrCreateDevicePortConfig:
device port for device AudioDevice\{type: AudioDeviceDescription
{type: OUT_DEVICE, connection: bt-a2dp\}"
adb logcat -d -b main -b system | rg -i "BTAudioSessionAidl|
A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH|Hal2AidlMapper|openOutput|
createOrUpdatePatch"
Notes
- adb root is not available on this build (ro.debuggable=0), so no
root-only debugging was possible. - This looks like an Audio HAL / audio policy routing integration issue
for bt-a2dp device port creation on Pixel 9 Android 16 base.
The information and the issue were collected/generated by gpt-5.3-codex-high.
Full logs
crdroid_bt_issue_logs_20260302_212950_sanitized_20260302_214602.tar.gz
Acknowledgements
- I've checked device is officially supported and that no support is provided for unofficial devices (for device specific reports and not source related).
- I'm running latest version available on crdroid.net for this device and that the device is still maintainer supported (not flagged unsupported on download page)
- I have searched the existing issues and this is a new and no duplicate or related to another open issue.
- I have written a short but informative title.
- I filled out all of the requested information in this issue properly and understand that not doing so will automatically result in closing of ticket.