Cudy WR3000S v1 , slow upload

I have tried the Cudy WR3000S v1 as my main router but i’m suffering a very slow upload.

I’m using the newest OpenWrt 24.10.3 r28872-daca7c049b , but I have also tried 24.10.2.

On my 1gb/1gb , I only got 908mb/105mb , where I on my nanopi r5s get around 920mb/900mb.

All measurements are on a wired cable.

Any thoughts…

Thank Michael.

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:
grafik
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
2 Likes

Please add the result of https://www.waveform.com/tools/bufferbloat

and ethtool wan and ethtool lan (port you connect to)

1 Like
 ubus call system board
{
        "kernel": "6.6.104",
        "hostname": "OpenWrt",
        "system": "ARMv8 Processor rev 4",
        "model": "Cudy WR3000S v1",
        "board_name": "cudy,wr3000s-v1",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.3",
                "revision": "r28872-daca7c049b",
                "target": "mediatek/filogic",
                "description": "OpenWrt 24.10.3 r28872-daca7c049b",
                "builddate": "1758316778"
        }
}

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 'fd1e:272:889b::/48'
        option packet_steering '2'

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 ipaddr '172.16.0.41'
        option netmask '255.255.0.0'
        option ip6assign '60'
        list dns '8.8.8.8'
        list dns '1.1.1.1'

config interface 'wan'
        option device 'wan.101'
        option proto 'dhcp'
        option peerdns '0'
        list dns '208.67.222.222'
        list dns '8.8.8.8'

config interface 'wan6'
        option device 'wan.101'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'
        option norelease '1'
        option disabled '1'

config device
        option type '8021q'
        option ifname 'wan'
        option vid '101'
        option name 'wan.101'

cat /etc/config/wireless 

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

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

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

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


cat /etc/config/dhcp

config dnsmasq
        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 '1000'
        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'
        option confdir '/tmp/dnsmasq.d'
        list server '8.8.8.8'
        list server '1.1.1.1'

config dhcp 'lan'
        option interface 'lan'
        option start '193'
        option limit '40'
        option leasetime '1h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'
        option dns_service '0'
        list dhcp_option '6,208.67.222.222,8.8.8.8'

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 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option synflood_protect '1'
        option flow_offloading '0'
        option flow_offloading_hw '0'

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'

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 name 'Reject-IPv6'
        option family 'ipv6'
        option src 'wan'
        option dest '*'
        option target 'REJECT'
        option enabled '0'



disable this fw rule, it does nothing.

ethernet link parameters please?

1 Like

ethtool wan
Settings for wan:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
                                             1000baseT/Full 
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: external
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: d
        Wake-on: d
        Link detected: yes

ethtool lan1
Settings for lan1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
                                             1000baseT/Full 
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: d
        Wake-on: d
        Link detected: yes



The rule is disabled :slight_smile:

1 Like

Is it windows qos reservations enabled on client (that can not be disabled without gpo)?

port status looks OK.

These test are done using ubuntu 24.4.3 , Don’t use Windows at all , If it’s what your are referring too…

1 Like

ok, check ethtool on ubuntu

then from 3 involved ifaces

ethtool -S ifaceX | grep -v :\ 0$

And from 2 systems

cat /proc/net/softnet_stat

(2nd 3rd columns should be very small or zero)

I got similar device and it does gigabit across without a hiccup, both directions at once….

Hi michaelvv

Check your network cable too...

I have a similar problem, ethtool says that all is allright...

One cable are bad... and the problem was intermittent.

Cables is fine.. I have used my nanopi r5s this morning with sufficient upload speed…

1 Like
openwrt

cat /proc/net/softnet_stat

01041171 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00002096 00000000 00000000 00000000 00000000 00000000
018a88a9 00000000 00000a57 00000000 00000000 00000000 00000000 00000000 00000000 001f2901 00000000 00000000 00000001 00000000 00000000

ubuntu

sudo cat /proc/net/softnet_stat 

014cef4c 00000000 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00009528 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001 00000000 00000000
000276a7 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002 00000000 00000000
0001172c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000003 00000000 00000000
00017cac 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000004 00000000 00000000
00003fd5 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000005 00000000 00000000
00016817 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000006 00000000 00000000
000058e5 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007 00000000 00000000
0000f53f 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000008 00000000 00000000
0000395b 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000009 00000000 00000000
000201ab 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000000a 00000000 00000000
0004fcc5 00000000 0000003b 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000000b 00000000 00000000

