Mt7915e not working on anything past OpenWrt 22.03

Hello. I am trying to run my mt7915e-based card which I have installed on a x86 motherboard, card works absolutely fine on very old OpenWrt 22.03 (kernel 5.10) but anything newer and it does not work.

I have tried different distros, it seem the issue is related to the kernel version post 5.10.

On said newer versions, the behaviour of the card is very inconsistent. Sometimes, the system boots, often times it kernel panics during init or shortly after.

When it boots, I get “timeout for driver own” error with some “Retry message 00001eed (seq 6)” and “Message 00001eed (seq 6) timeout” errors

mt7915e 0000:04:00.0: Retry message 00001eed (seq 6)
mt7915e 0000:04:00.0: Message 00001eed (seq 6) timeout
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: chip full reset failed
ieee80211 phy0: Hardware restart was requested
mt7915e 0000:04:00.0: phy0 indicated firmware crash, attempting recovery
ieee80211 phy1: Hardware restart was requested
mt7915e 0000:04:00.0: phy0 indicated firmware crash, attempting recovery
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own
mt7915e 0000:04:00.0: Timeout for driver own

I have tried copying the old firmware files found in 22.03 to the new version of OpenWrt, still the same issue.

I have tried using numerous boot parameters but I am having trouble determining which of them actually do anything in OpenWrt. I have tried using pcie_aspm=off, it does not resolve the issue.

I have tried the following parameters: nolapic, pci=nomsi, irqpoll, idle=nomwait, pcie_port_pm=off, no effect, still erratic behaviour.

I wanted to blacklist the kmod-mt7915e package just so I can boot to userspace but the modprobe.blacklist= parameter seems to be doing nothing as the card still tries to initialize. The only way I can make it to userspace is if I disconnect the card which is not an option because I cannot troubleshoot the root cause that way.

I can install OpenWrt just fine, the issue occurs the moment I install the kmod-mt7915e and kmod-mt7915-firmware packages, then restart. I am not sure if it is them, or the mt76, or something else causing the problem.

Any help or ideas are welcome.

To be clear, you're saying that the device doesn't work on e.g., Ubuntu or Arch?

Also, it seems you have a similar thread from 2 years ago?

remove the kmod, install it again once booted ?

Seeing that either the driver or the card might be broken for a long time maybe it wouldn’t be a bad idea to look for another (newer) card altogether seeing you’re on x86 ?

1 Like

That is correct, any distro with kernel newer than 5.10 breaks the card.

And, yes, I do have a thread from a long time ago, I have been trying to revive the card ever since but I have always hit a brick wall before, the reason I am reopening a new thread is because the old thread contains wrong assumptions as what the cause might be and at some point it just became way too confusing because I did not realize the behavior was so unpredictable. That is why, in this new thread I have concisely summarized what has been done and tried, and what the observations are.

@frollic but if I reinstall the kmod, any changes won’t take effect until reboot, and the system hangs at reboot (or the card fails to init properly). I want to have control over the card so I can try various power management commands, or resets. I was thinking of installing a Debian 11 with 5.10 and then a VM where I could test the card but not sure if this approach will work. And when I do that, then what? I just don’t know what I should do to determine the root cause.

@newsense I am thinking that but the card is definitely not broken as it can still run OpenWrt 22.03 just fine. There is zero issues there, it initializes properly every single time and I am getting pretty decent speed over 5GHz.

And if I decide to go for a newer card, I still want dual band, to be frank, I am not sure I want MediaTek but then again I can’t seem to find alternatives that support dual band. It needs to be either m.2 or mpcie, too.

You’re nowhere better than running off the ISP provided WiFi router then.

The driver clearly has been broken or abandoned for a while.

To be safe again you’ll need another card that works on 25.12

1 Like

Some people who run mt7915-based routers report no issues so I wonder if it just some quirk with the fact I am using a x86-based device or idk.. I have disabled all power saving settings in UEFI, no fast boot etc.

Also, security-wise, I am currently using an AP connected to the x86 box with OpenWrt 25.12 but it is a bulky configuration which uses an additional rj45 port, and I am using my router as a travel router so I need everything in one case with minimal cables and external devices etc.

What I have noticed is that there are tons of similar reported issues on mt76 in github not just for mt7915 but for other mediatek cards. Which is why, if I go for a newer card, I would probably need to stay away from mediatek. Have you got any recommendations?

I need a dual band card so I can use one of the bands as STA to connect to an existing wifi and to use the other band as AP (kind of like repeater)

I would actually look for a Mediatek card, for two reasons.

Firstly, the routers I have have been working just fine for years.

Secondly, the OpenWRT community chose Mediatek for their official router.

Clearly Mediatek cannot be that bad. Issues? Sure, but if they’re actually being addressed that’s all that matters. GitHub has frequent commits regarding Mediatek, and that’s highly reassuring

