Does OpenWrt firmware support Beamforming + MU-MIMO- just for the record?

Hi All,

I have read many threads regarding this topic.
After reading them, yet I still not sure my answer.
I am not technical person, just really a noob.
I just want to set the record straight once for all.
Hopefully someone can correct me statement.
Please use low-tech language if you want to help out.

My question is:
If my router has advertised to support Beamforming + MU-MIMO (for Wave2 AC products),
and I flash it with OpenWRT firmware, will l lose this features?
Answer:
Yes, because even though your router has the hardware capability to support Beamforming + MU-MIMO,
however without having proper open source drivers to run them, you will never enjoy these features.

Thank you.

Anyone care to comment?

So, does for example ath10k (or ath10k-ct) not support mu-mimo and beamforming?

I hope I can answer your question.
But I can't because I am not a developer.
I was hoping that someone who is a developer can help out

ath10k and hostapd both support beamforming and MU-MIMO. There's actually not much to it other than listing a few capabilities in hostapd. See:
https://wireless.wiki.kernel.org/en/users/drivers/ath10k/configuration#mu-mimo_configuration

I don't know whether that has been implemented in OpenWrt as don't have any device that supports MU-MIMO or beamforming. But you could easily check that if you are running OpenWrt on a device that supports it. Just connect via SSH and run:

grep vht_capab /var/run/hostapd*.conf

If the output includes the options SU-BEAMFORMER, MU-BEAMFORMER and BF-ANTENNA-* your device should operate in MU-MIMO and beamforming mode (the *-BEAMFORMEE options refer to the client capabilites, afaik).

You could also verify that by capturing the the beacon or probe response frames with wireshark, see:

The wireless access point will advertise MU-MIMO and beamforming capabilities in these frames.

4 Likes

Thanks. I was wondering too.
This is what I see running master from about a week ago.

root@OpenWrt:~# grep \"name\": /etc/board.json
                "name": "Linksys EA7500 V1 WiFi Router"
root@OpenWrt:~# opkg list "*ath10k*"
ath10k-board-qca99x0 - 20201118-3
ath10k-firmware-qca99x0-ct - 2020-11-08-1
kmod-ath10k-ct - 5.10.39+2021-01-11-9fe1df7d-2
root@OpenWrt:~# grep vht_capab /var/run/hostapd*.conf
vht_capab=[RXLDPC][SHORT-GI-80][TX-STBC-2BY1][SU-BEAMFORMER][SU-BEAMFORMEE][MU-BEAMFORMER][MU-BEAMFORMEE][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][RX-STBC-1][MAX-MPDU-114]

This probably means your device operates with beamforming. I'm not 100% sure if the BF-ANTENNA-* and SOUNDING-DIMENSION-* options that are mentioned in the ath10k documentation need to be explicitly set in hostapd, but I suppose not (the documentation says if single user beamforming is supported, these are set at maximum minus 1). So, it should work (and btw. hostapd usually fails to start if you list capabilities that are not supported by your specific hardware).
If you really wan't to be sure, though, you could run a packet capture on a client and filter for the beacon frames.

P.S.: Maybe running hostapd with verbose logging will also give you some more insight and that might be easier to achieve than setting up packet capturing.

1 Like

Thanks for your valuable input.
I know this information is way to deep to understand fully.
So in summary, I assume ath10K is the linux driver.
https://wireless.wiki.kernel.org/en/users/drivers/ath10k
(This driver is 8 years old according to Wiki)
As long as ath10K + hostapd daemon are running,
then chances of having MU-MIMO + beamforming activated is good,
except that I need to use wireshark to capture the packets,
to determine if they are really working as whole.

Yes, ath10k is the open source linux or kernel driver for Qualcomm Atheros-based wifi 5 (ac) chips. While it has been around for a couple of years now, it has been actively developed and extended over the last years in order support new devices and features (and still is, btw.). ath10k (or the communiy-backed "-ct" variant) are used by deafult for any supported wifi 5 device in OpenWrt, so there's no need to check whether "it's running" (if it's not, then either you don't have a working ac wireless radio or you use a device with a different chipset, like the MediaTek devices).

As @djadair showed, you don't have to configure anything to let hostapd know about the MU-MIMO/beamforming capabilities. It works out of the box (and btw. hostapd is the software handling your wireless access point; if you run OpenWrt and have a wireless radio configured as an access point, then hostapd is running). The only part I wasn't sure about 100% is whether the hostapd configuration needs to have the BF-ANTENNA-* and SOUNDING-DIMENSION-* options set in order for MU-MIMO and beamforming to work. Mainly because configuring hostapd is kind of a science on its own and sometimes it's hard to find good and understandable information about it. But I'm somewhat confident that these options are not needed and that it just works. I mentioned wireshark simply beacuse it would be way of "knowing for sure" and since I don't have a device to test this with myself.

