Bug 2372880

Summary: MT7925 Bluetooth functionality lost after firmware update from 20250311 to 20250509
Product: [Fedora] Fedora Reporter: Lachlan Macnish <lokmac>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 42CC: acaringi, adscvr, airlied, gergely, hdegoede, hpa, i, josef, kernel-maint, linville, masami256, mchehab, ptalbert, steved, suraj.ghimire7
Target Milestone: ---Keywords: Desktop, Regression, Upgrades
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lachlan Macnish 2025-06-15 04:22:18 UTC
After a system update on June 14, 2025, the Bluetooth functionality of the MediaTek MT7925 wireless card stopped working. The update included mt7xxx-firmware package upgrade from version 20250311-1.fc42 to 20250509-1.fc42.

The MT7925 is a combo WiFi/Bluetooth card, and while WiFi continues to work, Bluetooth is completely non-functional.

**System Information**:
- Distribution: Fedora Linux 42 (KDE Plasma Desktop Edition)
- Kernel: 6.14.9-300.fc42.x86_64
- Hardware: ASUS Zenbook S 16 UM5606WA_UM5606WA
- Wireless Card: MEDIATEK Corp. Device 7925 (MT7925)
- Subsystem: AzureWave Device 6370
- Driver: mt7925e

**Hardware Details**:
```
c3:00.0 Network controller: MEDIATEK Corp. Device 7925
    Subsystem: AzureWave Device 6370
    Kernel driver in use: mt7925e
    Kernel modules: mt7925e
```

**Firmware Versions**:
- Working (initial install): mt7xxx-firmware-20250311-1.fc42.noarch
- Problematic: mt7xxx-firmware-20250509-1.fc42.noarch
- Current (downgraded, still broken): mt7xxx-firmware-20250311-1.fc42.noarch

**Timeline**:
1. Initial Fedora 42 installation: Both WiFi and Bluetooth working
2. June 14, 2025: System update including firmware dated 20250509
3. After update: Bluetooth stopped working, WiFi still functional
4. June 15, 2025: Downgraded firmware to 20250311 - WiFi still works, Bluetooth still broken

**Current Status**:
- WiFi: Working (connected to network)
- Bluetooth: Not working (no controller detected)
- Bluetooth service: Running but reports "No default controller available"

**Expected Behavior**:
Both WiFi and Bluetooth should function as they did on initial installation.

**Actual Behavior**:
Bluetooth completely non-functional after firmware update. Downgrading firmware did not restore Bluetooth functionality.

**Reproduction Steps**:
1. Install Fedora 42 on system with MediaTek MT7925 wireless card
2. Verify both WiFi and Bluetooth are working
3. Update system to include mt7xxx-firmware-20250509-1.fc42
4. Observe that Bluetooth stops working

**Additional Information**:
- This appears to be a firmware regression specific to the Bluetooth component of the MT7925
- The issue may also involve other system components that interact with the firmware
- Multiple users may be affected as this is a common wireless card in ASUS laptops

**Commands to reproduce/verify**:
```bash
# Check hardware
lspci | grep -i network

# Check Bluetooth status
systemctl status bluetooth
bluetoothctl show

# Check firmware version
rpm -qa | grep mt7xxx-firmware

# Check kernel messages
sudo dmesg | grep -i mt79
sudo dmesg | grep -i bluetooth
```

NB: This has been generated by Warp Terminal following its troubleshooting of the issue. However, this has been manually reviewed and refined to ensure correctness.

Reproducible: Always

Comment 1 Lachlan Macnish 2025-06-15 06:02:23 UTC
On returning to Windows 11 I have also found that my Bluetooth device is non-existent. The situation is the same. I can see the WiFi device of the same MediaTek MT7925 in Windows. But there is no Bluetooth device at all. And the Bluetooth button in the control centre is no longer present.

I would still be looking to the Jun 14 2025 update in Fedora as triggering the issue, as I'm not aware of any other change, but I don't understand enough to say whether this may have triggered a broader issue spanning outside of Fedora.

I don't believe there have been any UEFI changes since the initial Fedora install to change the boot order so that Fedora was and then wasn't the default. But the Bluetooth device worked both sides of any changes. 

Bluetooth is enabled in UEFI.

Driver date for "MediaTek Wi-Fi 7 MT7952 Wireless LAN Card" shows Driver Date: Tue 18/3/24, Driver Version: 5.5.0.3548. It has auto-update enablded in MyASUS, so it would not have been out of date and only recently updated, so no obvious change Windows-side.

Comment 2 Lachlan Macnish 2025-06-15 06:41:07 UTC
I performed a device firmware reset (shutdown and then hold Power for 40 seconds for Asus Zenbook S 16) and then on boot the Bluetooth device is once again recognised in both Windows 11 and Fedora. I will perform mtxxx-firmware update in Software Center again to see if that breaks the Bluetooth device again.

Comment 3 Lachlan Macnish 2025-06-15 06:50:03 UTC
Installed mt7xxx-firmware (installe via Software Center auto-updated). Following restart to update, update automatically installed, restart and boot, Bluetooth remains functional in Fedora.

Comment 4 Lachlan Macnish 2025-06-16 14:43:01 UTC
Seems to be a strong correlation to the MT7xxx-firmware package update now. I was using Windows 11 for some time with no issue. Then decided to boot back to Fedora 42, and on Bluetooth was present. Keyboard did not pair. So restarted and booted back to Windows 11, and again no Bluetooth AT ALL (the entire control centre Bluetooth button is gone, as well as no Bluetooth device in Device Manager, now present in Windows 11). So there seems to be a major issue with MT7xxx-firmware that only presents after 1) update; 2)restart/install, and; 3) restart/boot again. And it's not just impacting Fed 42. Impacting the entire device for all host OS.

