this post was submitted on 21 Jan 2026
19 points (95.2% liked)

Linux

63215 readers
270 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

[Solved] cross-posted from: https://lemmy.world/post/41957406

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.

top 23 comments
sorted by: hot top controversial new old
[–] mobsenpai@lemmy.world 3 points 1 month ago

Thank you everyone for your valuable time. Cheers!

[–] Maiq@piefed.social 3 points 1 month ago (2 children)

Just a thought but have you tried a live usb of another distro? If it works there it's probably not hardware and at least that would be ruled out.

[–] mobsenpai@lemmy.world 2 points 1 month ago

Oh yeah, I will try that today and let you know.

[–] mobsenpai@lemmy.world 2 points 1 month ago (1 children)

So I tried that and bluetooth also didn't work there. I even went ahead and tried multiple distros to see if it was specific to nixos with same results.

[–] Maiq@piefed.social 3 points 1 month ago (1 children)

On the crosspoast there was a comment that suggested flushing the power from the machine. I had an asus laptop that bluetooth would fail after switching to linux from windows (dualboot). The only fix was to boot to windows and shut bluetooth off. I never thought about flushing the charge from the motherboard which might have been a solution to that issue.

I would search for your motherboard make model and see if their is an option to reset your chips. On my asus laptop you unplug the power and hold the power for 30 seconds.

Another option might be to try a windows live usb. If the bluetooth works there try disabling it in windows.

If all the above fails it is likely the hardware. Might take it to a computer tech to see if they can fix it?

[–] mobsenpai@lemmy.world 2 points 1 month ago* (last edited 1 month ago) (2 children)

First of all thank you. So yes I have a dual boot system, with windows and nixos.

I tried turning the bluetooth off in windows and booting into nixos, but it didn't work. And I am sure it's not a hardware issue because bluetooth works in windows.

I tried cold booting as well with same results.

There are no proper logs as well that suggest anything, in lsmod, lsusb, hciconfig, dmesg (hci capabilities -22 was only one, which I think is just cosmetic).

The scan on in bluetoothctl only shows the laptop's mac address which means bluetooth does work but somehow it's not finding the devices to connect to.

[–] Maiq@piefed.social 4 points 1 month ago (1 children)
[–] mobsenpai@lemmy.world 2 points 1 month ago (1 children)

So fast. Wow I couldn't even find that resource in all my searching. So Nows the tough part, I hoped I was an expert nixos user. I will try to implement this somehow (cough vibe code), but any more hints would be appreciated. One thing I know the direction to go is patching kernel, which I have seen a repo do, so I will try to copy that.

[–] Maiq@piefed.social 2 points 1 month ago (1 children)

I have no nixos experience so I would not be the best person to ask. You could try asking a new question on lemmy with the updated info asking for nixos specific help on the best way to translate the github gist to something a bit more familiar to you.

You might be able to ask the author of the github gist for advice?

Glad I could at least hopefully point you in the right direction.

[–] mobsenpai@lemmy.world 0 points 1 month ago (2 children)

I'll do that. Thank you so much 🤗

[–] optissima@lemmy.ml 2 points 1 month ago (1 children)

I recommend if/when you do, add the link in this post for posterity!

[–] mobsenpai@lemmy.world 3 points 1 month ago (1 children)

Went ahead and explained it even, also posted on the original arch forum.

[–] Maiq@piefed.social 1 points 1 month ago (1 children)
[–] mobsenpai@lemmy.world 3 points 1 month ago (1 children)

Brother guess what? It actually fixed it. OMG I am soo happy, at last it got fixed, i was trying it for the last week and didn't work, but you swoop and in an instant fixed it. I just can't thank you enough really. I am really greatful to you.

[–] Maiq@piefed.social 3 points 1 month ago (1 children)

I just pointed you in the right direction. You did all the work. Glad to hear you got it going. This is the only drawback to buying niche laptops. They often require a bit of tinkering for a year or two while kernels get patched.

Nice write up by the way, might help the next person.

[–] mobsenpai@lemmy.world 2 points 1 month ago

Still if not for you, all efforts would have been futile. Thank you for your valuable inputs.

[–] Maiq@piefed.social 2 points 1 month ago (1 children)

It's good news at least that your hardware is working.

I'm unfamiliar with nixos, you might try using different kernels. Try the latest one and maybe a few kernels behind the one your using now.

Does your bt card need firmware?

[–] mobsenpai@lemmy.world 2 points 1 month ago

I did try the latest kernel and also the 6.1 lts kernel with no luck.

I don't know about the firmware. Can you tell me how to check that? Thank you.

[–] mobsenpai@lemmy.world 2 points 1 month ago (1 children)

This is my exact model: FX608JH ASUS TUF Gaming F16 (2025)

[–] str82L@lemmy.world 2 points 1 month ago (1 children)

I have the same model and now realise this is likely the cause of my BT issues too. Is it safe to assume that if I wait long enough this will be fixed in the kernel? I'm a little reluctant to get in the weeds to the extent the fix requires. I'm on Bazzite, so I think that means I'll be waiting a while given it's an immutable distro, is that right?

[–] mobsenpai@lemmy.world 2 points 1 month ago

So turns out making this patch upstream so it gets into the Linux kernel is not as easy as to open to pull request. There's this setting up of git email and what not, but with my searches it seems this patch is already made by someone and should be implemented in the kernel 6.19, but take this with a grain of salt. I will update this post if I find the patch file but for now I am assuming this fixed in 6.19. And yes I was hesitant to to try this but the desperation got over me, as I just can't have anything "not work" it irks me the wrong way, so I just went ahead with it.