Download Speed Goes Down After Using Openwrt

Doesn't know if it's related the openwrt or not but ever since I Installed openwrt, my download speed kind of drop down for some reason. The speedtest shows i am still able to reach 100+ Mbps. But if I download anything from Google drive or anywhere my download speed just limited at 4 MB/s.

I have checked the router ram usage and cpu load looks normal.

The speed went above 10 MB/s then goes down to 3 MB/s. Before openwrt I can download 12 MB/s just fine.

How do you connect to your ISP and:

Mainly Wifi, but i also have LAN connected to PC, have the same problem.

BusyBox v1.36.1 (2024-02-21 19:17:25 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r25429-7617d60301
 -----------------------------------------------------
root@OpenWrt:~# ubus call system board
{
        "kernel": "6.1.78",
        "hostname": "OpenWrt",
        "system": "ARMv8 Processor rev 4",
        "model": "Xiaomi AX3600",
        "board_name": "xiaomi,ax3600",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r25429-7617d60301",
                "target": "qualcommax/ipq807x",
                "description": "OpenWrt SNAPSHOT r25429-7617d60301"
        }
}
root@OpenWrt:~# 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 'fd20:4960:35a4::/48'

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

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

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

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

config device
        option name 'wan'
        option macaddr '*******'

root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'soc/20000000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
        option channel '36'
        option band '5g'
        option htmode 'VHT80'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'
        option disabled '1'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/c000000.wifi'
        option channel '36'
        option band '5g'
        option htmode 'HE160'
        option disabled '0'
        option country 'US'
        option cell_density '0'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'Wifi_5G'
        option encryption 'psk2'
        option key '*****'

config wifi-device 'radio2'
        option type 'mac80211'
        option path 'platform/soc/c000000.wifi+1'
        option channel 'auto'
        option band '2g'
        option htmode 'HE20'
        option disabled '0'
        option country 'US'
        option cell_density '0'

config wifi-iface 'default_radio2'
        option device 'radio2'
        option network 'lan'
        option mode 'ap'
        option ssid 'Wifi'
        option encryption 'psk2'
        option key '*****'

root@OpenWrt:~# cat /etc/config/dhcp

config dnsmasq
  option noresolv '1'
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option cachesize '10000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option localservice '1'
        option ednspacket_max '1232'
        list server '/mask.icloud.com/'
        list server '/mask-h2.icloud.com/'
        list server '/use-application-dns.net/'
        list server '127.0.0.1#5053'
        list server '127.0.0.1#5054'
        option doh_backup_noresolv '1'
        list doh_backup_server '127.0.0.53'
        list doh_server '127.0.0.1#5053'
        list doh_server '127.0.0.1#5054'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        option ra_slaac '1'
        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'

root@OpenWrt:~# cat /etc/config/firewall

config defaults
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option fullcone '1'
        option fullcone6 '0'
        option synflood_protect '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'

config include 'qcanssecm'
        option type 'script'
        option path '/etc/firewall.d/qca-nss-ecm'

root@OpenWrt:~#

I apologzie for not being more specific:
Cable, fiber,adsl, wireless..

How do you connect to the internet?

And what device gets internet directly with a public address?

So, some sites download a 100Mbps, while others download at 4MB/s, is that right? First thing I would look into is IPv4 vs IPv6: try to disable WAN6, and check the speeds again.

Fiber -> ISP's router (Bridge mode) -> My Router (Clone MAC Adress)

1 Like

Do you have any device specific VPN you can enable and then try to download from Google?

The only thing I would change in your config is the 160width. I'd bring it down to 80 (for many reasons) but since you have the same slowdown on ethernet it cannot be the problem.

I'm thinking you are getting throttled.

And please run a speed test both wired and Wi-Fi from... ...whomever you prefer and post both results.

Do you have any device specific VPN you can enable and then try to download from Google?

Yes, i tried VPN and still the same.

LAN

