Bluetooth (mt7925e) doesn't work anymore after an Update on Fedora Workstation 42

Hii,

soo, after installing Fedora Workstation 42 onto my Lenovo IdeaPad Pro 5 14AKP10 and installing every update available through sudo dnf upgrade --refresh, Bluetooth doesn’t work anymore in the GNOME session. Like, in GDM, it shows up fine, and even in a second tty, bluetoothctl list shows the Bluetooth controller, but after logging into the GNOME session, it disappears from bluetoothctl list. :confused:

I got it working again for one or two times, when i ran these commands in this order:

  1. sudo modprobe -r btusb mt7925e
  2. sudo modprobe mt7925e
  3. sudo modprobe btusb

But after a reboot, it didnt worked anymore, so I had to run these commands again. But, as said above, after doing that for one or two times, it doesn’t work anymore. So like, I don’t really know what i should do now. :woozy_face:

Also, I can’t boot into an older kernel version (something from the 6.14 release), since the display on my Laptop’s screen is broken, which only got fixed by running a newer kernel version. Also, the Bluetooth Module that is being used in this laptop is a Mediatek MT7925 or MT7925e as far as I know.

Also, before, I was running the KDE Plasma Edition of Fedora 42 on this laptop, and after some rebooting, it worked there flawlessy. So like, I think its an issue specific to the GNOME version of Fedora Linux. And if this helps, I’m running Windows 11 24H2 on this laptop too, but on a second internal SSD (so no extra partition or anything).

Soo yea, any help would be greatly appreciated!

Please run inxi --bluetooth -zxx in a terminal and post the output as pre-formatted text. This should tell us exactly which hardware you have (assuming it is being detected) and can be found by others with same hardware to find this topic. Many linux problems already have solutions, but they get buried under the mass of AI-generated clickbait solutions to any and all Linux problems.

