FRITZ!Repeater 3000 - worse throughput performance

Hi,

I try to use a FRITZ!Repeater 3000 (FR3000) as a switch between my OpenWrt router and a FRITZ!Repeater 1200 (FR1200). All devices are running on 23.05 with DSA config.
It's like router lan --> lan1 FR3000 lan2 --> FR1200 lan interface

If I connect the FR1200 directly to my router, my wifi client (macOS) gets throughput of approx. 340 Mbps (iperf3, IPv4, 4 TCP flows) connected to SSID 'LAN'.
If I connect the FR1200 to the FR3000, my wifi client (macOS) gets throughput of approx. 190 Mbps (iperf3, IPv4, 4 TCP flows) connected to SSID 'LAN'. It's the same for connecting the wifi client to FR3000 or FR1200.
But on the FR3000 or FR1200 directly (logged in via SSH and running iperf3), I still see the 340 Mbps.

As the counters do not increase on eth0 of FR3000, I assume that the packets are switched in hardware and do not go via the CPU. Changing settings like "software offload" or "packet steering" have no effect at all, I also installed irqbalance without any possible effect.

BTW, the FR3000 performance issue was also there with 22.03 (with swconfig configuration).

Config of FR3000:

cat /etc/config/network 

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'

config device
	option name 'br0'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'

config interface 'LAN'
	option proto 'dhcp'
	option device 'br0.1'

config interface 'LAN6'
	option proto 'dhcpv6'
	option device '@LAN'
	option reqaddress 'try'
	option reqprefix 'auto'
	option delegate '0'

config interface 'GUEST'
	option proto 'none'
	option device 'br0.100'

config bridge-vlan
	option device 'br0'
	option vlan '1'
	list ports 'lan1:u'
	list ports 'lan2:u'

config bridge-vlan
	option device 'br0'
	option vlan '100'
	list ports 'lan1:t'
	list ports 'lan2:t'
cat /etc/config/firewall 

config defaults
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'
cat /etc/config/wireless 

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'soc/40000000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
	option band '5g'
	option htmode 'VHT80'
	option channel 'auto'
	option cell_density '0'
	option country 'DE'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc/a000000.wifi'
	option band '2g'
	option htmode 'HT40'
	option channel 'auto'
	option cell_density '0'
	option country 'DE'

config wifi-device 'radio2'
	option type 'mac80211'
	option path 'platform/soc/a800000.wifi'
	option band '5g'
	option htmode 'VHT80'
	option channel 'auto'
	option cell_density '0'
	option country 'DE'

config wifi-iface 'wifinet0'
	option device 'radio0'
	option mode 'ap'
	option ssid 'LAN'
	option encryption 'psk2'
	option key 'key'
	option wps_pushbutton '1'
	option network 'LAN'

config wifi-iface 'wifinet1'
	option device 'radio1'
	option mode 'ap'
	option ssid 'LAN'
	option encryption 'psk2'
	option key 'key'
	option wps_pushbutton '1'
	option network 'LAN'

config wifi-iface 'wifinet2'
	option device 'radio2'
	option mode 'ap'
	option ssid 'LAN'
	option encryption 'psk2'
	option key 'key'
	option wps_pushbutton '1'
	option network 'LAN'

config wifi-iface 'wifinet3'
	option device 'radio0'
	option mode 'ap'
	option ssid 'GUEST'
	option encryption 'psk2'
	option isolate '1'
	option key 'key'
	option network 'GUEST'

config wifi-iface 'wifinet4'
	option device 'radio1'
	option mode 'ap'
	option ssid 'GUEST'
	option encryption 'psk2'
	option isolate '1'
	option key 'key'
	option network 'GUEST'

config wifi-iface 'wifinet5'
	option device 'radio2'
	option mode 'ap'
	option ssid 'GUEST'
	option encryption 'psk2'
	option isolate '1'
	option key 'key'
	option network 'GUEST'

Config of FR1200:

cat /etc/config/network 

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'

config device
	option name 'br0'
	option type 'bridge'
	list ports 'lan'

config interface 'LAN'
	option proto 'dhcp'
	option device 'br0.1'

config interface 'LAN6'
	option proto 'dhcpv6'
	option device '@LAN'
	option reqaddress 'try'
	option reqprefix 'auto'
	option delegate '0'

config interface 'GUEST'
	option proto 'none'
	option device 'br0.100'

config bridge-vlan
	option device 'br0'
	option vlan '1'
	list ports 'lan:u'

config bridge-vlan
	option device 'br0'
	option vlan '100'
	list ports 'lan:t'

Firewall config as FR3000.

cat /etc/config/wireless 

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/soc/a000000.wifi'
	option band '2g'
	option cell_density '0'
	option htmode 'HT40'
	option channel 'auto'
	option country 'DE'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option mode 'ap'
	option ssid 'LAN'
	option key 'key'
	option network 'LAN'
	option wps_pushbutton '1'
	option encryption 'psk2'
	option wpa_disable_eapol_key_retries '1'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc/a800000.wifi'
	option band '5g'
	option htmode 'VHT80'
	option channel 'auto'
	option cell_density '0'
	option country 'DE'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option mode 'ap'
	option ssid 'LAN'
	option key 'key'
	option network 'LAN'
	option encryption 'psk2'
	option wpa_disable_eapol_key_retries '1'
	option wps_pushbutton '1'