.\iperf3.exe -c 192.168.1.1 -R -t 20
Connecting to host 192.168.1.1, port 5201
Reverse mode, remote host 192.168.1.1 is sending
[  4] local 192.168.1.230 port 59983 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  73.7 MBytes   618 Mbits/sec
[  4]   1.00-2.00   sec  74.2 MBytes   623 Mbits/sec
[  4]   2.00-3.00   sec  77.7 MBytes   651 Mbits/sec
[  4]   3.00-4.00   sec  77.1 MBytes   647 Mbits/sec
[  4]   4.00-5.00   sec  77.4 MBytes   649 Mbits/sec
[  4]   5.00-6.00   sec  77.5 MBytes   650 Mbits/sec
[  4]   6.00-7.00   sec  79.4 MBytes   666 Mbits/sec
[  4]   7.00-8.00   sec  76.5 MBytes   641 Mbits/sec
[  4]   8.00-9.00   sec  75.7 MBytes   635 Mbits/sec
[  4]   9.00-10.00  sec  76.6 MBytes   642 Mbits/sec
[  4]  10.00-11.00  sec  74.5 MBytes   625 Mbits/sec
[  4]  11.00-12.00  sec  78.0 MBytes   655 Mbits/sec
[  4]  12.00-13.00  sec  75.9 MBytes   636 Mbits/sec
[  4]  13.00-14.00  sec  75.3 MBytes   632 Mbits/sec
[  4]  14.00-15.00  sec  75.1 MBytes   630 Mbits/sec
[  4]  15.00-16.00  sec  75.6 MBytes   634 Mbits/sec
[  4]  16.00-17.00  sec  78.3 MBytes   656 Mbits/sec
[  4]  17.00-18.00  sec  77.0 MBytes   646 Mbits/sec
[  4]  18.00-19.00  sec  75.4 MBytes   633 Mbits/sec
[  4]  19.00-20.00  sec  77.0 MBytes   646 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-20.00  sec  1.49 GBytes   641 Mbits/sec    0             sender
[  4]   0.00-20.00  sec  1.49 GBytes   641 Mbits/sec                  receiver

 .\iperf3.exe -c 192.168.1.1 -t 20
Connecting to host 192.168.1.1, port 5201
[  4] local 192.168.1.230 port 60010 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  89.1 MBytes   747 Mbits/sec
[  4]   1.00-2.00   sec  88.5 MBytes   743 Mbits/sec
[  4]   2.00-3.00   sec  88.9 MBytes   745 Mbits/sec
[  4]   3.00-4.00   sec  88.2 MBytes   740 Mbits/sec
[  4]   4.00-5.00   sec  88.6 MBytes   743 Mbits/sec
[  4]   5.00-6.00   sec  88.6 MBytes   743 Mbits/sec
[  4]   6.00-7.00   sec  88.9 MBytes   746 Mbits/sec
[  4]   7.00-8.00   sec  88.6 MBytes   743 Mbits/sec
[  4]   8.00-9.00   sec  88.4 MBytes   742 Mbits/sec
[  4]   9.00-10.00  sec  88.4 MBytes   741 Mbits/sec
[  4]  10.00-11.00  sec  88.4 MBytes   741 Mbits/sec
[  4]  11.00-12.00  sec  88.5 MBytes   742 Mbits/sec
[  4]  12.00-13.00  sec  88.4 MBytes   741 Mbits/sec
[  4]  13.00-14.00  sec  88.1 MBytes   740 Mbits/sec
[  4]  14.00-15.00  sec  88.5 MBytes   742 Mbits/sec
[  4]  15.00-16.00  sec  88.6 MBytes   743 Mbits/sec
[  4]  16.00-17.00  sec  88.2 MBytes   740 Mbits/sec
[  4]  17.00-18.00  sec  88.5 MBytes   742 Mbits/sec
[  4]  18.00-19.00  sec  88.1 MBytes   740 Mbits/sec
[  4]  19.00-20.00  sec  88.6 MBytes   742 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-20.00  sec  1.73 GBytes   742 Mbits/sec                  sender
[  4]   0.00-20.00  sec  1.73 GBytes   742 Mbits/sec                  receiver

Wifi 5 Ghz 160Mhz

.\iperf3.exe -c 192.168.1.1 -R -t 20
Connecting to host 192.168.1.1, port 5201
Reverse mode, remote host 192.168.1.1 is sending
[  4] local 192.168.1.199 port 59647 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  33.4 MBytes   280 Mbits/sec
[  4]   1.00-2.00   sec  36.2 MBytes   304 Mbits/sec
[  4]   2.00-3.00   sec  35.0 MBytes   294 Mbits/sec
[  4]   3.00-4.00   sec  38.2 MBytes   320 Mbits/sec
[  4]   4.00-5.00   sec  38.2 MBytes   321 Mbits/sec
[  4]   5.00-6.00   sec  36.0 MBytes   302 Mbits/sec
[  4]   6.00-7.00   sec  37.5 MBytes   314 Mbits/sec
[  4]   7.00-8.00   sec  37.8 MBytes   317 Mbits/sec
[  4]   8.00-9.00   sec  36.0 MBytes   302 Mbits/sec
[  4]   9.00-10.00  sec  36.8 MBytes   309 Mbits/sec
[  4]  10.00-11.00  sec  37.3 MBytes   313 Mbits/sec
[  4]  11.00-12.00  sec  36.6 MBytes   307 Mbits/sec
[  4]  12.00-13.00  sec  36.5 MBytes   306 Mbits/sec
[  4]  13.00-14.00  sec  36.3 MBytes   305 Mbits/sec
[  4]  14.00-15.00  sec  36.9 MBytes   310 Mbits/sec
[  4]  15.00-16.00  sec  36.7 MBytes   308 Mbits/sec
[  4]  16.00-17.00  sec  36.7 MBytes   308 Mbits/sec
[  4]  17.00-18.00  sec  37.0 MBytes   310 Mbits/sec
[  4]  18.00-19.00  sec  36.2 MBytes   304 Mbits/sec
[  4]  19.00-20.00  sec  36.4 MBytes   305 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-20.00  sec   733 MBytes   307 Mbits/sec    0             sender
[  4]   0.00-20.00  sec   732 MBytes   307 Mbits/sec                  receiver

