160MHz AC WiFi performance

Is anyone able to use a 160mhz channel width on their AC WiFi using Openwrt? I am currently using a 21.02 snapshot image. I am able to select 160mhz Width and iw on the router is telling me it´s actually running with a 160mhz channel width as well. Connecting to this AP with my AX200 based laptop also correctly tells me it´s running in 160mhz mode. However, I am running into some issues with it:

  1. Despite telling me it´s running at 160mhz, both the laptop (2x2) and the AP (4x4) report a 866 Mb/s link rate at a ~1m distance to the router. I am getting the same linkrate at MSC 9 with a 80mhz channel width. I should be getting 1700 Mb/s.
  2. Packet loss is up, and throughput is down when using a 160mhz channel width on the laptop. Since the 160mhz connection doesn´t seem to be working right (no increase in link rate), this isn´t super weird. The weird thing, however, is that performance is also down on devices that aren´t even capable of 160mhz. AFAIK, running a 160mhz width should NOT affect performance of devices that will connect at 80 width.

For your reference, I am running a Xiaomi Mi Router AC2100 router (mt7615 based device). Has anyone gotten 160mhz to work correctly, and if so, what hardware were they using? Thank you very much in advance for the information!

You will never ever reach those figures.
They're paper products, theoretical values or lab results, at best.

1700 would be bi-directional.
You can never achieve more the 1gbit, in a single direction, since you have gbit ethernet ports.

What real world values are you getting ?

I understand that, I am talking about link rates. ie, the rate which the rate control algorithm selects. A 2x2 antenna at MSC 9 with a 160mhz channel width should result in a link rate of 1700 Mb/s. I am getting 866 Mb/s, regardless of channel width. In both cases the actual goodput should of course be WAY below those theoretical maximums, but that doesn´t mean the link rates shouldn´t reflect the rates the setup is capable of.

For your reference, quick iperf3 test (tcp traffic):

160Mhz:
TX: 150-200 Mb/s
RX: 300-350 Mb/s

80Mhz:
TX: 300-350 Mb/s
RX: 350-400 Mb/s

1 Like

looks like a mt76 issue - please open one if there isn't one already

This is because mt7615 utilizes mac80211 rate control algorithm minstrel, which does not support 160M yet.

1 Like

Is there anywhere where I can follow the development of this algorithm, to see if 160mhz support is something that is being worked on?

https://elixir.bootlin.com/linux/v5.12-rc6/source/net/mac80211/rc80211_minstrel_ht.c#L211

1 Like