Skip to content

Tracker: ROM compatibility for advanced AirPods features (L2CAP) #538

Description

@d4rken

CAPod can now talk to AirPods on a deeper level than regular Bluetooth scanning, that's what powers things like changing the noise control mode, customising press controls, and reading extra device info directly from the earbuds.

Under the hood this needs a specific kind of Bluetooth connection called L2CAP. The long technical story is in #215.

The short version: the fix that makes this connection work reliably with AirPods isn't present on every Android build. Whether it works on your phone depends on your manufacturer, ROM and Android version. Some devices work out of the box, others never manage to connect.

This issue collects reports from the community so there is a public picture of which phones / ROMs / Android versions are known to work.

Google confirmed on issuetracker #371713238 that the fix landed in AOSP's Bluetooth stack in the March 2026 release. Pixels were the first to ship it (in the April 2026 security update on stable A16, and the A17 beta). Other OEMs pick it up whenever they rebase.

Rule of thumb

  • Android 17 / AOSP 17 based ROMs: expected to work, the fix is in AOSP.
  • Android 16: depends entirely on the OEM's rebase. Pixel got it in the April 2026 update, most other OEMs did not.
  • An OEM advertising "AirPods support" does not mean L2CAP works. OnePlus / Oppo / realme ship a native integration that only does battery and ear detection, not ANC control, and it is unrelated to this fix (details).

Community reports

Working

Device OS / build Reported by
Pixel 10 Pro XL Android 16, CP1A.260405.005 @Entiti3039086
Pixel 10a Android 17 @xerootg
Samsung S26 Ultra One UI 9 beta (Android 17) @kavishdevar
Samsung Galaxy S23+ One UI 9.0 beta 1 @wnerhs
OnePlus 12 OxygenOS 16.0.5 (CPH2581_16.0.5.702) @GnohmZL
OnePlus 15 OxygenOS 16.0.10.500 @GnohmZL
Poco X7 Pro HyperOS 3.1 (3.0.300.0.WOJEUXM.C07), only after disabling com.xiaomi.bluetooth @zeykafx
Motorola Razr Ultra build/version not stated @nowigot9

Not working

Device OS / build Reported by
Pixel 10a Android 16, CP1A.260405.005 and CP1A.260505.005 @xerootg
GrapheneOS (Pixel) 2026050701, 2026061601 (Android 16 based) @FrenchToucan, @thoompje
Samsung S25 Ultra One UI 8.5, Android 16, BP4A.251205.006.S938BXXU9CZDP @fieryspirit1
Samsung S24+ Android 16 @selimdelioglu
Nothing Phone 4a Pro FroggerPro-B4.1-260723-1820 @fortnite-extraordinaire
Poco F7 Pro HyperOS 3.0.303.0 @fayeinmay

Conflicting: Pixel 10a on CP1A.260405.005 is reported as broken while Pixel 10 Pro XL on the same build works. If you have a Pixel on stable A16, a report either way is useful.

Known workaround: Xiaomi / HyperOS

On HyperOS, Xiaomi's own Bluetooth add-on grabs the AirPods first. Disabling com.xiaomi.bluetooth freed it up on a Poco X7 Pro. It was disabled through the system settings (app info screen for com.xiaomi.bluetooth), then the AirPods were re-paired.

This only disables Xiaomi's extra Bluetooth features, not Bluetooth itself.

If you use adb instead, pm disable-user --user 0 com.xiaomi.bluetooth is the disabling command. pm install-existing does the opposite, it restores the package, so a report of "disabled it with install-existing and it still doesn't work" hasn't actually tested the workaround.

Samsung

Stock One UI on Android 16 does not have the fix (S24+, S25 Ultra). One UI 9 (Android 17) works on the beta track.

Reporting your device

A report is only useful with all of these:

  • Device model
  • Android version
  • Exact build number (Settings > About phone > Build number)
  • Whether advanced features (noise control, press controls) work or CAPod says "advanced settings unavailable"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    coms/AAPUses Apples AirPod Protocol. Requires Android ROM with fixed L2CAP support on the Bluetooth sockets.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions