So this appears to be a Linux issue, not a NixOS-specific issue.
I tested on Windows 11 and BT functioned as I expected it to. I then booted up a copy of Linux Mint and observed the same behavior.
Interestingly the kernel there gave me some more debug and error messages:
[ 227.800732] Bluetooth: hci0: Bootloader revision 0.0 build 26 week 38 2015
[ 227.801665] Bluetooth: hci0: Device revision is 16
[ 227.801672] Bluetooth: hci0: Secure boot is enabled
[ 227.801675] Bluetooth: hci0: OTP lock is enabled
[ 227.801678] Bluetooth: hci0: API lock is enabled
[ 227.801681] Bluetooth: hci0: Debug lock is disabled
[ 227.801683] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 227.811738] Bluetooth: hci0: Found device firmware: intel/ibt-12-16.sfi
[ 229.704576] Bluetooth: hci0: Waiting for firmware download to complete
[ 229.704718] Bluetooth: hci0: Firmware loaded in 1848598 usecs
[ 229.705015] Bluetooth: hci0: Waiting for device to boot
[ 229.717720] Bluetooth: hci0: Device booted in 12586 usecs
[ 229.717746] Bluetooth: hci0: Malformed MSFT vendor event: 0x02
[ 229.720080] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-12-16.ddc
[ 229.722814] Bluetooth: hci0: Applying Intel DDC parameters completed
[ 229.723763] Bluetooth: hci0: Firmware revision 0.1 build 19 week 44 2021
[ 229.725805] Bluetooth: hci0: Reading supported features failed (-16)
[ 229.725821] Bluetooth: hci0: Error reading debug features
[ 229.725831] Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.
[ 229.778571] Bluetooth: MGMT ver 1.22
[ 229.834529] Bluetooth: hci0: Invalid link address type 1 for b0:54:76
The Linux Mint kernel was 6.8.0-51-generic
, while I’m running 6.13.5
on NixOS. It appears that the Intel BT driver on Linux is faulty going back to 6.8.0 (and possibly before)…