[SOLVED] Exact problem as this archwiki forum post
I have also tried everything and at last here I am asking for any help, otherwise I don't think I would be able to continue using Linux on this laptop. I've tried everything from changing the kernel package to enabling all firmwares to using every kernel parameter I can find everything, nothing says any error or something anywhere. Only error i can find is hci device capabilities -22
Edit: The patch i needed was to add the driver info in btusb.c file. In nixos this is how you do it
boot = {
kernelPatches = [
{
name = "add-realtek-8852ce-btusb";
patch = ./btusb.patch;
}
];
}
first what you should do is git clone the linux kernel version you are using check using uname -r
for me it was 6.12.(whatever, doesn't matter)
git clone --depth=1 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git v6.12
then find the btusb.c file in drivers/bluetooth/ and add the line
{ USB_DEVICE(0x13d3, 0x3612), .driver_info = BTUSB_REALTEK |
BTUSB_WIDEBAND_SPEECH },
after these lines
static const struct usb_device_id quirks_table[] = {
BTUSB_WIDEBAND_SPEECH },
{ USB_DEVICE(0x0cb8, 0xc558), .driver_info = BTUSB_REALTEK |
BTUSB_WIDEBAND_SPEECH },
now we have made chages to this file right? it will be shows in git diff, so now you should be able to do git diff > btusb.patch
this will create a .patch file, now copy this file to wherever folder you put the nixos configuration in, most likely /etc/nixos if not using custom config.
Thats it!, now rebuild the configuration and DONE.
props to @Maiq.
Author of patch: vedantsg123
I will try to get this patch upstream to not having to do this manually.
Encountered an odd Bluetooth issue last week with a motherboard that had a combined Bluetooth and Wi-Fi radio chip set. Wi-Fi worked, but the Bluetooth hardware wasn't even detected. This was after migrating from a Windows install with known working Bluetooth drivers on the same motherboard.
Found a solved thread for the same motherboard SKU where power cycling after disconnecting the desktop power supply from AC for 30 sec resolved it. Didn't believe it, but tried it anyway and it worked. Guessing the Windows driver must have put the Bluetooth transceiver in a funny state that the mainline Linux kernel couldn't recover, but resting the chipset with a through power cycle with internal voltage supplies zeroed made the difference in re-initializing the hardware.
Just a wild suggestion...
Yes I've tried cold booting too, pressed the power button for 60sec even in hope to fix it but same results, disconnecting the ac first ofc.
Congrats on solving your issue, and thanks for updated the post with the solution! It's really slick how NixOS makes adding a kernel patch to your config no more complex than it would take patching any dot file. Hope the up streaming of your device info goes smoothly.
Thank you 😊. This is so true, this is definitely the charm of nixos, like having to do this once and then not having to worry about it again gives me a peace of mind. Still this should be natively in the kernel itself, and when I said I will try to get this upstream i had no idea it would be this tiresome. It seems a patch is already put up by someone (source - cough.. cough.. ai), but I still have to find the specific patch on their mailing lists.