I'm seeing what looks like an Android 16 regression in the platform SMP layer. Filing here to ask whether anyone can reproduce it on non-Pixel-10 A16 hardware before I conclude this is A16-wide rather than Pixel-10-specific. Google issuetracker's Bluetooth components are locked down to internal filing, so this library's issue tracker is the most accessible public channel.
Symptom (third-party app, BLUETOOTH_CONNECT granted):
createBond() on a freshly-discovered LESC-only peripheral returns true.
- Bond goes
BOND_BONDING -> BOND_NONE (reason 7).
logcat: btif_dm_get_smp_config: SMP pairing options not found in stack configuration.
- Peripheral side:
SMP_PAIR_NOT_SUPPORT sec_level:0x0.
dumpsys bluetooth_manager: ble_pairing_algorithm:Unknown PairingAlgorithm(0x71).
Pairing the same device via Settings > Connected devices succeeds immediately with PairingAlgorithm::SC(0x3), so the OS and hardware are LESC-capable.
One thing I noticed: /system/etc/bluetooth/bt_stack.conf isn't present anywhere on the A16 image (adb shell find /system /product /vendor /apex -name bt_stack.conf returns nothing). Could that be what's causing the default AuthReq to drop the SC bit?
My hardware: Pixel 10 Pro XL, build CP1A.260405.005. Peripheral: Garmin Varia RearVue 820 (LESC-only).
Am I doing something wrong here, or is this a real A16 regression? Any pointer would be welcome: other devices or Android versions where this behaves differently, a known workaround, or a better place to report it. Happy to share full logs, HCI snoop, and dumpsys output.
I'm seeing what looks like an Android 16 regression in the platform SMP layer. Filing here to ask whether anyone can reproduce it on non-Pixel-10 A16 hardware before I conclude this is A16-wide rather than Pixel-10-specific. Google issuetracker's Bluetooth components are locked down to internal filing, so this library's issue tracker is the most accessible public channel.
Symptom (third-party app,
BLUETOOTH_CONNECTgranted):createBond()on a freshly-discovered LESC-only peripheral returns true.BOND_BONDING->BOND_NONE(reason 7).logcat:btif_dm_get_smp_config: SMP pairing options not found in stack configuration.SMP_PAIR_NOT_SUPPORT sec_level:0x0.dumpsys bluetooth_manager:ble_pairing_algorithm:Unknown PairingAlgorithm(0x71).Pairing the same device via Settings > Connected devices succeeds immediately with
PairingAlgorithm::SC(0x3), so the OS and hardware are LESC-capable.One thing I noticed:
/system/etc/bluetooth/bt_stack.confisn't present anywhere on the A16 image (adb shell find /system /product /vendor /apex -name bt_stack.confreturns nothing). Could that be what's causing the default AuthReq to drop the SC bit?My hardware: Pixel 10 Pro XL, build
CP1A.260405.005. Peripheral: Garmin Varia RearVue 820 (LESC-only).Am I doing something wrong here, or is this a real A16 regression? Any pointer would be welcome: other devices or Android versions where this behaves differently, a known workaround, or a better place to report it. Happy to share full logs, HCI snoop, and dumpsys output.