3 Likes

Ok, thanks for your further explanation on the matter.

I just realised, OpenWRT does support MediaTek chipset based router.
Can you determine whether MediaTek routers support MU-MIMO + beamforming or not?

Or because you don't have router with MU-MIMO + beamforming to test, you cannot say for sure it does? Just like the Qualcomm based router (which uses ath10K drivers)?

I personally have no experience with MediaTek devices. I recently considered buying one, but skimming through some of the support threads here about it, it's wifi support or performance just didn't seen as mature and reliable to me, so I dismissed the idea. Your mileage will vary, obviously.

Nevertheless, I looked at the kernel log and it seems at least some supported MediaTek devices should support both MU-MIMO and beamforming, namely those using the mt7915 wireless chip, see:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=f68e6a1f85c148f0b238bdaef22f31b01d5cf51e
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.42&id=89029a85482cbcf68026a89fc974e8f6898d6b37

(Note: I only looked at the kernel tree up to version 5.10 since this is the version OpenWrt currently backports its wireless drivers from. It might be well the case that newer kernel releases and OpenWrt versions will have MU-MIMO/beamforming support for other MediaTek devices as well.)

The kernel log also mentions support for mt7615 chipsets which support MU-MIMO/beamforming as well. But I couldn't find any hint as to whether those features are actually supported by the driver. But since OpenWrt developer @nbd is listed as one of the maintainers of the MediaTek kernel support, maybe he can chime in and give a more accurate assessment of the MediaTek Wave 2 wireless support in general.

4 Likes

Thank you again, for your invaluable insight for answering my question.

I will have to take more time to digest the information given, regarding about the MediaTek side.

Has anyone donate any device to Openwrt for researching
how good does Beamforming + MU-MIMO perform in real life?

Badly. "3DTV of WiFi"

2 Likes

So you are saying: MU-MIMO is a fad /hype?

The link given shown the information was back in 2017, is it still suffers the current drawbacks?
Those were the early days when the 1st MU-MIMO introduced into Wave2 802.11AC routers.
I mean, I hope they have sorted out the problem in 802.11AX routers. :slightly_smiling_face:

Interesting to note however - Apple still doesn't do MU on their 802.11ac/ax clients, and that says much about their thoughts.

https://www.snbforums.com/threads/why-you-dont-need-mu-mimo.41716/post-689010

If that's true it adds another one to the many ifs and ifnots on the client and router side adding to the problem of closed/open source drivers for the chipsets (and perhaps revision number of the chipsets ;- )

So you are suggesting don't pursue in the path of getting the "truth" because there will never be revealed
since the drivers are closed source - firmware blob?

As a OpenWrt user, take it as it is.........don't expect answer, because the truth is something that is out there (floating)

You cannot enjoy the full features of Beamforming + MU-MIMO. -> Accept it as a fact.
It is a grey area. Like Area 52 in US. :grin:

MU-MIMO seems to (kind off) work as long as you are using narrow (as in 20MHz) channels and have a lot of clients.

Basically, a typical business 5GHz installations with multiple AP's and channel reuse might actually have some gains. Especially if they can control the device hardware.

For a home user with two-three devices streaming Netflix over wide channels, not so much.

I am assuming you are talking about MU-MIMO in OpenWRTed based routers? Or MU-MIMO in modern AX routers not running with OpenWRT firmware?

I am talking about .ac implementation in wave 2 devices. Whether it is OpenWRT or stock does not really matter, as it mostly function of WiFi firmware. Unless you are rolling enterprise .ac multi-AP OpenWRT WLAN network with 20MHz (reused) channels, you can as well ignore MU-MIMO. It will not improve your typical Youtube stream at home.

There are very few .ax capable OpenWRT devices and there are no meaningfull penetration of .ax gear in business space (where MU-MIMO theoretical gains can be fully utilized) so there are no benchmarks as yet. So we do not know yet if it is doing any meaninful difference.

1 Like

No, not at all. If you or anyone is willing to setup a valid test environment with choosen router and clients you can measure some usefull data regardless if it is closed or open source. Until then no good facts are available e.g. the linked Small Net Builders test with a number of clients set to 50-60 isn't very helpfull nor typical for average home users.