Getting the MediaTek MT7927 "Filogic 380" WiFi 7 + Bluetooth 5.4 combo working on Fedora before mainline kernel 7.2 reaches your system.
Confirmed working on:
- Board: MSI PRO X870E-P WIFI (AMD X870E) — also reported on ASUS ROG Crosshair X870E, and other X870E boards using this module
- OS: Fedora 44, kernel
7.1.3-201.fc44.x86_64 - Chip: MediaTek MT7927, PCI
14c3:7927, Bluetooth USB0489:e110
Any of these match you? Then keep reading:
lspcishowsMEDIATEK Corp. MT7927 ... [Filogic 380] [14c3:7927]with no "Kernel driver in use"- No Wi-Fi device at all; the in-tree
mt7925eloads but won't bind;new_idreturnsEINVAL - Bluetooth reset storm —
dmesgfloods withDirect firmware load for mediatek/mt7927/BT_RAM_CODE_MT6639_2_1_hdr.bin failed (-2)and endlessreset high-speed USB device, and the whole machine gets flaky - Hardware: MediaTek MT7927 / MT6639, Bluetooth USB
0489:e110, on AMD X870E / AM5 boards — MSI PRO X870E-P WIFI, ASUS ROG Crosshair X870E HERO, Gigabyte/ASRock X870E, and similar - Fedora (40–44) on any kernel older than 7.2
Keywords for search: MT7927 Linux no driver · mt7925e won't bind 14c3:7927 · WiFi 7 Filogic 380 Fedora not working · MT7927 Bluetooth reset loop · MT6639 firmware missing · X870E wifi not detected Linux.
lspci shows the card but no driver binds to it, and there's no WiFi device:
0f:00.0 Network controller [0280]: MEDIATEK Corp. MT7927 802.11be ... [Filogic 380] [14c3:7927]
(no "Kernel driver in use")
The in-tree mt7925e driver only claims 14c3:7925 / 14c3:0717, not 14c3:7927.
Grafting the ID on with new_id fails (EINVAL) — the MT7927 shares the mt7925 silicon
but has a different bus init (DMA rings, IRQ map, CBInfra fabric), so the probe rejects it.
Why: MT7927 support was merged to mainline kernel 7.2 (wireless-next, June 2026). Any kernel older than 7.2 simply doesn't have it. This guide covers the gap.
⚠️ Bluetooth warning: if you enable Bluetooth in BIOS before the driver/firmware is installed, the BT interface enters an endless USB reset loop (~1/sec) that destabilizes the whole machine (missingBT_RAM_CODE_MT6639firmware). The fix below installs that firmware, which cures it. If you're mid-storm, see "Emergency: stop the Bluetooth reset loop" at the bottom.
Everything is done by jetm/mediatek-mt7927-dkms
(by Javier Tia, the author of the upstream kernel patches). It builds a patched
mt7925e/mt76 + btusb/btmtk via DKMS and installs the firmware — WiFi and Bluetooth.
./install-mt7927-fedora.sh# 1. Prereqs (kernel-devel must match your running kernel)
sudo dnf install -y dkms "kernel-devel-$(uname -r)"
# 2. Grab the latest prebuilt Fedora RPM from the project's releases
curl -LO https://github.com/jetm/mediatek-mt7927-dkms/releases/latest/download/mediatek-mt7927-dkms-2.13-1.fc44.noarch.rpm
# (check https://github.com/jetm/mediatek-mt7927-dkms/releases for the current version/filename)
# 3. Install it (unsigned community RPM -> --nogpgcheck). Runs dkms build/install.
sudo dnf install -y --nogpgcheck ./mediatek-mt7927-dkms-*.fc44.noarch.rpm
# 4. Load the patched driver (or just reboot)
sudo modprobe -r mt7925e mt7921e 2>/dev/null
sudo modprobe mt7925e
sudo modprobe btusbSecure Boot: if it's on, DKMS modules must be MOK-signed — see the upstream README. With Secure Boot off, nothing extra is needed.
lspci -nnk -s 0f:00.0 | grep -i 'driver in use' # -> mt7925e
ip -br link | grep wl # -> wlp*s0 ... UP
nmcli device wifi list # should list nearby APs
bluetoothctl show # -> a "[default]" controllerPersistence is automatic: after install, 14c3:7927 is in modules.alias (auto-binds on
boot) and DKMS (AUTOINSTALL=yes) rebuilds the module on kernel updates.
sudo dnf remove mediatek-mt7927-dkms # restores the stock in-tree modulesNative support is in-tree from 7.2, so the card works out of the box. You can then
sudo dnf remove mediatek-mt7927-dkms (or leave it — AUTOINSTALL keeps it building harmlessly).
If the machine is thrashing from the BT reset storm (before the fix is in place), park the
device without a reboot (find its bus path in dmesg | grep 'reset high-speed'):
# X-Y is the port path of the 0489:e110 device (e.g. 5-6)
echo 0 | sudo tee /sys/bus/usb/devices/X-Y/authorizedThen run the fix above; it installs the missing BT firmware and the loop won't recur.
Credit: the driver, patches, and firmware packaging are entirely Javier Tia's work. This repo is just a Fedora-specific confirmation + convenience wrapper. If it helped you, consider starring his repo. Upstream tracking: openwrt/mt76 #927.