Internet speed issues on mt7621 soc router with unisoc wireless client

Hello all

Router is a Cudy WR2100
Client is a Blackview Tab Pro 15
Speedtest yields around 16Mbps (max) for download for this blackview device. With different devices, the results are about 10 times faster. Which are the same with this same blackview tab but in other openwrt device, namely the Xiaomi AIoT AC2350.
Other devices speeds remain as expected, either on the Cudy WR2100 or in the aforementioned xiaomi router.

So, I am here to call for help or any other way to debug further.

Thank you.

There is a warning for this device: https://openwrt.org/toh/cudy/cudy_wr2100_v1:

It is reported that the 5GHz Wi-Fi is unstable and has low performance for NSS-1 clients.

If you really want to debug this further we need more data. In particular your configuration and maybe further debug logs. First, access your device (e.g. via SSH (See how: https://openwrt.org/docs/guide-quick-start/sshadministration)) and start the command line (CLI).

Then please copy the output of the following commands and post it here using the "Preformatted text" </> button.

Remember to redact passwords, 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
1 Like

Keep in mind that Mediateks development currently focuses on newer chipsets and support for these old devices becomes rarer and rarer. You will probably have higher chances of fixing things, if you dig in there yourself instead of waiting for others to fix this. Also, maybe this is an inherent limitation of this chipset, who knows...

1 Like

@ThiloteE Hi and thank you for your answer.

I didn't answer earlier because I was in the process of diving deeper into the issue.

And unfortunately I had to take drastic measures even before your answer popped in.

Basically, the device got unresponsive to the point of needing a reset.

I can only recall that I tried to correct (at least I think so) its dns server settings that were not the ones that I wished for. (I remember that when I set this router/device up, I got to the point where I had connectivity offered alright to both its wired and wireless clients). This device is set up as a dumb AP with several VLAN. It remains now as such. But maybe I think there was something wrong with its setup.

On my local lan I have set a server for several ... well features. Including a pihole service featuring a dns filter. But this server is not the gateway for these VLAN although it serves them as a DHCP server as well. This pihole is pointing, therefore, to the actual gateway that in turn is connected to my ISP fiber gateway. This Cudy device of mine was set up in a manner that (apparently, at least) worked well with other devices but didn't play well with this other recent device, the BlackView tab that I purchased a few days back.

About three hours ago, I noticed that the Cudy dumb ap with VLAN setup was pointing its DNS settings to the aforementioned gateway, and not the actual pi-hole. When I changed these DNS settings for the Cudy router and tried to apply them I completely lost connection to it (the Cudy device). Be it wired or wirelessly. So I couldn't debug it more.

(Maybe I did something wrong to it) But what remains is that I had / have to reconfigure it from scratch. (Yes I had not made a previous configuration backup... So that's how dumb I am... :frowning: )

Now, I am still in the making of those new settings/configurations. What I can vouch for (and that doesn't contradict the warning for unstable 5G wifi connections whatsoever), is that the tests that I made with the blackview device up until now are very promising.

Let's see if by the end of the day I can say the same thing:

root@OpenWrt:~# ubus call system board
{
        "kernel": "5.10.176",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7621 ver:1 eco:3",
        "model": "Cudy WR2100",
        "board_name": "cudy,wr2100",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "22.03.5",
                "revision": "r20134-5f15225c1e",
                "target": "ramips/mt7621",
                "description": "OpenWrt 22.03.5 r20134-5f15225c1e"
        }
}

====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================

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 packet_steering '1'
        option ula_prefix '***REDACTED***'

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

config bridge-vlan
        option device 'br-lan'
        option vlan '10'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'wan'

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

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

config interface 'LAN'
        option proto 'static'
        option device 'br-lan.10'
        option ipaddr '***REDACTED***'
        option netmask '***REDACTED***'
        option gateway '***REDACTED***'
        option broadcast '***REDACTED***'
        list dns '***REDACTED***'
        list dns_search 'lan'
        option ip6assign '64'

config interface 'IoT'
        option proto 'none'
        option device 'br-lan.20'
        option force_link '1'
        list dns '***REDACTED***'
        option ip6assign '64'

config interface 'Guest'
        option proto 'none'
        option device 'br-lan.30'
        option force_link '1'
        list dns '***REDACTED***'
        option ip6assign '64'



====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================


root@OpenWrt:~# 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 channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

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

config wifi-iface 'default_radio1'
        option device 'radio1'
        option mode 'ap'
        option ssid '***REDACTED***'
        option encryption 'psk2+tkip+ccmp'
        option key '***REDACTED***'
        option network 'LAN'





====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================




root@OpenWrt:~# 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 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'

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

config dhcp 'LAN'
        option interface 'LAN'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option ignore '1'

config dhcp 'IoT'
        option interface 'IoT'
        option ignore '1'

config dhcp 'Guest'
        option interface 'Guest'
        option ignore '1'




====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================
====================================================================================================


root@OpenWrt:~# 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'

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'

root@OpenWrt:~#




That's all for now

I'll return with more news in a short while.

Thank you!

Hello again !

Unfortunately, (and as expected, as well), the issue returned.

What's strange is that the other client tested a while ago was NSS-1 as well (I think so).

Still the issues with BlackView client (an NSS-1, of course) do happen and are most proeminent.

Thank you @ThiloteE for your insights into the outstanding issue with instability with this device/chip.

See you soon!

Hmm you seem to have a complicated setup :open_mouth:

I personally have not tried the vlans feature of OpenWrt yet, so you probably know more about that than me. I will let others comment on that. Same goes for DNS settings.

What I can see is that you do net seem to have assigned your wifi to any interface. Is this your intention?
Also, you use OpenWrt v 22.03.5. If it comes to the speed problems, you could try the 23.05 rc release (but have a backup of your old config :D), since you already seem to have to reconfigure everything anyway, but before you try another verison of OpenWrt, add the countrycode to the wifi interfaces.

Hello again @ThiloteE . Thanks again for you help. When you said that I hadn't assigned my wifi to any interface I got surprised. So I looked my post above and I extracted the quote below. And, if I may ask, what do you mean by your claim that I hadn't assigned a wifi to any interface? Doesn't (default) lan, count? Maybe I overlooked something... Or maybe we both did,.. :smiley: ...

Also,

Don't worry, maybe it's a little more complicated than usual, but nothing that openwrt isn't capable of handling :blush:, because it's been able to, before, in the past, so it will most certainly in the days to come! :sunny:

Ok I'll do this.

Although I had tried that before, I mean, before having lost connectivity to the router's interface before having to reset it as said earlier, and that, back then, did not yield any noticeable effect. Still, why not give it another go, right now, so this might actually be a good 'shot '.

Also, from what I understand, the original, stock, Cudy's branded firmware, is also based on openwrt, correct? Does anybody know if these sort of issues manifest themselves there as well?

I take my leave for the moment. Thank you @ThiloteE and anyone who read until now. Feel free to hop in if you feel you can help further.

Cheers! See you soon!

:wave:

1 Like

You are right! I am sorry. I jumped to a wrong conclusion. I thought it is also necessary to bridge it with an additional bridge interface or something, but assigning the wifi to a interface/device network is all that is needed. Your option network 'LAN' should be enough. To confirm this, I checked my DumbAP's (or bridged AP) configuration on one of my devices, which is setup in following network topology:

main router ---- cable --- > OpenWrt Accesspoint (Dumb AP config) --- wifi --- > clients.

/$ 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 packet_steering '1'
	option ula_prefix 'fddb:5cf7:026c::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan'
	option ipv6 '1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ip6assign '60'
	option gateway '192.168.178.1'
	list ipaddr '192.168.178.82/24'

config device
	option name 'eth0'

Be aware, this is syntax from a snapshot build from April this year, which might be incompatible with your version of OpenWrt.

1 Like

@ThiloteE , no worries :wink:

I am about to change my topology myself. Since I do not connect that much to the current device which is performing as a router gateway (but unfortunately is not compatible with OpenWRT, since it is a Broadcom device) I am going to swap its current position with the Cudy device.

Then since the switching features of Cudy are alright, and then its wireless features will not be used so much, this might be some sort of workaround.

:wink:

@ThiloteE again, thank you for your time and help.

I'll post later on to report what I have done and the general performance of the system in terms of internet speed.

Cheers!

Hello everybody!

Finalizing this topic, at least for now.

Took much longer to post because I had to deal with another issue with the other router that I swapped positions with this Cudy one that I reported here at this present topic.

That same router, inadvertently suffered an accident and one of its ports stopped acting as a factory 1Gbps Full Duplex port. Don't have an idea why, nor have I managed to fix that unwanted situation. It did send me in spree chasing wild gooses to fix it, and in the end it didn't payoff (would it ever?).

It did delay me that's for sure.

On to the summary of the current status:

The Cudy router is now the one centralizing the switching/routing tasks inside my home network, along with traffic separation and segregation, with 3 VLAN while the other two routers, one with openwrt as well as some other with freshtomato, serving as "dumb" Access Points.

The throughput is very nice and steady, now.

So, I guess we could settle this case for now. What say ye? :wink::sunny::hugs:

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.