config wifi-iface 'wifinet2'
	option device 'radio0'
	option mode 'ap'
	option ssid 'GUEST'
	option encryption 'psk-mixed'
	option key 'key'
	option network 'GUEST'
	option isolate '1'

config wifi-iface 'wifinet3'
	option device 'radio1'
	option mode 'ap'
	option ssid 'GUEST'
	option encryption 'psk-mixed'
	option key 'key'
	option network 'GUEST'
	option isolate '1'

Any help is appreciated to find out the root cause. I'm out of ideas.
Thanks,
meiser

Try connecting a computer via Ethernet to the main router. Then connect another computer via Ethernet to the router and run iperf3 between those two computers.

Now, disconnect the second computer and plug in the fr1200 to the main router and the 2nd computer to the fr1200. Run the test again.

Now replace the fr1200 with the fr3000 and repeat again

Finally, set up the three devices router > fr3000 > fr1200 with your computers at the router and the fr1200 and rest iperf3 again.

Report all the results. What we are looking to understand is if there are any issues with Ethernet performance.

Also, check your cables. It is possible you have one or more bad cables that are causing the throughput to suffer.

Try connecting a computer via Ethernet to the main router. Then connect another computer via Ethernet to the router and run iperf3 between those two computers.

LAN-LAN throughput is IPv4 TCP 934Mbps.

Now, disconnect the second computer and plug in the fr1200 to the main router and the 2nd computer to the fr1200. Run the test again.

If I connect the fr1200 to the router, I can only connect via wifi to the fr1200. Then, the WAN-LAN(wifi) throughput is 340 Mbps, LAN-LAN(wifi) is 400 Mbps.

Now replace the fr1200 with the fr3000 and repeat again

If I connect the fr3000 to the router, the LAN-LAN throughput is IPv4 TCP 934 Mbps, the WAN-LAN(wifi) throughput is 190 Mbps, LAN-LAN(wifi) is 400 Mbps.

Finally, set up the three devices router > fr3000 > fr1200 with your computers at the router and the fr1200 and rest iperf3 again.

This is not clear to me. It's the chain which I described in my post. The WAN-LAN(wifi) is 190 Mbps.

Also, check your cables. It is possible you have one or more bad cables that are causing the throughput to suffer.

I already replaced all LAN cables to be sure.

Thanks a lot for your help.

Is this because you don't have enough ethernet ports?

So now that we're dealing with wifi, we know that is going to be a bandwidth bottleneck.
What is the 'wan-lan' throughput -- is that a speedtest from the internet?
I assume the 'lan-lan' is iperf3?

Now I'm getting confused...
Can you draw a network diagram, including the labels of the ports for each of the connections along the way and where each of the computers is connected.

We're trying to establish what could cause the drops in bandwidth, but now I'm seeing 3 different numbers and I'm not sure of the data path for each of the connections.

This is my topology.

openwrt-fr3000-fr1200

Any throughput test is done with iperf3. The Internet iperf3 server is a private one connected via a 10G internet uplink.
WAN-LAN throughput test is from Internet iperf3 server to LAN client.
WAN-LAN(wifi) throughput test is from Internet iperf3 server to wifi client.
LAN-LAN throughput test is from Ubuntu 22.04 laptop with iperf3 server to LAN client.

This is the setup where the laptop is connected to the FR3000 via LAN (Ethernet USB adapter):

openwrt-fr3000-lan

This is the setup where the laptop is connected to the FR1200 via wifi:

openwrt-fr1200-wifi

that assumption should get verified first.

It has 2 ports. And OpenWRT preconfigures everything with 2 or more ports as router in default config.

Did you manually reconfigure OpenWRT on it as AP or repeater? Or are you running it in default OpenWRT config?

So I just looked up the FR1200 and I see that it has just one ethernet port. Now I understand the situation.

Basically, once you're running over a wifi connection, you'll be bandwidth limited, but the FR1200 seems to achieve bandwidths of ~400Mbps

What I don't understand is why or how the FR300 causes the bandwidth to drop to just 190Mbps for the wan-lan speed test but it doesn't impact the lan-lan test at all.

I wonder if it has something to do with this:

I'd recommend resetting it to defaults and then configure it as a dumb AP and running the test that way (don't configure VLANs to start). See if it still limits the wan-lan speed test.

Did you manually reconfigure OpenWRT on it as AP or repeater? Or are you running it in default OpenWRT config?

That's a good question. How do I check if it's in AP/repeater mode? I followed this guide and disabled all not needed daemons. But this doesn't change anything in terms of throughput performance.

BTW, I checked the eth0/lan1/lan2 interface counters, they do not increase. That's why I'm quite sure that the packets don't go through the CPU.

I'd recommend resetting it to defaults and then configure it as a dumb AP and running the test that way (don't configure VLANs to start). See if it still limits the wan-lan speed test.

I reduced the config to this:

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'

config device
	option name 'br0'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'

config interface 'LAN'
	option proto 'dhcp'
	option device 'br0'

There's still no throughput improvement.

Please try resetting to defaults.

Just to let you know that factory reset hasn't changed anything. I think, it's not config related, I guess, it's a kernel issue.