openwrt

 ethtool -S wan | grep -v :\ 0$
NIC statistics:
     tx_packets: 5444604
     tx_bytes: 2862570445
     rx_packets: 16446393
     rx_bytes: 23409944429
     TxUnicast: 5444551
     TxMulticast: 50
     TxBroadcast: 3
     TxPktSz64: 811415
     TxPktSz65To127: 2854002
     TxPktSz128To255: 16442
     TxPktSz256To511: 20322
     TxPktSz512To1023: 11616
     Tx1024ToMax: 1730807
     TxBytes: 2885974658
     RxDrop: 1195
     RxUnicast: 16447572
     RxMulticast: 16
     RxPktSz64: 5660
     RxPktSz65To127: 816825
     RxPktSz128To255: 45479
     RxPktSz256To511: 25010
     RxPktSz512To1023: 46417
     RxPktSz1024ToMax: 15508197
     RxBytes: 23477548791
     RxIngressDrop: 1195

ethtool -S lan1 | grep -v :\ 0$
NIC statistics:
     tx_packets: 17576174
     tx_bytes: 24412592780
     rx_packets: 6593404
     rx_bytes: 3912294110
     TxUnicast: 17513648
     TxMulticast: 489
     TxBroadcast: 2207
     TxPktSz64: 18930
     TxPktSz65To127: 1172309
     TxPktSz128To255: 72090
     TxPktSz256To511: 70732
     TxPktSz512To1023: 72451
     Tx1024ToMax: 16109832
     TxBytes: 24389879265
     RxDrop: 2
     RxUnicast: 6576288
     RxMulticast: 5795
     RxBroadcast: 11324
     RxPktSz64: 841128
     RxPktSz65To127: 3226620
     RxPktSz128To255: 32755
     RxPktSz256To511: 62969
     RxPktSz512To1023: 33815
     RxPktSz1024ToMax: 2396120
     RxBytes: 3938667936
     RxIngressDrop: 2

ubuntu

sudo ethtool -S enx1cfd08715acc | grep -v :\ 0$
NIC statistics:
     tx_packets: 39358170
     rx_packets: 33847158
     tx_errors: 1
     rx_missed: 5551
     rx_unicast: 33719132
     rx_broadcast: 95578
     rx_multicast: 32448


ethtools -

Few packets are dropped in “Download” test direction, that is normal background noise.

softnet (this is one of my devices, checked before noting processing asymmetry in yours :rofl: )

0103b2a1 00000000 0000000e 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
018425cf 00000000 00000011 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001 00000000 00000000

All looks fantastic, 1mm close to perfect, I am out of ideas.

Switch back to my nanopi r5s.. It’s lack some power when enabling sqm , but upload is fine again.

I’ll use my 3 cudy WR3000s as access points..

Some things I would try:

1: Not much info on how you flashed 24.10.2 or 24.10.3. To be absolutely sure, get anoher vanilla 24.10.3 image and don’t keep any settings when flashing. Start from scratch.

2: I also agree with @topsbr at bare minimum I would try 3 different cables. Maybe the Cudy just has slightly weird fault tolerances on the physical port. Have you really tried to put that bit extra pressure when clicking in?

3: You said you had 3 Cudy WR3000S. Is it the same behavior on all 3 if you follow the procedure in 1? Would rule out hardware problem unless it was a bad batch bought at the same time.

1 Like

Vanilla 24.10.3 , and I changed the cables….

The cables is nice and tight…

This is my second cudy…

Nothing really is changed from the first one…

Start with a default config. Put a computer on WAN. Set it with a static IP, so do on WAN port. Both out of LAN IPs range. Than try iperf3 tests. Goal is to get rid of ISP just in case.

1 Like
iperf3 -Z -c <server>
iperf3 -Z -R -c <server>
iperf3 -Z --bidir -c <server>
iperf3 -Z -P 2 --bidir -c <server>

get “sum” lines of each vs the browser tests.

1 download

2 upload

3 both

4 both 2 threads each.

1 Like