.\iperf3.exe -c 192.168.1.1 -t 20
Connecting to host 192.168.1.1, port 5201
[  4] local 192.168.1.199 port 59660 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  48.0 MBytes   401 Mbits/sec
[  4]   1.00-2.00   sec  49.2 MBytes   414 Mbits/sec
[  4]   2.00-3.00   sec  51.4 MBytes   431 Mbits/sec
[  4]   3.00-4.00   sec  46.4 MBytes   388 Mbits/sec
[  4]   4.00-5.00   sec  45.2 MBytes   381 Mbits/sec
[  4]   5.00-6.01   sec  21.6 MBytes   181 Mbits/sec
[  4]   6.01-7.01   sec  12.0 MBytes   101 Mbits/sec
[  4]   7.01-8.00   sec  38.1 MBytes   321 Mbits/sec
[  4]   8.00-9.00   sec  52.2 MBytes   438 Mbits/sec
[  4]   9.00-10.00  sec  52.4 MBytes   439 Mbits/sec
[  4]  10.00-11.00  sec  54.1 MBytes   454 Mbits/sec
[  4]  11.00-12.00  sec  55.4 MBytes   466 Mbits/sec
[  4]  12.00-13.00  sec  52.4 MBytes   438 Mbits/sec
[  4]  13.00-14.00  sec  53.1 MBytes   447 Mbits/sec
[  4]  14.00-15.00  sec  51.4 MBytes   430 Mbits/sec
[  4]  15.00-16.00  sec  50.2 MBytes   422 Mbits/sec
[  4]  16.00-17.00  sec  47.0 MBytes   395 Mbits/sec
[  4]  17.00-18.01  sec  51.1 MBytes   427 Mbits/sec
[  4]  18.01-19.00  sec  49.6 MBytes   418 Mbits/sec
[  4]  19.00-20.00  sec  51.1 MBytes   429 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-20.00  sec   932 MBytes   391 Mbits/sec                  sender
[  4]   0.00-20.00  sec   932 MBytes   391 Mbits/sec                  receiver

When downloading the speed is limited to 4MB/s but I don't see increasing latency. It's some sort of QoS which is strange cause I don't have QoS in my openwrt. I think somehow my OpenWRT throttle my bandwidth to improve bufferfloat?

Tried disabling WAN6, still the same.

No need to worry about that. You would have to set it up.

We are going to try @eduperez's idea and shut down IPv6 by going to Network/Interfaces/Devices->configure.

Edit every device by going to the bottom of the General device options and disabling IPv6.

lol, the timing..

How did you disable IPv6?

Deleting WAN6 in network interface and disable this also did it on lan too.
image

On the Status page of LuCI (the main page) how many devices have IPv6?

And please go here and post the results but remove anything personally identifiable.

0

My ISP doesn't even use ipv6 yet.

The DNS Leak Test is a tool used to determine which DNS servers your browser is using to resolve domain names. This test attempts to resolve 50 randomly generated domain names, of which 25 are IPv4-only and 25 are IPv6-only.

Yeah, I don't know how they get IPv6 DNS lookups but my IPv6 is shut down at the router and I get the same results. I was just looking for something irregular.

Please use LuCi's Status/Realtime Graphs/Traffic eth0 (I'm assuming that is you wan port) and keep that page open and download from Google. See if the traffic in the router matches what is sent to the lan.

Because it's your DNS server that has IPv6 Internet access not yours. The test shows your ipv6 of your DNS server not your Internet. Your DNS server is able to receive the address of the ipv6 website. DNS server is just simply giving you the address of the website not for actually accessing a site. But you can't connect because you don't have ipv6.

DNS Resolver - getting IPv6 results when there is no IPv6? | Netgate Forum

Please use LuCi's Status/Realtime Graphs/Traffic eth0 (I'm assuming that is you wan port) and keep that page open and download from Google. See if the traffic in the router matches what is sent to the lan.

Can confirm i have plugged my pc to the ISP router and i have the same result. But my ISP claim that they don't throttle tho. It's not the OpenWRT. Although it could be the cable issue first time i plugged it was registered as 100 Mb cable not 1 Gb, but it got recognized as 1 Gb after i replugged it again.

I've had that happen on factory made cables.