Not so great speeds on Mesh (802.11s)

I have two Linksys MR8300 routers and flashed the latest Snapshot on both of them (OpenWrt SNAPSHOT r21766-57a02cbbff / LuCI Master git-22.361.69865-deed682).

I set up mesh (802.11s) using the wiki. I am getting around 180/90 out of a 500/550 Mbps connection.

My setup: Linksys MR8300 has three bands (one 2.4 ghz and two 5 ghz) and I dedicated the 2nd 5 ghz band for the wireless backhaul (mesh). I picked channel 36 on 80 MHz width. Even after I disabled the other two bands on the node, it didn't make any difference. Two devices are hard wired to the node and when I run speed tests from them, it doesn't go above 190 Mbps. The nodes are about 40 feet apart from each other. I am using wpad-wolfssl, the full package. The signal is around -60 to -66 dBm.

FWIW, when I run the two routers in the mesh mode in Linksys OEM firmware, the speeds jump to 300+. I thought OpenWrt has fine tuned the mesh and am shocked/surprised that Linksys OEM is performing much better than OpenWrt. And, Linksys doesn't even update the firmware and the last update was from April 2022. Go figure!

Any ideas what I can do to improve it? Maybe, try the stable release (22.03.3)?

There is a linguistic problem here: The Wi-Fi Alliance and in this case probably also Linksys have a completely different definition of the word "mesh" than the definition used by researchers, community networks, mathematicians, ...

When researchers say "mesh" they mean mesh as in Wireless mesh network.
This is what you have been setting up in OpenWrt as well by choosing IEEE 802.11s which allows ad-hoc mesh topologies.
None of the currently available wifi chips perform well when using this mode, many hardware optimizations are tailored only for AP and station mode and don't work in 802.11s mesh mode.

When ever the Wi-Fi Alliance or Wi-Fi device vendors say "mesh" the usually mean mesh as in EasyMesh. So this is basically automatic setup of AP-Station backhaul links in 4-addr aka. WDS mode. It has nothing to do with mesh routing or mesh topologies what-so-ever. It's just a marketing term for interoperable and easy-to-setup repeaters, with a very clearly defined hierarchy.

This is supported very well by all modern chips and hardware-optimizations allow for good performance.
You can set this up in OpenWrt by using the Access Point (WDS) and Client (WDS) interface modes.

Automatic setup of such links using Push-Button authentication, propagation of AP settings, ... as defined in the EasyMesh standard are not supported by OpenWrt.

6 Likes

Thank you for the info. Btw, I tried WDS as well and it wasn't performing as well as 802.11s.

It feels to me that 802.11s implementation in OpenWrt is solid although the throughput is disappointing... Maybe, I really love OpenWrt and am biased and quite literally shocked when the mesh implementation in Linksys was performing much better than OpenWrt.

I set the transmit power to 12 dBm (half of max) and still doesn't improve throughput... maybe, it's because the stations are about 30 feet away?

The configuration shown in the WDS guide looks very outdated, if you use those settings as-is it will be very very slow for sure. If you were just using LuCI to setup AP (WDS) and Client (WDS) on the other side, then you should be fine and performance should compare to regular (ie. 3-address, non-WDS) AP and Client modes.

Are you sure that Linksys is actually implementing 802.11s mesh and not rather EasyMesh...?

You may also try different wifi driver options, ie. use ath10k instead of ath10k-ct. Also make sure to use the additional radio in the upper 5 GHz band as mesh backhaul. But be prepared that most likely none of them will work with the same performance as the vendor implementation used in the stock firmware (which is proprietary and also a total mess. It cannot be used in OpenWrt for too many reasons).

2 Likes

No, I have no idea whether they implement mesh or EasyMesh (maybe, you are right) but they name the router as mesh and that's what I was going with... lol

Their interface is quite outdated and it's a royal pain to make changes even though the options are very, very limited. I guess the web interface in most of the OEM firmware (Netgear, Linksys) are useless and Asus is the only one I feel a little bit better.

Yes, I used Luci to set it up as the steps are pretty simple compared to the 802.11s wiki, imo. WDS was okay but the throughput was less than 802.11s and that's why I ended up using it. I have saved the WDS configs and can always flash it back to try it out if you have any other suggestion other than what is listed in the wiki (for luci).

Yes, I am using the 3rd radio (5 GHz) for the mesh backhaul.

I recommend to try replacing kmod-ath10k-ct with vanilla kmod-ath10k (and firmware).
The -ct driver isn't always better when it comes to backhaul -- it works very well when serving clients, lots of clients, ...

These two? Uninstall the installed ones and install the other one from the screenshot?

You will loose wireless connectivity while doing this, so be sure to be connected over Ethernet.
You may use LuCI to first uninstall everything related to ath10k-ct, ie. remove

  • kmod-ath10k-ct
  • ath10k-firmware-qca4019-ct
  • ath10k-firmware-qca9888-ct

Then install

  • kmod-ath10k
  • ath10k-firmware-qca4019
  • ath10k-firmware-qca9888

Reboot the router when done.

3 Likes

After a reboot, the throughput went down with vanilla compared to -ct driver/firmware. I will go back to -ct for now.

Not sure what else to try.

Switched to Linksys OEM firmware (v1.1.10.210186) and voila, speeds jump almost 3 times more with the same mesh setup.

Almost getting closer to the provisioned 500/500 link speed from about 30 feet away. Incredible!

image

EDIT: Second test is even better. lol

image

The OEM firmware does give better results - I have the Linksys EA8300, a very similar device; however, getting timely updates will never happen by relying on LInksys. That's why I only run OpenWRT.

1 Like

Well, I agree that OpenWrt gets updates almost every day and the interface is night and day compared to Linksys but when I get two or even three times more throughput using Linksys OEM firmware, it's a no brainer to use OEM firmware, imho.

If the OpenWrt mesh throughput is close to Linksys, it's an easy decision to switch to OpenWrt but that is NOT the case here. So, I am sticking with Linksys for now until something changes on OpenWrt which matches Linksys speeds.

EDIT: Tried speed test now and the upload even exceeds my provisioned 500 Mpbs connection. Well, it far exceeded my expectations and Linksys OEM firmware is way better on MR8300 and sticking with it for now.

image

EDIT 2: Still great speeds... I didn't think that the OEM mesh can almost simulate a wired connection. Insane!

image

1 Like