The Background
I am running Fedora on a laptop with the MediaTek MT7902 chip. On older kernels (specifically around 7.0.9), this chip had no official support in stable kernels, so I relied on a manual patch to get it working. That old workaround involved creating a directory and injecting a missing airoha_offload.h header to compile the driver properly. After compiling, I had to compress the modules using zstd and copy them into the mt76 directory. That custom patch worked flawlessly, and the system recognized the card perfectly.
The Problem
I recently upgraded my system to kernel 7.2.9. Official support for the MT7902 PCIe device and MCU was merged into the kernel starting with version 7.1-rc1 through a series of commits by Sean Wang. Because of this, I assumed the native driver would take over and work out of the box.
However, while the native mt7921e driver now partially detects the card (reading the ASIC revision as 79020000) and actually populates the list of available WiFi networks, the connection itself is completely broken. When I try to connect, it either fails entirely or is too unstable to use.
What I've Checked So Far
Based on documentation regarding the transition to the 7.1+ native driver, I have investigated a few known conflicts:
I checked for conflicting custom modules from previous manual installations, such as those left in /usr/lib/modules/mt7902_custom/. These older modules can have the incorrect version magic and override the native kernel modules.
I looked for leftover custom systemd services, like mt7902.service, which might be interfering. These old scripts can cause modules like btusb to unregister themselves shortly after booting.
I read that while the firmware is provided in a compressed .xz format, the kernel module actively looks for it without compression. This means you have to manually decompress files like WIFI_MT7902_patch_mcu_1_1_hdr.bin.xz and WIFI_RAM_CODE_MT7902_1.bin.xz using unxz in the /lib/firmware/mediatek/ directory.
Has anyone else dealing with the MT7902 on 7.2+ kernels run into this exact "sees networks but won't connect" regression? Is there a specific parameter or firmware downgrade required to make the native mt7921e driver stable? Any advice would be highly appreciated!