I'm sharing these numbers so people can get an idea what to expect of a mixed WDS (4addr) setup. I have been running this for a while, using the 802.11bgn radio as a dedicated backhaul (a bit of a poor man's mesh, so to speak). I'm sharing these numbers to give an idea, there's no thorough or systematic testing behind this.
- It's a busy environment, lots of other radios, but 5 GHz is used for the actual clients. The clients on the receiving end of the WDS are of secondary importance. The WDS link covers maybe ~5m and goes through a wall and a wooden ceiling.
- Recent master builds with mt76 2020-12-18-4a90fdf6-2.
- Channel width is set to HT40, but not forced.
- Both x86_64 client and server connected over the wire, each on one side of the WDS. Iperf server is on the RT-AC57U side, iperf client is wired to the WDS client AP.
- Seven iperf3 runs, single stream.
Mixed setup: a mixed mt76/ath10k one
- RT-AC57U (MT7603EN 2x2:2 radio) as WDS AP.
- EA6350v3 (ath10k 2x2:2 radio) as a WDS client.
Note the EA6350v3 802.11bgn radio had issues earlier on, not sure if these have been solved by now. Number of retries is quite high (surely a lot higher than with the full MT76 setup).
Maximum attained speed: 55,5 Mbps.
Full log with final receiver/sender numbers
test-single-ath10k-1.log-[ ID] Interval Transfer Bitrate Retr
test-single-ath10k-1.log:[ 6] 0.00-10.00 sec 45.3 MBytes 38.0 Mbits/sec 118 sender
test-single-ath10k-1.log:[ 6] 0.00-10.05 sec 43.1 MBytes 36.0 Mbits/sec receiver
--
test-single-ath10k-2.log-[ ID] Interval Transfer Bitrate Retr
test-single-ath10k-2.log:[ 6] 0.00-10.00 sec 25.6 MBytes 21.5 Mbits/sec 46 sender
test-single-ath10k-2.log:[ 6] 0.00-10.07 sec 23.8 MBytes 19.9 Mbits/sec receiver
--
test-single-ath10k-3.log-[ ID] Interval Transfer Bitrate Retr
test-single-ath10k-3.log:[ 5] 0.00-10.00 sec 44.2 MBytes 37.1 Mbits/sec 4 sender
test-single-ath10k-3.log:[ 5] 0.00-10.08 sec 42.4 MBytes 35.3 Mbits/sec receiver
--
test-single-ath10k-4.log-[ ID] Interval Transfer Bitrate Retr
test-single-ath10k-4.log:[ 5] 0.00-10.00 sec 41.7 MBytes 35.0 Mbits/sec 157 sender
test-single-ath10k-4.log:[ 5] 0.00-10.07 sec 40.6 MBytes 33.8 Mbits/sec receiver
--
test-single-ath10k-5.log-[ ID] Interval Transfer Bitrate Retr
test-single-ath10k-5.log:[ 5] 0.00-10.00 sec 60.3 MBytes 50.6 Mbits/sec 4 sender
test-single-ath10k-5.log:[ 5] 0.00-10.08 sec 58.9 MBytes 49.0 Mbits/sec receiver
--
test-single-ath10k-6.log-[ ID] Interval Transfer Bitrate Retr
test-single-ath10k-6.log:[ 5] 0.00-10.00 sec 66.2 MBytes 55.5 Mbits/sec 80 sender
test-single-ath10k-6.log:[ 5] 0.00-10.14 sec 64.6 MBytes 53.4 Mbits/sec receiver
--
test-single-ath10k-7.log-[ ID] Interval Transfer Bitrate Retr
test-single-ath10k-7.log:[ 5] 0.00-10.00 sec 49.9 MBytes 41.9 Mbits/sec 7 sender
test-single-ath10k-7.log:[ 5] 0.00-10.06 sec 47.5 MBytes 39.7 Mbits/sec receiver
MT76 setup #1: a full mt76 one
- RT-AC57U (MT7603EN 2x2:2 radio) as WDS AP.
- DIR-878 A1 (MT7615N 4x4:3 radio) as a WDS client.
Maximum attained speed: 100 Mbps (both directions; see details below).
Full log with final receiver/sender numbers
Desktop as client, home server as server
test-single-mt76-1.log-[ ID] Interval Transfer Bitrate Retr
test-single-mt76-1.log:[ 5] 0.00-10.00 sec 115 MBytes 96.7 Mbits/sec 6 sender
test-single-mt76-1.log:[ 5] 0.00-10.05 sec 112 MBytes 93.8 Mbits/sec receiver
--
test-single-mt76-2.log-[ ID] Interval Transfer Bitrate Retr
test-single-mt76-2.log:[ 5] 0.00-10.00 sec 117 MBytes 98.0 Mbits/sec 8 sender
test-single-mt76-2.log:[ 5] 0.00-10.05 sec 114 MBytes 95.3 Mbits/sec receiver
--
test-single-mt76-3.log-[ ID] Interval Transfer Bitrate Retr
test-single-mt76-3.log:[ 5] 0.00-10.00 sec 104 MBytes 87.0 Mbits/sec 6 sender
test-single-mt76-3.log:[ 5] 0.00-10.05 sec 100 MBytes 83.5 Mbits/sec receiver
--
test-single-mt76-4.log-[ ID] Interval Transfer Bitrate Retr
test-single-mt76-4.log:[ 5] 0.00-10.00 sec 96.1 MBytes 80.6 Mbits/sec 7 sender
test-single-mt76-4.log:[ 5] 0.00-10.05 sec 93.8 MBytes 78.3 Mbits/sec receiver
--
test-single-mt76-5.log-[ ID] Interval Transfer Bitrate Retr
test-single-mt76-5.log:[ 5] 0.00-10.00 sec 120 MBytes 100 Mbits/sec 6 sender
test-single-mt76-5.log:[ 5] 0.00-10.06 sec 117 MBytes 97.2 Mbits/sec receiver
--
test-single-mt76-6.log-[ ID] Interval Transfer Bitrate Retr
test-single-mt76-6.log:[ 5] 0.00-10.00 sec 93.8 MBytes 78.7 Mbits/sec 16 sender
test-single-mt76-6.log:[ 5] 0.00-10.04 sec 91.4 MBytes 76.4 Mbits/sec receiver
--
test-single-mt76-7.log-[ ID] Interval Transfer Bitrate Retr
test-single-mt76-7.log:[ 5] 0.00-10.00 sec 118 MBytes 99.1 Mbits/sec 6 sender
test-single-mt76-7.log:[ 5] 0.00-10.06 sec 115 MBytes 95.5 Mbits/sec receiver
Desktop as server, home server as client
This looks very similar (same maximum throughput).
mt76-2-stream-server-to-desktop-1.log-[ ID] Interval Transfer Bitrate Retr
mt76-2-stream-server-to-desktop-1.log:[ 5] 0.00-10.00 sec 116 MBytes 97.5 Mbits/sec 4 sender
mt76-2-stream-server-to-desktop-1.log-[ 5] 0.00-10.06 sec 113 MBytes 94.3 Mbits/sec receiver
--
mt76-2-stream-server-to-desktop-2.log-[ ID] Interval Transfer Bitrate Retr
mt76-2-stream-server-to-desktop-2.log:[ 5] 0.00-10.00 sec 113 MBytes 95.0 Mbits/sec 4 sender
mt76-2-stream-server-to-desktop-2.log-[ 5] 0.00-10.06 sec 111 MBytes 92.3 Mbits/sec receiver
--
mt76-2-stream-server-to-desktop-3.log-[ ID] Interval Transfer Bitrate Retr
mt76-2-stream-server-to-desktop-3.log:[ 5] 0.00-10.00 sec 116 MBytes 97.0 Mbits/sec 6 sender
mt76-2-stream-server-to-desktop-3.log-[ 5] 0.00-10.06 sec 112 MBytes 93.6 Mbits/sec receiver
--
mt76-2-stream-server-to-desktop-4.log-[ ID] Interval Transfer Bitrate Retr
mt76-2-stream-server-to-desktop-4.log:[ 5] 0.00-10.00 sec 114 MBytes 95.9 Mbits/sec 4 sender
mt76-2-stream-server-to-desktop-4.log-[ 5] 0.00-10.06 sec 112 MBytes 93.2 Mbits/sec receiver
--
mt76-2-stream-server-to-desktop-5.log-[ ID] Interval Transfer Bitrate Retr
mt76-2-stream-server-to-desktop-5.log:[ 5] 0.00-10.00 sec 114 MBytes 95.8 Mbits/sec 4 sender
mt76-2-stream-server-to-desktop-5.log-[ 5] 0.00-10.06 sec 112 MBytes 93.3 Mbits/sec receiver
--
mt76-2-stream-server-to-desktop-6.log-[ ID] Interval Transfer Bitrate Retr
mt76-2-stream-server-to-desktop-6.log:[ 5] 0.00-10.00 sec 119 MBytes 100 Mbits/sec 4 sender
mt76-2-stream-server-to-desktop-6.log-[ 5] 0.00-10.06 sec 116 MBytes 96.8 Mbits/sec receiver
MT76 setup #2: a full mt76 one with 2 MT7615N 3x3:3 radios (three-stream)
- R6800 (MT7615N 3x3:3 radio) as WDS AP.
- DIR-878 A1 (MT7615N 4x4:3 radio) as a WDS client.
The three-stream setup seems to make a tangible difference: throughput is almost double: 188 Mbps. Again, tests were run both ways but maximum attained speeds are almost identical (other way is 185 Mbps tops).
Full log with final receiver/sender numbers
Desktop as client, home server as server
mt76-3-stream-desktop-to-server-1.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-desktop-to-server-1.log:[ 5] 0.00-10.00 sec 217 MBytes 182 Mbits/sec 6 sender
mt76-3-stream-desktop-to-server-1.log-[ 5] 0.00-10.05 sec 214 MBytes 178 Mbits/sec receiver
--
mt76-3-stream-desktop-to-server-2.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-desktop-to-server-2.log:[ 5] 0.00-10.00 sec 208 MBytes 175 Mbits/sec 4 sender
mt76-3-stream-desktop-to-server-2.log-[ 5] 0.00-10.06 sec 206 MBytes 172 Mbits/sec receiver
--
mt76-3-stream-desktop-to-server-3.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-desktop-to-server-3.log:[ 5] 0.00-10.00 sec 199 MBytes 167 Mbits/sec 6 sender
mt76-3-stream-desktop-to-server-3.log-[ 5] 0.00-10.06 sec 197 MBytes 164 Mbits/sec receiver
--
mt76-3-stream-desktop-to-server-4.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-desktop-to-server-4.log:[ 5] 0.00-10.00 sec 224 MBytes 188 Mbits/sec 4 sender
mt76-3-stream-desktop-to-server-4.log-[ 5] 0.00-10.06 sec 222 MBytes 185 Mbits/sec receiver
--
mt76-3-stream-desktop-to-server-5.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-desktop-to-server-5.log:[ 5] 0.00-10.00 sec 218 MBytes 183 Mbits/sec 6 sender
mt76-3-stream-desktop-to-server-5.log-[ 5] 0.00-10.06 sec 216 MBytes 180 Mbits/sec receiver
--
mt76-3-stream-desktop-to-server-6.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-desktop-to-server-6.log:[ 5] 0.00-10.00 sec 219 MBytes 183 Mbits/sec 6 sender
mt76-3-stream-desktop-to-server-6.log-[ 5] 0.00-10.06 sec 216 MBytes 180 Mbits/sec receiver
Desktop as server, home server as client
mt76-3-stream-server-to-desktop-1.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-server-to-desktop-1.log:[ 5] 0.00-10.00 sec 211 MBytes 177 Mbits/sec 6 sender
mt76-3-stream-server-to-desktop-1.log-[ 5] 0.00-10.06 sec 208 MBytes 174 Mbits/sec receiver
--
mt76-3-stream-server-to-desktop-2.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-server-to-desktop-2.log:[ 5] 0.00-10.00 sec 209 MBytes 175 Mbits/sec 6 sender
mt76-3-stream-server-to-desktop-2.log-[ 5] 0.00-10.06 sec 206 MBytes 172 Mbits/sec receiver
--
mt76-3-stream-server-to-desktop-3.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-server-to-desktop-3.log:[ 5] 0.00-10.00 sec 216 MBytes 181 Mbits/sec 6 sender
mt76-3-stream-server-to-desktop-3.log-[ 5] 0.00-10.06 sec 212 MBytes 177 Mbits/sec receiver
--
mt76-3-stream-server-to-desktop-4.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-server-to-desktop-4.log:[ 5] 0.00-10.00 sec 207 MBytes 173 Mbits/sec 6 sender
mt76-3-stream-server-to-desktop-4.log-[ 5] 0.00-10.06 sec 204 MBytes 170 Mbits/sec receiver
--
mt76-3-stream-server-to-desktop-5.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-server-to-desktop-5.log:[ 5] 0.00-10.00 sec 213 MBytes 179 Mbits/sec 4 sender
mt76-3-stream-server-to-desktop-5.log-[ 5] 0.00-10.05 sec 210 MBytes 175 Mbits/sec receiver
--
mt76-3-stream-server-to-desktop-6.log-[ ID] Interval Transfer Bitrate Retr
mt76-3-stream-server-to-desktop-6.log:[ 5] 0.00-10.00 sec 219 MBytes 184 Mbits/sec 4 sender
mt76-3-stream-server-to-desktop-6.log-[ 5] 0.00-10.05 sec 217 MBytes 181 Mbits/sec receiver