Lower download speeds with 21.02.1 on WRT3200ACM

Hello,
After installing latest OpenWRT 21.02.01 on my WRT3200ACM I'm observing lower download speeds compared to 19.07.8.
Configuration and installed packages are identical on both versions.
Is there something that I'm missing ?
Speed difference of about 70mbps is consistent through many tests that I've made.

19.07.8:
image

20.02.01:
image

1 Like

Are you using SQM?

Wired or wireless?

SQM is disabled on both versions.
Radios are also disabled. Router is used only for wired connections.
Software NAT offloading is enabled on both.

Have you control over the DSA migration or have you default setup or have you reused some old configs?

Also remember that that device (actually all devices) in 21.02 only use one CPU.
With swconf you used two cpu.

1 Like

I've used only some static leases which are manually copied in config\dhcp file.
All other settings are recreated manually through luci.

I did not understand that. You're saying that by default 21.02 will use only one of my two cores ?

1 Like

Yupp, but as far as I know next major release next year will have a fix for this multi cpu usage.

It was something with the DSA that stopped multi cpu usage for 21.02.

I guess the master snapshot has multi cpu function if you really want to have it right now…

If you look at the device list under network menu you don’t have any eth2 connection which you had in 19.07. That was earlier connected to wan port.

Probably because DSA has a internal vlan architecture which result in more overhead

19.07 only use one cpu (CPU0) for ethernet as can be seen from "cat /proc/interrupts"

1 Like

To be exact it only has one cpu but two cores. And swconf moved lan and wan data to two different cpu ports.

So in other words - it is better for me to stay at 19.07 and wait for next major release if I want to use my full bandwidth ?

2 Likes

Yes, but generally 21.02 works better in other ways so it is up to you how much you miss those 70Mbit.

2 Likes

Before switching back try installing the irqbalance package and enabling it (set to 1) via 'nano /etc/config/irqbalance'. Save and reboot. Rerun the test, it might do a little better. You can check which core is being used via 'cat /proc/interrupts'.

Unfortunately the switch upstream to DSA has more overhead and generally performs a bit slower. Eventually this may improved with multi-CPU DSA driver if that ever gets worked out, but until then you may have to switch back to 19.07 branch if you want the higher performance, or install a master snapshot (better than 21.02 imo) for the latest features.

If you decide to keep the latest version, switch to a master snapshot. Just install the following packages I use and you'll be set for a while:
opkg update && opkg install luci irqbalance luci-app-advanced-reboot luci-app-sqm luci-app-adblock luci-app-upnp luci-app-wireguard luci-app-samba4 kmod-usb3 kmod-ata-marvell-sata kmod-usb-storage kmod-usb-storage-uas block-mount usbutils mount-utils luci-app-hd-idle kmod-fs-ext4 kmod-fs-exfat iperf3 nano

Dont forget to enable it via /config/irqbalance and the restart it via SSH

/etc/init.d/irqbalance restart

This is not about the CPU cores, but rather the CPU ports in use to the switch. Currently with DSA there is only one in play, but unless you have ~1G symmetric feed it will not be of much importance.

19.07:
image

21.02: without irqbalance installed

21.02 with irqbalance installed:
image

I will stick to 19.07 for now.

Irqbalance doesn't actually do any good for wrt32 but in fact just breaks the proper layout of having mwlwifi running on CPU1 and ethernet on CPU0 (with irqbalance one of the mwlwifi IRQs will end up using CPU0 instead)