Support for Cudy WR3000

Thank you. Will add it to my script!

Updated script:

download_filename=$(basename $firmware_download_location)

if [ ! -z "$1" ]
    echo "Argument given, using ${1} for router_ip"

echo Downloading $download_filename from $firmware_download_location
curl "${firmware_download_location}" --output $download_location/$download_filename

echo Extract $firmware_filename to $download_location
tar -zxvf $download_location/$download_filename --directory $download_location $firmware_filename 

echo "scp $download_location/$firmware_filename ${ssh_connect}:${firmware_destination}"
scp $download_location/$firmware_filename ${ssh_connect}:${firmware_destination}

echo Add "options mt7915e wed_enable=Y" to /etc/modules.conf and install bridger on $router_ip
ssh ${ssh_connect} 'if ! $(grep -xq "options mt7915e wed_enable=Y" /etc/modules.conf); then echo "options mt7915e wed_enable=Y" >> /etc/modules.conf;else echo "nothing to do"; fi'
ssh ${ssh_connect} 'if ! $(grep -xq "/lib/firmware/mediatek/mt7981_wo.bin" /etc/sysupgrade.conf); then echo "/lib/firmware/mediatek/mt7981_wo.bin" >> /etc/sysupgrade.conf;else echo "nothing to do"; fi'
ssh ${ssh_connect} 'opkg update && opkg install bridger'
ssh ${ssh_connect} 'reboot'
echo "finished"

REMOVED in favor of

I am trying to run vlans with the device and having trouble to get it work with wifi interfaces. Should this work with that device or do I miss something?

After adding the software vlan to the interface, I can not get a IP via wlan. I also had the device stop working at all sometimes with that and I had to restart it.

Thank you,

The Cudy firmware has the file /lib/firmware/mediatek/mt7981_eeprom_mt7976_dbdc.bin present, but the official OpenWRT versions don't.
My firmware partition was corrupted. The Cudy versions would run (with a log message about falling back). The OpenWRT versions would not - until the file was added.
I compared the corrupt partition to a known good device & the firmware file using hexdump to make the comparision. The corrupt partition was garbage compared to the other two (which were almost identical). I don't know how the partition got corrupted, but I doubt that it was by my actions since the partition is read only.
I ended up using mdwrite to put mt7981_eeprom_mt7976_dbdc.bin onto the partition, and it works well.

1 Like

It definitely works fine:

Setup bridge device: “br-something” and attach ports (Bridge Ports) like “lan1,lan2,lan3,wan” to it. “Enable VLAN filtering” at bridge VLAN Filtering and configure your VLANs.

Once done attach Wifi SIDs to the corresponding br-something.10… interfaces.



Thanks a lot! I was able to configure... However, I had a issue with my 2.4g network which caused some devices to drop off and the router to hang with new devices.

Me too! I could narrow this down to AX mode in 2,4g. Switching to N-Mode for 2,4g fixed this issue more ore less. I observed strong delay around 1000 to 2000ms from time to time. This mostly but not totally disaapered, once switched to N-Mode or rebooted the device.

I'm curious if this fits to your issue?

I am not sure if this is really AX related, therefor I'll try to setup SQM QoS to make sure I'm not affected by buffer bloat issues. Unfortunately, there is an issue with the current snapshot. So I cannot install the package at the moment.

By the way:
Did you realize that the disk space is limited to around 5,3MiB but temp space to 120MiB. Any chance to increasing some more to the disk?


Yeah. Type of... I still stick with the AX setup. It is just one client which is currently having trouble with - and the device is now running okay. I had a mixure from bad wifi channel and too many APs around me. On top of that was a restrictive dawn config.

I have a similar disk layout on my devices. However, I would expect that you can adjust this if necessary. Do you like to install more packages?

Well, something is suspicious. I'll keep my eyes open.

Currently, I just use the Cudy as dump AC. May be it is a psychological problem. But it feels tight for a router use case.

The mt7981_wo.bin you are downloading there has in the meantime already been submitted to linux-firmware and is packaged in OpenWrt as mt7981-wo-firmware. So no need to mess around manually downloading things from MTK any more, just install package mt7981-wo-firmware and be done.


Thank you Daniel for the heads up!

Hello everyone, I cannot run my device at 160 mhz in wifi ax mode. When I set the channel to automatic, the ssid is broadcast, but when I select a 160 mhz channel, the ssid stops broadcasting. Can someone help me? I am a beginner user

Are there any hints about this in the log?
On shell, just use logread

This channel withing the dfs ports. Is there a hint, that a radar or a neighbor is within range? Can you bump up to the higher channels within the no outdoor range?

For somewhat reason package WO firmware wasn't included by default in WR3000 image after introducing mt7981-wo-firmware package
Please review this PR If You tested wireless offload feature. Next trunk and 23.05 will benefit this change.

4 posts were split to a new topic: Supporting the Cudy TR3000 in OpenWrt

What am I doing wrong? I have a 1Gb network, achieving around 700-800Mb/s on the original firmware via WiFi. On OpenWrt, it's 400-500Mb/s. AX, Channel 100, 160 MHz. Full speed on Ethernet.

Did you try 80 MHz?

yes, no difference.