If you want to do some research on your own:

  • search for your system on https://linux-hardware.org, this should also have links to your WiFi hardware, and will allow you see if it is detected and works in other Linux distros.
  • if you are not familiar with linus command-line tools, check out [Linux Command](https://LinuxCommand.org], a time-tested resource writen by a human. Linux troubleshooting often requires command-line tools.
  • if you are not familiar with journalctl, please took at tutorials:Fedora quick docs and https://linuxhandbook.com/journalctl-command/. You can practice by searching for journal entries related to your issue.

After verifying your WiFi hardware, you may be asked for more details using the above tools.

Soo, I have ran inxi --bluetooth -zxx in the Terminal app of GNOME, and after installing the required package, this output came out of it:

Bluetooth:
Device-1: Foxconn / Hon Hai Wireless_Device driver: N/A type: USB rev: 2.1
speed: 480 Mb/s lanes: 1 bus-ID: 3-5:2 chip-ID: 0489:e111

Also, I looked up my hardware on https://linux-hardware.org, and as far as I can tell, the detected WIFI card is the mt7925e from MediaTek. But also, one of the Laptop models use an Realtek card named rtw89_8922ae, but this test was done on Ubunut 24.04 and not on Fedora.

Okay, so I tested out, if a Bluetooth Mouse (specifically a Lenovo WL310, which is using Bluetooth LE) connects before logging into GNOME (so while in GDM) using tty2 with bluetoothctl, and in fact, it does connect and the mouse works fine in GDM as a mouse. But after logging into GNOME, the mouse disconnects automatically, and Bluetooth doesn’t work anymore again. So it seems like that logging into GNOME does something, that prevents the usage of Bluetooth. I hope this helps a bit.

LHDB Probes with USB device ID 0489:e111 show mixed results for Fedora 42. Since both WiFi and BlueTooth both appear to use the same “Hon Hai Wireless_Device” name, they may be on the same card, so quite possible that there is some interaction. WiFi use the mt7925e driver:

% modinfo mt7925e  | grep description
description:    MediaTek MT7925E (PCIe) wireless driver

The btusb should support the BlueTooth device, so we need to comare journal entries for btusb between kernels that work and those that fail. The btusb driver supports some
command-line options related to power management that may be needed. The good news is that the issue appears to be with “in kernel” software, so will be shared across distos. Chances are other Linux users already have a solution if we can find it.

https://askubuntu.com/questions/1533130/mediatek-mt7925-bluetooth-hardware-not-detected has:

I found out that my Bluetooth device ID (chip-ID: 0489:e111) was added only recently. And so I upgraded to kernel 6.14.4-061404-generic. After this my device and drivers loaded without errors, however Bluetooth still was not working - “No default controller available” was still showing in bluetoothctl

This is what fixed it:

sudo modprobe -r btusb
sleep 1
sudo modprobe btusb

I would call this a “workaround”, not a solution, but the post was from April so there may have been more progress since then. Hope this helps while looking and waiting for a real solution.

Edit: More recent discussion of problems with this hardware on Lenovo systems

Okay, so I tried out an app called GNOME logs, which was preinstalled on my Fedora installation, which is apparently a graphical frontend of journalctl, so yea. After looking up for anything related to Bluetooth, I found this:

15:23:28 kernel: Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
15:23:28 kernel: Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
15:23:28 kernel: Bluetooth: hci0: Failed to set up firmware (-110)
15:23:28 kernel: Bluetooth: hci0: Failed to send wmt patch dwnld (-110)
15:23:28 kernel: Bluetooth: hci0: Execution of wmt command timed out
15:23:28 kernel: Bluetooth: hci0: unexpected event 0x05 length: 127 > 4
15:23:24 kernel: Bluetooth: hci0: Received unexpected HCI Event 0x00
15:23:18 kernel: Bluetooth: BNEP socket layer initialized
15:23:18 kernel: Bluetooth: BNEP filters: protocol multicast
15:23:18 kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
15:23:17 kernel: Bluetooth: hci0: unexpected event 0x17 length: 35 > 6
15:23:17 kernel: Bluetooth: hci0: unexpected event 0x05 length: 127 > 4
15:23:17 kernel: Bluetooth: hci0: HW/SW Version: 0x00000000, Build Time: 20250721233113
15:23:17 kernel: Bluetooth: hci0: Received unexpected HCI Event 0x00
15:23:17 kernel: Bluetooth: SCO socket layer initialized
15:23:17 kernel: Bluetooth: L2CAP socket layer initialized
15:23:17 kernel: Bluetooth: HCI socket layer initialized
15:23:17 kernel: Bluetooth: HCI device and connection manager initialized
15:23:17 kernel: NET: Registered PF_BLUETOOTH protocol family
15:23:17 kernel: Bluetooth: Core ver 2.22

Soo, as far as I can tell, the firmware isn’t properly set up/loaded, but it’s weird, since Bluetooth works as expected in GDM as I told earlier. But the message, that the firmware couldn’t be set up properly is shown some seconds after the rest, so I suppose that this message came after I logged into the GNOME session. But I don’t really know.

I suspect the Gnome session sees that “Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised”, but then discovers it is “not supported”, while GDM doesn’t attemp to use an “HCI Enhanced Setup Synchronous Connection”. Issues like this with new hardware are often temporary due to things like waiting for documentation and firmware messages to be translated, propagation of firmware updates, etc. This often needs participation from Lenovo, and probably affects other Linux distros as they move to current Gnome versions. Often someone with a similar system will investigate and post solutions or workarounds that you will be able to find with a web search.

Meanwhile, does restarting the module (without touching WiFi) work:

sudo modprobe -r btusb
sleep 5
sudo modprobe -v btusb

I recently ran into the same issue on exactly the same hardware (also a Lenovo IdeaPad Pro 5 14AKP10).

After some digging I found the problem to be related to gio/gvfs misidentifying the bluetooth adapter as a media player.

I did a write up of my findings and provide a fix here. It essentially installs a new udev rule, stopping gio from mounting the adapter. So far this seems to work for me.

Hope this helps :slight_smile: