WDS bridge performance issue under heavy load


I would like to ask for your help here.

In my home network there are two openwrt routers with the following configuration/topology:

Router 1, main router:
OpenWrt 22.03.5
Connected to the ONT via cable
2.4GHz: Access Point of the home devices
2.4GHz: Access Point of the guest devices
5GHz: WDS Access Point of the WDS Client (Router 2)
This router just works fine, no performance issues

Router 2, WDS client (followed this guide):
OpenWrt 22.03.3
2.4 GHz: turned off
5 GHz: WDS client as described in the guide

Desktop PC with no WLAN capabilities connected with cable to Router 2 running Windows 10.

There are two thick walls between Router 1 and 2.

Originally the Desktop PC was connected with cable to Router 1 and worked seamlessly.

The whole purpose of the above setup is to provide internet to the Desktop PC since cable connection is not possible anymore and it does not have WLAN interface.

This setup works:
From the desktop PC I can ping Router 2 and round trip time is less than 1ms
From the desktop PC I can ping Router 1 and round trip time is less than 10ms
I can browse the internet, watch youtube form the desktop PC without any issues.

Under heavy load when I ping Router 1 from the desktop PC round trip time varies between 10 and 2000ms and there are packet losses sometimes (maybe this is normal under heavy load).

Also, the download speed is very inconsistent. It spikes up to 40-60 Mbps then slowly (under 5-10 seconds) falls down to almost zero, than spikes up again and falls again repeatedly.

When I watch the traffic graph in LuCi during downloading a large amount of data I see that there are 5-10 second intervals when traffic is normal (~60-80 Mibit/s) and there are 5-10 second intervals when there is no traffic following each other. It seems that the issue is only present under heavy load.

I tried different channels and channel width combinations but got inconsistent results.

Do you have any idea what could cause this issue?


I've got an installation which is very close to yours (main router MR8300 ipq4019, AP R6220 mt7621). Link with WDS on 5Ghz. 12m between them, and a thick wall. Everything is working smoothly. I didn't made any extravaganza, just what the tutorial shown.

Which channel did you choose ?
iperf3 gives 250 Mbit/s on channel 36


I use ac, channel 36 and channel width of 40MHz on AP and ac, auto and 80MHz channel width on Client. That is currently the best combination.

May I ask which one is your AP and which one is the Client?

MR8300 as main router, R6220 as WDS client.
My devices are running with 23.05.0-rc2 but they were also working fine with 22.03.5 a few weeks ago.

Use exact same settings (channel, width) on both devices. Set country, and try the max power transmit (20 dB ?).

I'm having sta dropouts under load in wds configuration on mt7986, you may want to test on snapshot since that is where all the latest mt76 development resides.

At first it seemed perfect, but now it is slightly better:

Sorry, I don't really understand any of that. What/where is snapshot and how to test it?

Increase Beacon Interval (I set it to 1000).

Assign the radio to LAN, remove wlan. On the client, disable firewall. There is a bottleneck somehow.
How far are your devices ?

Snapshots are daily testing versions. Unless you know how to handle new features, don't use them (no luci, DSA). That being said you may want to try 23.05.0-rc2 which are only 2 weeks old. Consider to reconfigure each of your devices from scratch to handle the new features.

I think 23.05.0-rc2 is confirmed buggy for sta mesh, personally I'd wait one more day to catch the new mt76 commits in the IB snapshot.

You can add luci and luci-ssl packages to the openwrt firmware selector settings if you want to run a snapshot: https://firmware-selector.openwrt.org/

If you are a novice I'd wait until 23.05.0-rc3, which will hopefully have latest mt76 driver (commits from last few weeks haven't been merged to that branch yet).

On AP, I'm assuming? Do sta's use beacon interval?

I set it on station (read somewhere here in the forum lately).

I think it was assigned to LAN:

How to do that? This is my current firewall settings:

It is less than 10m

wlan1 seems to be the radio itself ?
My mistake.

System > startup
click on Disabled and Stop

It should work.
Last thing that I should have asked long before : what version are you running?

OpenWrt 22.03.5 on Router 1 and OpenWrt 22.03.3 on Router 2

Gets better, but still have intervals with no traffic during downloading

1 Like

I believe a large part of the problem is trying to pass wifi through 2 thick concrete walls.

  • You could try setting the distance setting to a value between 20-100meters to compensate on 802.11ac.

  • You could also try 5Ghz 802.11n: slower but better under bad conditions such as walls.

  • Best solution might be 2.4Ghz for better propagation.

  • Experiment adding a distance variable in meters to see if it improves throuput.

  • Try relocating the routers in case they are in a null or undesirable location.

I think expecting high bitrates through 2 thick concrete walls are oppositional objectives. High rates are probably crashing the radios error correction due to multipath / high attenuation never mind neighbor's routers. I think 50-100Mbps is a more realistic number.

1 Like