Comment 5 i 2025-06-20 06:40:50 UTC
This seems irrelevant to the firmware update. This problem has troubled me for a long time, even on old firmware. The Bluetooth interface (via USB) of MT7925 becomes completely unresponsive when running into the problem, and you'll see something like "usb X-Y: device descriptor read/64, error -110" in dmesg. See also https://github.com/openwrt/mt76/issues/548#issuecomment-2767645673

You probably encountered the problem because the power of MT7925 had been kept on for too long (i.e., no cold boot in between). I usually encounter the problem when I keep my laptop on for more than 3 days.

Disclaimer: I don't use Fedora, CentOS, or RHEL.

Comment 6 Gergely Lonyai 2025-12-19 15:33:31 UTC
I have the same experience on RHEL10.1

I found some mistakes in the lspci output. Maybe it's helpful:
root@gergo:/home/gergo# lspci -n -v -s c3:00.0
c3:00.0 0380: 1002:150e (rev c6)
	DeviceName: Mediatek Wi-Fi 7 MT7925 + BT
	Subsystem: 103c:8cdd
	Flags: bus master, fast devsel, latency 0, IRQ 110, IOMMU group 17
	Memory at 5000000000 (64-bit, prefetchable) [size=256M]
	Memory at b4000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 1000 [size=256]
	Memory at b4500000 (32-bit, non-prefetchable) [size=512K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
	Capabilities: [64] Express Legacy Endpoint, IntMsgNum 0
	Capabilities: [a0] MSI: Enable- Count=1/4 Maskable- 64bit+
	Capabilities: [c0] MSI-X: Enable+ Count=4 Masked-
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [270] Secondary PCI Express
	Capabilities: [2a0] Access Control Services
	Capabilities: [2b0] Address Translation Service (ATS)
	Capabilities: [2c0] Page Request Interface (PRI)
	Capabilities: [2d0] Process Address Space ID (PASID)
	Capabilities: [410] Physical Layer 16.0 GT/s <?>
	Capabilities: [450] Lane Margining at the Receiver
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu

root@gergo:/home/gergo# lspci -n -v -s c2:00.0
c2:00.0 0280: 14c3:7925 (rev 01)
	Subsystem: 103c:8c38
	Flags: bus master, fast devsel, latency 0, IRQ 133, IOMMU group 16
	Memory at b4600000 (64-bit, non-prefetchable) [size=2M]
	Memory at b4800000 (64-bit, non-prefetchable) [size=32K]
	Capabilities: [80] Express Endpoint, IntMsgNum 0
	Capabilities: [e0] MSI: Enable+ Count=1/32 Maskable+ 64bit+
	Capabilities: [f8] Power Management version 3
	Capabilities: [100] Vendor Specific Information: ID=1556 Rev=1 Len=008 <?>
	Capabilities: [108] Latency Tolerance Reporting
	Capabilities: [110] L1 PM Substates
	Capabilities: [200] Advanced Error Reporting
	Kernel driver in use: mt7925e
	Kernel modules: mt7925e

Additionally, I tried to apply this script (manually): https://github.com/LuanAdemi/mediatek7925e-bluetooth-fix/blob/main/mediatek_fix.sh
But nothing changed. There is my investigation:
root@gergo:/home/gergo# grep -ri 14c3 /usr/lib/udev/hwdb.d/
/usr/lib/udev/hwdb.d/20-usb-vendor-model.hwdb:usb:v12D1p14C3*
/usr/lib/udev/hwdb.d/20-OUI.hwdb:OUI:0014C3*
/usr/lib/udev/hwdb.d/20-OUI.hwdb:OUI:14C35E*
/usr/lib/udev/hwdb.d/20-OUI.hwdb:OUI:14C3C2*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000013F6d00008788sv000014C3sd00001710*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000013F6d00008788sv000014C3sd00001711*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000013F6d00008788sv000014C3sd00001713*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00000608*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00000616*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00000717*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00004D75*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007603*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007612*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007615*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007630*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007650*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007662*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007663*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007915*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007916*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007922*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007922sv00001A3Bsd00005300*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007961*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007988*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007990*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007991*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00008650*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v00009005d0000028Fsv00009005sd000014C3*
root@gergo:/home/gergo# grep -ri 7925 /usr/lib/udev/hwdb.d/
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb: ID_MODEL_FROM_DATABASE=MT7925 (RZ717) Wi-Fi 7 160MHz
root@gergo:/home/gergo# vim /usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb
root@gergo:/home/gergo# grep -ri 14C3 /usr/lib/udev/hwdb.d/
/usr/lib/udev/hwdb.d/20-usb-vendor-model.hwdb:usb:v12D1p14C3*
/usr/lib/udev/hwdb.d/20-OUI.hwdb:OUI:0014C3*
/usr/lib/udev/hwdb.d/20-OUI.hwdb:OUI:14C35E*
/usr/lib/udev/hwdb.d/20-OUI.hwdb:OUI:14C3C2*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000013F6d00008788sv000014C3sd00001710*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000013F6d00008788sv000014C3sd00001711*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000013F6d00008788sv000014C3sd00001713*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00000608*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00000616*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00000717*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00004D75*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007603*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007612*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007615*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007630*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007650*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007662*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007663*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007915*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007916*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007922*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007922sv00001A3Bsd00005300*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007961*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007988*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007990*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00007991*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v000014C3d00008650*
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb:pci:v00009005d0000028Fsv00009005sd000014C3*