Linksys WRT3200ACM (mwlwifi) features & stability?

I´m not a developer myself, I might need to learn that skill, but I start with reaching out to developers. I´m hoping to take part of your knowledge.

I would hope to learn more about the mwlwifi driver. Is there a ongoing project to build a high quality mwlwifi driver for the WRT3200ACM?

I have recently installed OpenWrt 24.10.5 on

  • 3 WRT3200ACM´s & 1 WRT1900ACS

Very interesting experience. OpenWrt are growing on me, but the WRT3200ACM has been a huge challenge. I have made a long list of observations & have many questions.

I have tried to read relevant correspondence regarding the mwlwifi driver.

I have read much criticism of the mwlwifi driver. If I have understood correctly a better driver would be a huge improvement.

Do a list exist of what is actually possible with the WRT3200ACM hardware, compared to what is actually available/working in the OpenWrt?

Does a list of all the documented issues & shortcomings of the mwlwifi driver exist?

Best
Chris

My journey

Internet:

1 ZTE model:MC888 Pro with 5G-NSA (Telenor carrier in my country currently offers 5G-SA to business customers only, but no other carrier offers 5G-SA)

Local network:

1(A) WRT3200ACM OpenWrt WDS

1(B) WRT3200ACM OpenWrt WDS

1(C) WRT3200ACM OpenWrt WDS

1(D) WRT1900ACM V2 OpenWrt WDS

OpenWrt firmware version used 24.10.4


I started with the ambition to make a clean fully OpenWrt WDS local network.

(A) WRT3200ACM as OpenWrt WDS STA.
No matter the settings combination I failed to connect an OpenWrt WRT3200ACM client to OpenWrt WRT3200ACM STA set to 160MHz. But I made a connection with 80MHz. The only encryption setting, that would allow a connection, was WPA-PSK/WPA2-PSK Mixed mode with Cipher set to auto.
It seemed promising, but!
When connected via LAN to the OpenWrt WRT3200ACM STA internet was functional on the laptop, but the LUCI DIAGNOSTICS & SOFTWARE did not have internet access...

(B) WRT3200ACM as OpenWrt WDS Client connect to the (A) WRT3200ACM OpenWrt WDS STA, but only DHCP to the (B) WRT3200ACM as OpenWrt WDS Client from the ZTE model:MC888 Pro with 5G-NSA seemed to work. All other network trafic was blocked.

The setup guide for WDS is kind of short and basic... No troubleshooting advice to find there... The explanation seems to be that setup varies much depending on hardware.

The more I have read in the OpenWrt forum threads about WDS issues. The more I found that I needed some expert advice on trouble shooting.

The list of WDS Client issues keeps getting longer the more I read. And I can't seems to find a list of fixed vs pending issues with references to documentation.

So, in short, I do not know what forum threads are still relevant, or which end to start or if it is just one, or a combination of issues that causes my WDS Client to be blocked.

I tried to work through everything I could find in the OpenWrt forum, but gave up eventually.

