WiFi 5GHz Speed Issue - RX and TX Speeds Not Matching (433/866 Mbps)

Hello everyone,

Router : Mikrotik HAP AC3

I'm experiencing an issue with my WiFi speed on the 5GHz band. Specifically, my RX and TX rates are not matching. Here's a breakdown of the situation:

  • When connected with my iPhone 14 Pro, I get an RX speed of 866 Mbps (upload) and a TX speed of 433 Mbps (download).
  • When I connect using my MSI B760 Gaming Plus WiFi (Wi-Fi 6E 802.11ax) on my computer, both the RX and TX are locked at 433 Mbps.

Ideally, I was expecting to achieve 866 Mbps in both directions, but for some reason, my download speed seems capped at 433 Mbps.

Has anyone experienced this issue before or have any suggestions for troubleshooting? I’ve attached a picture showing the speed discrepancy on my iPhone for reference.

Thanks for any help or advice!
Screenshot 2024-10-08 193317

ubus call system board

        "kernel": "5.15.162",
        "hostname": "DooMWRT",
        "system": "ARMv7 Processor rev 5 (v7l)",
        "model": "MikroTik hAP ac3",
        "board_name": "mikrotik,hap-ac3",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "23.05.4",
                "revision": "r24012-d8dd03c46f",
                "target": "ipq40xx/mikrotik",
                "description": "OpenWrt 23.05.4 r24012-d8dd03c46f"

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'
        option ula_prefix 'fdae:794b:a06b::/48'
        option packet_steering '1'

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

config device
        option name 'lan1'
        option macaddr '18:fd:74:2f:a2:85'

config device
        option name 'lan2'
        option macaddr '18:fd:74:2f:a2:85'

config device
        option name 'lan3'
        option macaddr '18:fd:74:2f:a2:85'

config device
        option name 'lan4'
        option macaddr '18:fd:74:2f:a2:85'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.169.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '192.168.100.1'

config device
        option name 'wan'
        option macaddr '18:fd:74:2f:a2:84'

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

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

cat /etc/config/wireless

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

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/a800000.wifi'
        option channel '48'
        option band '5g'
        option htmode 'VHT80'
        option cell_density '0'
        option txpower '10'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'DooM-5G-OWrt'
        option encryption 'sae-mixed'
        option key '1234'

config wifi-iface 'wifinet1'
        option device 'radio0'
        option mode 'ap'
        option ssid 'DooM-2G-OWrt'
        option encryption 'sae-mixed'
        option key '1234'
        option network 'lan'

cat /etc/config/dhcp:

config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option filterwin2k '0'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option nonegcache '0'
        option cachesize '1000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'
        option ednspacket_max '1232'
        option filter_aaaa '0'
        option filter_a '0'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

cat /etc/config/firewall:

config defaults
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option synflood_protect '1'
        option flow_offloading '1'
        option flow_offloading_hw '1'

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

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

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 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'

TX wont go over 433.3 Mbit/s on any devices.

You need two streams to achieve 866. In the screenshot you have most of them at NSS 1. Are all the devices and router 2x2 capable?

sysupgrade to 23.05.5,

23.05.4 has a defect where some/all clients get stuck in NSS1 ie single-antenna mode. No config workaround possible, 23.05.3 was better, .5 is good again

1 Like

Yes, the Mikrotik hAP ac³ is a 2x2 MIMO
The iPhone 14 Pro and MSI B760 Gaming Plus WiFi (Wi-Fi 6E 802.11ax is equipped with 2x2 MIMO technology as well

can you link me to the sysupgrade for HAP ac3 (23.05.5).
Found it!

So 0.3 is best or 0.5?


Ty Mate ! RX and TX Fixed. but download speed its still low

i got 1GB FTTH service and its fixed on LAN.

Get automatic channel for yout country, in principle you should be able to go past 1/2 of link speed indicated, but not much more. You need more antennas then you will drain your internet wirelessly too.

1 Like

Nothing changed after setting the channel to Auto and selecting the country as IR.

Also Before upgrading to version 0.5, the upload speed was around 450-503 Mbps, but now it has dropped


Here is a screenshot of before upgrading.

Shuffle between -ct and non-ct ath10k firmware+driver (dont touch board data, oter 2 packages need to go in sync)

1 Like

ALR, Found it, CT was installed, now im using non CT

First i removed -ct version
then i installed non ct

Download Speed and ping improved a little bit
Upload did not changed.

Do i need to change these settings ?:
-Software flow offloading
-Packet Steering

Those may help if CPU is loaded 100% (check htop) under present network load.

1 Like

Is there any way I can increase or boost the speeds?
As I mentioned before the sysupgrade, the upload speed was around 500 Mbps. Is it possible to get both upload and download speeds over 500 Mbps?
@brada4
@psherman
@badulesia

I dont know what is the bottleneck now, but there is one as you observe.