Just as an example, here’s what it is in the pipeline for the 7.1 kernel - and will be coming to Openwrt relatively shortly I assume

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/log/?qt=grep&q=mt76

1 Like

I am kinda torn whether to go ahead with a new card because they are not easy to come by where I live and usually I have to pay more just for the delivery and import tax than the card itself is worth. So before I do that, I need to absolutely make sure it works otherwise I will be left with another useless piece of silicon.

I agree that people can run mediatek adapters fine, but I am not sure whether they do use x86 platform with the same mpcie card as me - or, to put it in other words - I need to definitely know which card works with a x86 board, or if I am the only one with my current card that has troubles with anything past 5.10 on that same platform.

Can you provide the make and model of this card (i.e., who's the manufacturer)?

I have two devices with MT7915E adapters:

  • Belkin RT3200: Its 2.4GHz is MT7915E
  • Zyxel WSM 20: Both, 2.4GHz and 5GHz are MT7915E

So nothing is broken in general with mt7915e. But I can’t tell about x86.

I guess you might want to change your thread topic to something that attracts x86 users capable of giving hints about known working Wi-Fi devices on this platform.

Honestly, I’m not sure if you have a lot of company in that matter. I guess most people that want the power of x86 routers are running them in a lab or server setting, which doesn’t come with a great “wife acceptance factor” when placed in the living room. So my assumption would be most people running x86 routers pair them with dedicated dumb access point devices.

As for the “dual band, one for STA, one for AP” requirement: I’m unsure if things changed much since there’s Wi-Fi 7 with MLO and having all available channels combined sounds like an obvious thing to advertise, but back in the Wi-Fi 5 days, not all “dual band” adapters meant “can do all at the same time”.

My Linksys RT3200 uses MT7915E for the 5GHz band but MT7622 for the 2.4GHz band. My Zyxel WSM20 uses MT7915E for both, but I cannot have 2 different 5GHz channels at the same time. One MT7915E is fixed to 2.4GHz only, while the other is fixed to 5GHz only.

So I’m pretty sure even if it was working, your single MT7915E adapter would not be able to use the 5GHz band in AP mode while simultaneously using the 2.4GHz in STA mode.

Going pretty off topic as to your initial question:

I’m seeing lots of 3D-printed 10” home lab boxes lately. Especially the “Lab Rax” box is what I get YouTube video recommendations for nearly daily. Looks pretty portable to me, and if you allocate 2 rack units for your x86 computer, there’s still one unit for a small 10-port managed switch and another unit for a dedicated router box. Might be worth looking into, depending on what you need an x86-based router for while traveling.

@lleachii AsiaRF AW7915-NPD. It gets pretty hot under 5.10 but I have attached a copper heatspreader, so I doubt it is related to temperature. Besides, on newer kernels, where the card refuses to initialize, does not get hot at all.

It could be the fact that it is a MT7915DAN+MT7975DN device.

@golialive It does actually support dual band, when I was choosing a card I specifically picked it for that purpose. And I can confirm that when the card was working in 5.10, I could indeed use one of the radio to connect to an existing network and then use the second radio to create a separate network. I have done so on several occasions and it worked perfectly.

Right now I am indeed using the dumb AP workaround but honestly it just irks me that I have to go around with 2 power cables (no PoE on my router to power up the AP), another cable to connect the AP to the router, takes double the space etc. The case I am currently using for the router is perfect because it is as small as it can possibly be:

I’ve even put a laptop brick 12V DC charger instead of a typical ATX PSU since the consumption is around 35W and there is really no need for a fan to cool down the PSU (I leave the brick outside the case)

EDIT: I forgot to mention that the card sometimes (VERY rarely) manages to initialize properly with no errors, no crashes. I just now managed to boot up and I will be tinkering with the power settings etc. I just know that the card will fail to init after the next boot cycle so I will try to gather as much information as I can.

I believe it is a race condition during init, system tries to load the driver while the card is still not powered… for whatever reason, it sometimes (very rarely) works.

I finally can say that I definitely fixed the issue. Apparently, the m.2 a+e slot on the motherboard I was using, is an intel CNVi proprietary interface. The motherboard itself had labeled the port “M.2 WIFI” but on the other side of the same port it said CNVi which is why I had missed it all those years back, thinking it was just a standard m.2 a+e.

All I did was to get an externally powered PCIe to mini PCIe card and the mt7915 initializes properly every single time, no AER errors either.

For anyone trying to run m.2 WiFi adapters off an x86 platform, make sure to check if the port is CNVi… As that would probably result in compatibility issues if the WiFi adapter is not Intel.

Alternatively, you can try installing the following package:

kmod-i2c-i801

But I am not sure whether that can fix the compatibility and honestly at this point I do not plan on reopening the case and trying that just to report.

1 Like