SHORT LIST OF NOT SETTINGS RELATED POSSIBLE CAUSES:

  • Driver bug´s in general
  • WIFI security encryption issues
  • DNS Rebind Protection(Don't understand this if WDS is fully transparent)

Not clean OpenWrt WDS Wifi setup attempt:

The ZTE model:MC888 Pro supports 160MHz, so I tried to connect one WRT3200ACM OpenWrt WDS client set to 160MHz & Security set to WPA2-PSK with forced CCMP.
The WIFI connection came up immediately but on channel Channel 64. Not the chosen Channel 149 on the WRT3200ACM OpenWrt WDS client. When all 3 WRT3200ACM OpenWrt WDS client where connected to the ZTE model:MC888 Pro, they all connected on channel 64, no matter that all 3 WRT3200ACM OpenWrt WDS clients had different channels set.
When I changed the setting ZTE model:MC888 Pro to include DTS channels. Then the first WRT3200ACM OpenWrt WDS client connected 5G with Channel 40, but quickly it will shift to Channel 100, or directly to the preset channel 128 in the WRT3200ACM with OpenWrt; The WRT3200ACM with OpenWrt is set to driver for dBm, the driver has decided on 23dBm. So DTS work for me on WRT3200ACM with OpenWrt.

The channel setting in the WRT3200ACM OpenWrt WDS 5G 160MHz client, seems to be completely ignored by the ZTE model:MC888 Pro. It does not matter what channel is set in the WIFI client, the Channel is decided by the ZTE model:MC888 Pro.

I then added a WRT1900ACM V2 OpenWrt WDS STA with LAN connection to a WRT3200ACM OpenWrt WDS client. Internet up and running on both 5G & 2.4G connections. The ZTE model:MC888 Pro does not support WDS & I have an issues with blocked trafic between the 3 WRT3200ACM OpenWrt WDS 5G clients, no local LAN trafic allowed though the ZTE model:MC888 Pro so far.

I have set manual MESH for the 2.4GHz WDS STA on all 3 WRT3200ACM OpenWrt WDS 5G clients. For some od reason it seems that some sort of MESH or roaming occurs on the local LAN for 2.4GHz Wifi.

Not only is there some kind of MESH or roaming, but what I found out next doesn't make any sense at all, at least I can't come up with an explanation. I very curious if anyone else can explain!?

The 2.4GHz WDS STA´s on all 3 WRT3200ACM OpenWrt WDS 5G clients; Have all been set identical to the ZTE model:MC888 Pro. So 4 Wifi sta in the local net has identical SSID and idential security encyption key.

All 3 WRT3200ACM OpenWrt WDS 5G clients that are already connected to the try to will ZTE model:MC888 Pro intermittently but persistently connects to the ZTE model:MC888 Pro through the 2.4GHz WDS STA, while maintaining the OpenWrt WDS 5G client connection. The WRT1900ACM V2 OpenWrt WDS
SSID when connecting to the ZTE model:MC888 Pro is "Linksys01282", that SSID is on the label of the WRT1900ACM V2 & in the factory reset OEM firmware of the WRT1900ACM V2. But the SSID "Linksys01282" does not exist anywhere in the OpenWrt configuration of the WRT1900ACM V2.

So where do OpenWrt read Linksys01282 as SSID & why do a 2.4GHz MASTER setup with AP WDS decide to act as a client to the ZTE model:MC888 Pro. The 2.4GHz WDS STA´s on the 2 WRT3200ACM OpenWrt WDS 5G clients & the WRT1900ACM V2 OpenWrt WDS STA accepts connections from 2.4GHz clients simultaneously with the client connections to the ZTE model:MC888 Pro .

The SSID´s the 2 WRT3200ACM OpenWrt WDS 5G clients 2.4GHz WDS STA´s send to the ZTE model:MC888 Pro, are different in form from the WRT1900ACM V2 OpenWrt WDS STA SSID.

One of the WRT3200ACM OpenWrt WDS 5G clients 2.4GHz WDS STA´s SSID is "OpenWrt" , which is nowhere in the setup of that WRT3200ACM OpenWrt configuration.

The other WRT3200ACM OpenWrt WDS 5G clients 2.4GHz WDS STA presents no SSID at all to the ZTE model:MC888 Pro.

So 3 different SSID´s ... So what in these 3 OpenWrt firmwares might be responsible for the ghost SSID´s?

I am beginning to suspect that the reported instability of the Wifi on the WRTxx00ACx products might be caused by the hardware or firmware being "confused". Is seems like the inactive firmware somehow is accessed by either the hardware directly, or the active firmware read from the inactive firmware. Or some other equally bad short-circuit of hardware and firmware occurs...

So far I have blocked the 3 2.4GHz WDS STA´s from connecting in the ZTE model:MC888 Pro. The 3 2.4GHz WDS STA´s keeps trying to connect intermittently. I don't think the block is the optimal solution, but so far it seems that the block does not cause any problems...

By the way, I tried to use the WRT1900ACM V2 as AP with OEM firmware installed connected via LAN to a WRT3200ACM OpenWrt WDS 5G client. When I tested the bandwidth to internet on a windows 11 laptop, through the 5G AP connection of the WRT1900ACM V2. Then the initial speed was identical to that of the WRT1900ACM V2 with OpenWrt, but the bandwidth quickly dropped of from around 80Mbps to around 8Mbps on the WRT1900ACM V2 as AP with OEM firmware. I did the tests several times on both OEM & OpenWrt firmware, the results were all similar. The bandwidth of the WRT1900ACM V2 with OpenWrt did not drop of, the OEM firmware dropped of every time...

So in my setup the WRT1900ACM V2 as AP with the latest OEM firmware did not work at all...

OPENWRT on WRT3200ACM LIST OF QUESTIONS FOR FUNCTIONALITY
o Country Code setting does not seem to change dBm range(need to update this since this is a know issue) Channel 149 works but is limited to 13 dBm. According to my knowledge of the WRT3200ACM it is capable of 30 dBm. 30 dBm is the upper limit in Sweden for DTS channel indoor use.

o Tried to use DTS channel for higher dBm without any success, didn’t get any kind of information about channel in use or otherwise. It just didn’t work; No connection was achieved. The DTS WIFI channels activated in OPENWRT did not show up in my android app wifi scanner tool. In the LUCI I have seen 26dBm as currently active on channel 128 , but I couldn't get connections on this channel with WRT3200ACM with OpenWrt to WRT3200ACM with OpenWrt.

With WRT3200ACM with OpenWrt to ZTE model:MC888 Pro DTS channels work, the connection might open on Channel 40, but quickly it will shift to Channel 100, or directly to the the preset channel 128 in the WRT3200ACM with OpenWrt; The WRT3200ACM with OpenWrt is set to driver for dBm, the driver has decided on 23dBm. So DTS work for me on WRT3200ACM with OpenWrt. Since 2014 Channel 144 is part of RLAN 2 BAND(DTS) in Sweden. But the OpenWrt firmware version 24.10.4 has Channel 144 set as part of RLAN 3 BAND in Sweden:

o Wireless security settings, tried almost every combination possible between two WRT3200ACM with OpenWrt.
Only no security & WPA-PSK/WPA2-PSK Mixed mode with Cipher set to auto worked, any other combination just didn’t work.
The security level achieved, with the above settings, showed as WPA2-PSK CCMP.

o DIAGNOSTICS in the LUCI of the OpenWrt WDS STA do not work, despite that the window 11 pro laptop that connects to the LUCI WDS STA via WIFI or LAN has full internet access. Ping, DNS and other traffic to and from the internet work on the laptop through the Openwrt WDS STA work.

o DIAGNOSTICS in the LUCI of WDS STA can ping the gateway address on the ZTE model:MC888 Pro connected to the internet. The Openwrt WDS STA WIFI router was connected via LAN 1Gbit Ethernet to the ZTE model:MC888 Pro.

o The SOFTWARE in LUCI can’t access the internet. Executing package manager end up showing a long list of *** Failed to download the package list from *** and then many different links…
o The Openwrt WDS client that is connected via WIFI 5G on channel 149 to the Openwrt WDS STA, does not have internet access, but the Openwrt WDS client WWAN get DHCP address allocated from the 5G Mobile internet connection router. DHCP is disabled on both the OpenWrt WDS client & master. So, the only DHCP available is the DHCP of the ZTE model:MC888 Pro.

o The laptop that is connected to LUCI on the Openwrt WDS client via LAN can’t access the internet, and cannot ping the Openwrt WDS client WIFI connection DHCP assigned ip adress. In LUCI on the Openwrt WDS client, it’s not possible to ping the OpenWrt WDS STA static ip address. In the Openwrt WDS client LUCI DIAGNOSTICS it is not possible to ping the ZTE model:MC888 Pro gateway ip address.

... which is one of (if not the) main skills required (assuming doable) to improve/rewrite the driver ?

1 Like

mwlwifi is an OOT driver, means Out Off Tree
source is here

which reminds me off some work here for newer kernels

I wouldn’t say there is a concerted effort or ongoing project (mwlwifi is, as you have correctly noted, the Achilles' heel of these wrtpac devices) but it is worth looking at the below GitHub repo’s specific to the mwlwifi 80211 driver specific to OpenWrt:

There are also two main Community Builds that have focused on these devices in the past that might be of use as well:

As far as I know, any “development” is happening here:

But bear in mind that this driver has to relay (heavily) on a closed-source blob that gets loaded during the booting process onto the chipset.

As far as I know, no such list exists… But all the differences should be related to the wifi driver (instability, especially with some clients, WPA3 support, …).

1 Like

Last work I have seen on mwlwifi was by @jbsky, some threads to be found here. Pretty much DIW IMO.

architecure change from a default OOTB image build will yield some performance improvment.

MQPrio for HW QOS and PPS improvement.

1 Like

Thank you :+1: I´m very grateful for all the help!

The Github, architecure change, MQPrio & Divested-WRT links seems to be very much what I was looking for.

So now I will read!

I'll try to look into the Divested-WRT UNOFFICIAL builds when I´m finished reading. Maybe my issues have already been adressed...

Have added/updated information to my original post to try to keep all the essential information together i one message. I have documented some very strange behavior of client vs STA and SSID´s in the added information...

That's is mostly normal also for other wifi drivers

1 Like

True, and increasingly so, but it's still a prevalent problem with mwlwifi. Development for it has been dead for almost a decade, while it was still in its infancy and pretty buggy - bugs that aren't going to be fixable, given that there won't be updates for the blob. No one (really) cared about getting the mwlwifi driver mainline (there only was a shot-lived attempt, ignoring feedback and then… crickets).

When it works, it works well and fast - with clients it 'likes'. But interoperability with other chipsets (particularly IoT stuff, esp32 and friends, printers, etc.) has been a problem since day 1, WPA3 is problematic (vulgo, broken), 802.11w is challenging, even WMM (hard requirement for anything >54 MBit/s; 802.11n, 802.11ac) isn't without issues. It was 'temperamental' while Marvell still formally cared about it and sponsored development, with many fundamental problems remaining - and Marvell/ NXP hasn't cared about it for the better half of the last decade anymore, leaving these issues largely unfixed and unfixable.

These are still capable wired routers (although the competition has caught up, surpassed it, without these issues) - and if you already own it, you might be lucky (with your clients working in that environment), but don't expect improvements. The best case scenario will be that the driver might keep working as-is, including its warts, don't expect improvements (and be glad about little things, like life-support remaining for a little longer). Don't buy one 'new' (to you though), especially not if wifi features are on your list.

2 Likes

That sounds like a nightmare to debug software for the WRT3200ACM & WRT1900ACS type hardware...

Also I appreciate the advice! I understand that I'm not to expect any improved version of the mwlwifi driver for the WRT3200ACM.

It now appears to me that I am more than lucky, that I have managed to get my WRT3200ACM & My WRT1900ACS to work both stable & almost at peak speed consistently.

Local Wifi network latency is about 3-7ms

Internet via 5G mobile internet:

Windows 11 pro laptop
0,0 package loss in all speed tests
Best download 962Mbps
Best upload 75Mbps
Latency is around 70-80ms which is not good for gaming...

My service provider has 2025 proclaimed to invest in 5G SA, so I´m hopeful that latency might be 10-20ms in 2026.

5G also Wifi are broadcast mediums, so latency is in their "systems". Also may depend on usage.
Also speedtests (in any system) will be detected, so you get better at QoS, but afterwards ..