Slow upload speeds on Archer A6 v3

Hello networking gurus!

I am using OpenWrt 21.02.2 r16495-bf0c965af0 on a TP-Link Archer A6 v3. Its a custom build I had made for compatibility with the CA model. It is connected to my building's wifi network. Download speeds are the same as on my network and the building's network, but the upload speed is significantly slower (0.1 vs 10 Mbps).
Running speedtest-netperf gives me upload speeds of approx 10 Mbps, so no problem there.
Also when I connect my laptop to a VPN, speeds improve up to approx 4 Mbps.

See contents of network/firewall/wireless below.

Can someone please tell me what I am doing wrong here? Do you need any other information to help me?

Thanks a million!

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

config globals 'globals'
	option packet_steering '1'
	option ula_prefix 'fdb6:3e9f:ef31::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option ipaddr '192.168.88.1'

config interface 'wan'
	option device 'wan'
	option proto 'dhcp'

config interface 'wan6'
	option device 'wan'
	option proto 'dhcpv6'

config interface 'wwan'
	option proto 'dhcp'
cat /etc/config/firewall

config defaults
	option syn_flood '1'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'REJECT'

config zone
	option name 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'
	list network 'lan'

config zone
	option name 'wan'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'
	list network 'wan'
	list network 'wan6'
	list network 'wwan'

config forwarding
	option src 'lan'
	option dest 'wan'

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option src_ip 'fc00::/6'
	option dest_ip 'fc00::/6'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

config rule
	option name 'Support-UDP-Traceroute'
	option src 'wan'
	option dest_port '33434:33689'
	option proto 'udp'
	option family 'ipv4'
	option target 'ACCEPT'
	option enabled '0'

config include
	option path '/etc/firewall.user'
cat /etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option band '2g'
	option htmode 'HT20'
	option cell_density '0'
	option channel '11'

config wifi-device 'radio1'
	option type 'mac80211'
	option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0'
	option band '5g'
	option htmode 'VHT80'
	option cell_density '0'
	option channel '48'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option hidden '1'
	option ssid 'xyz'
	option key 'xyz'
	option encryption 'psk2+ccmp'

config wifi-iface 'wifinet1'
	option device 'radio0'
	option mode 'sta'
	option network 'wwan'
	option ssid 'xyz'
	option encryption 'psk2'
	option key 'xyz'

config wifi-iface 'wifinet2'
	option device 'radio0'
	option mode 'ap'
	option encryption 'psk2+ccmp'
	option network 'lan'
	option hidden '1'
	option key 'xyz'
	option ssid 'xyz'

Ooops. I think I misread the speedtest-netperf results. They are indeed lower than when I connected directly to the building's Wifi, but still 10x higher than when I run a "speed test" on google from my laptop.

   Upload:   1.58 Mbps
  Latency: [in msec, 62 pings, 0.00% packet loss]
      Min:  11.175
    10pct:  14.448
   Median:  19.562
      Avg:  20.259
    90pct:  24.736
      Max:  38.600
 CPU Load: [in % busy (avg +/- std dev), 59 samples]
     cpu0:   3.5 +/-  1.4
     cpu1:   2.0 +/-  1.2
     cpu2:   2.4 +/-  1.2
     cpu3:   1.4 +/-  1.1
 Overhead: [in % used of total CPU available]

Where are you running speedtest-netperf?

no clue, sorry :sweat_smile:
The only thing I know, is that the driver still has instabilities with that wifi chip at times.

But I don't own any device with an MT7603e so I never got to experience the issues myself.
And it could still be caused by something else.

Might be relevant:
Are you using the device as a repeater or are you using it as a wifi client that forwards the network via ethernet to different devices?