Large TX / RX Bitrate Difference

Is anyone else seeing this? Router is about 4 meters (13 feet) from laptop with no obstructions. Laptop card is Intel BE201.

Flint 2 (GL-MT6000) running OpenWrt 24.10.4 WED is enabled. Wireless setting on router is Width = 160 MHz.

>Windows command: netsh wlan show inter

Band   : 5 GHz
Channel: 128
Radio type : 802.11ax
Authentication : WPA2-Personal
Cipher : CCMP
Connection mode: Auto Connect
Receive rate (Mbps): 287
Transmit rate (Mbps): 2402
Signal : 90%
Rssi   : -46

>OpenWrt Command: iw dev phy1-ap0 station get '<mac>'

signal: -60 [-65, -65, -67, -65] dBm
signal avg: -60 [-64, -65, -66, -64] dBm
tx bitrate: 286.7 MBit/s HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0
rx bitrate: 2161.3 MBit/s 160MHz HE-MCS 10 HE-NSS 2 HE-GI 0 HE-DCM 0

Any help is greatly appreciated.

Power saving when nothing is transferred.
check if you can exceed that dl rate... https://www.waveform.com/tools/bufferbloat

I cannot. From Bufferbloat:

Download: 241.3 Mbps
Upload: 837.5 Mbps

1 Like

Try to boot some linux like fedora from USB drive and check again. Should be 2400 maybe 1 MCS down both ways and transferring at least half of it.

Are you thinking it might have something to do with the Window's Intel Wi-Fi drivers?

Yeah, try to upgrade them while at it.

From my iPhone 17 Pro Max

        tx bitrate:     2401.9 MBit/s 160MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0
        rx bitrate:     1441.3 MBit/s 160MHz HE-MCS 7 HE-NSS 2 HE-GI 0 HE-DCM 0

Got it ;--)
Disable WED and offloads first....

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button (red circle; this works best in the 'Markdown' composer view in the blue oval):

Screenshot 2025-10-20 at 8.14.14 PM

Remember to redact passwords, VPN keys, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall

Windows has lots of power management,

On Windows tinker with adapter settings:

  • Transmit Power to Highest.
  • Roaming Aggressiveness to Lowest.
  • Disable/enable Throughput Booster.

Power plan to high performance.

If Windows part doesn't work then try these on Openwrt:

  • Network > Wireless > Increase wireless operating frequency width to max
  • as @brada4 said, disable WED temporarily.

The output is in the order requested separated by -----.

{
	"kernel": "6.6.110",
	"hostname": "AP02",
	"system": "ARMv8 Processor rev 4",
	"model": "GL.iNet GL-MT6000",
	"board_name": "glinet,gl-mt6000",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "24.10.4",
		"revision": "r28959-29397011cc",
		"target": "mediatek/filogic",
		"description": "OpenWrt 24.10.4 r28959-29397011cc",
		"builddate": "1760891865"
	}
}

-----

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 'fd9a:534d:187c::/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'
	list ports 'lan5'
	option bridge_empty '1'

config interface 'lan'
	option device 'br-lan.10'
	option proto 'static'
	option ipaddr '192.168.10.3'
	option netmask '255.255.255.0'
	option ip6assign '60'
        option gateway '192.168.10.1'
        list dns '192.168.10.1'

config bridge-vlan
	option device 'br-lan'
	option vlan '10'
	list ports 'lan1:t'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'
	list ports 'lan5'

config bridge-vlan
	option device 'br-lan'
	option vlan '20'
	list ports 'lan1:t'

config bridge-vlan
	option device 'br-lan'
	option vlan '30'
	list ports 'lan1:t'

config interface 'guest'
	option proto 'static'
	option device 'br-lan.20'
	option ipaddr '192.168.20.3'
	option netmask '255.255.255.0'

config interface 'iot'
	option proto 'static'
	option device 'br-lan.30'
	option ipaddr '192.168.30.3'
	option netmask '255.255.255.0'

-----

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/soc/18000000.wifi'
	option band '2g'
	option channel '13'
	option htmode 'HE20'
	option cell_density '0'
	option country 'US'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'SSID01'
	option encryption 'psk2'
	option key ''

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc/18000000.wifi+1'
	option band '5g'
	option channel '128'
	option cell_density '0'
	option country 'US'
	option htmode 'HE160'

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

config wifi-iface 'wifinet2'
	option device 'radio0'
	option mode 'ap'
	option ssid 'SSID01Guest'
	option encryption 'psk2+ccmp'
	option key ''
	option network 'guest'

config wifi-iface 'wifinet3'
	option device 'radio0'
	option mode 'ap'
	option ssid 'SSID01IOT'
	option encryption 'psk2+ccmp'
	option key ''
	option network 'iot'

-----

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'
	option ignore '1'

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

-----

config defaults
	option syn_flood '1'
	option input 'REJECT'
	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'

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'

config rule
	option src 'lan'
	option name 'LAN-NTP'
	list proto 'udp'
	option dest_port '123'
	option target 'ACCEPT'

Transmit Power to Highest: already set
Roaming Aggressiveness to Lowest: will change and test
Disable/enable Throughput Booster: will change and test

Power plan to high performance: already set

Network > Wireless > Increase wireless operating frequency width to max: already set to 160 MHz

disable WED temporarily: are you and @brada4 recommending this for debugging or may it be contributing to the issue?

@brada4 and @AlanDias17

Do my iPhone results also indicate a problem?

Nope, iphone has to be static for nreamforming to stabilize. Put it on the desk and 2nd test will be better.

You are not using WED.

Correct. I disabled it as requested.

i think openwrt system log when laptop reconnecting is also needed. maybe the wifi card negotiate down the bandwidth or something ? seeing your iphone is doing just fine connecting both rx and tx at 160mhz

Can you try running iperf?
iPhone's bitrate looks fine.

-    option channel '13'
+   option channel 'auto'

I’ll make the change, but that’s 2.4 GHz. I have only been looking at the TX/RX at 5 GHz.

I think changing Windows Power Mode to “Best Performance” made a difference. I am now seeing consistent values like:

tx bitrate:     2401.9 MBit/s 160MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0
rx bitrate:     1921.5 MBit/s 160MHz HE-MCS 9 HE-NSS 2 HE-GI 0 HE-DCM 0 

iPhone sitting on my desk for the last 3 hours shows:

tx bitrate:     2401.9 MBit/s 160MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0
rx bitrate:     1441.3 MBit/s 160MHz HE-MCS 7 HE-NSS 2 HE-GI 0 HE-DCM 0