I am sending this simply to inform you that there is a V2.0 of the Cudy WR1300 router. This new version is externally identical to the previous one only that no longer brings the USB 3.0 port.
In this new version it is impossible (as of today) to install OpenWRT. The method described here for V1.0 does not work. It indicates that the firmware is not compatible and won't let you upgrade.
I have sent an email to Cudy technical support to see if they say anything about this issue or if they simply have a new image that supports this version. I will let you know if they answer or not (so far I have only had silence and I sent the email to support yesterday).
However, I think it would be interesting to put a notice about this on the router page. Indicating that for now V2.0 is not supported.
If you want me to do some test or send a picture, let me know.
Is it possible that you have router version 1.0, does your router have a USB port?
If you upload the file somewhere and pass me the link I can try to see if it works. But I find it strange that you have been sent a firmware and I am told that v2.0 is not compatible with OpenWRT.
This case is different, the incompatibility is artificial, not by nature or by bug.
According to the device trees in Cudy's latest firmware images the two models are mostly identical. In addition to the missing USB port and missing or unused USB LED, v2 has the WPS button on a different GPIO pin and it has a different "model" string, "R10" on v1, "R23" on v2.
The non-matching model string is probably the reason why the V2 device does not accept V1 firmware, even though it would most probably work, except for the WPS button.
It might be possible to trick the updater by editing the model string in the firmware binary, but there are probably checksums that would also have to be adjusted and the firmware might even be signed by Cudy.
In the latter case the only chances to get OpenWrt to the device would be either an intermediate OpenWrt image from Cudy like the one they provided for v1, or directly writing the U-Boot part of their v1 OpenWrt image to the flash and then flash OpenWrt using the serial console.
Yes, for now surely the only method that could be used to install OpenWRT would be to directly write the U-Boot as you comment. But this would require opening the device to make a serial connection to it which would prevent me from returning it in case I couldn't get it to work.
I don't know if the people at Cudy are planning to release their version of OpenWRT later for the 2.0 version of the router, but for now their answer is no.
Personally, what I am looking for is something that I can update comfortably without having to open it or having to go around with serial consoles. So I think I will look for another model.
On the other hand I think the change they have made to the 2.0 version is a step backwards, they have removed a functional USB 3.0 port to not make any improvement and continue selling it at the same price.
Just ask them if they have plans to release a "step stone" OpenWrt image for v2 as well. So far they have always replied to my emails, although the answer wasn't always helpful and sometimes it was needed to insist and rephrase the question to get a better answer.
The firmware image appears to be a linear dump of the flash up to the size of the image with the factory partition obviously being skipped when writing to the flash.
"R10" and "R23" appear once within the U-Boot partition, then around offset 0x50000 in the uImage header, and in a JSON string right at the end of the image. I guess the web updater checks the latter for compatibility. That block does not seem to contain a checksum, but it might be part of the uImage and require adjusting checksums there when it gets changed.
I have asked them to tell me about their future plans, but I am not very hopeful. Besides, I understand that in order not to make a commitment they will not tell you an exact date, so you can be waiting indefinitely for something that never arrives.
I can try to change the strings in the firmware to see if it passes validation, but I don't know how to do it, if you give me a hand I could try.
I have heard back from Cudy support about their future plans, so it seems they are completely ruling out offering OpenWRT.
Dear Customer,
Yes, you are correct. Only the X6, WR1300, WR2100 old version support the OpenWRT. As you can see, we also remove the page of OpenWRT.
Best regards,
Cudy Team
I have already requested a refund from Amazon because obviously I don't want a brick.
I think that someone responsible should modify all the notes regarding this model to clearly indicate that only the V1 is compatible with OpenWRT and so that if someone is thinking of buying it check that they find the correct version.
Finally apparently from Cudy they have realized their mistake and have decided to release their version of OpenWRT for the V2 and even apparently for a V3:
Dear Customer,
Recently, we received much feedback about the demands of the OpenWRT firmware of WR1300 Version 2. So we released a OpenWRT firmware for it yesterday. I remeber you need it and if you still need now, you can kindly have a try:
Too bad I returned mine, but well, I'm going to buy it again because right now it's the best value for money option. I'll let you know when I get it (again).
However, the official OpenWRT firmware is a different story. If I go into the System -> LED Configuration section, the system hangs. The WiFi does not work and gives this error in the dmesg.
I compared the device trees between the Cudy OpenWrt images for the two device revisions, and I can see some differences in the GPIO assignment for Buttons, LEDs and the PCIe interface to the WiFi chip. Also, the SPI flash is run at a much higher frequency by OpenWrt than in Cudy's V2 image, which has already been identified as problematic with some V1 devices.
This all would explain why you run into trouble with LEDs and WiFi, and it means that OpenWrt needs to be patched to support the new device revision.
Yes, I have already built a new version of OpenWrt for this v2. I have added a merge request with the changes.
As for the SPI flash, I have verified that in my v2 it works correctly by setting the same value as in v1. However, I have seen that some people have had problems with v1 having such a high frequency, but I have not been able to reproduce that error.
On the other hand, wifi chips are different:
V1: MediaTek MT7603E, MediaTek MT7612E.
v2: MediaTek MT7603E, MediaTek MT7613BE
That's why wifi doesn't work if you use v1 firmware.
Not sure if the decision to go with 80 MHz for SPI speed should be based on a single device that has run stable for a relatively short time. This has already shown to be not sufficient for V1 where it depends on the flash chip type and/or temperature of the SoC whether or not it runs stable at 80 MHz. I'd rather go with a lower speed by default (e.g. 40 MHz) to be on the safe side and ask some users to test it at 80 for a longer period of time, and only consider increasing the default it if none of the testers found any problems.
BTW, which type of flash chip is there in your V2 device?
Thanks for the merge request. I'd like to review it but running into problems. I compiled an image based on 22.03.2 with your changes without errors. Flashing it coming from the Cudy OpenWrt 22.03.0 v2/v3 version worked and the box boots. But it is not reachable from the network and wifi doesn't turn on.
I used defconfig and changed the target to wr1300-v2 before compiling. A reset of the configuration by using the reset button worked but didn't change the result. The box is not reachable.
Can you please provide a working config file for the compilation? Would be great as I cannot figure out what I have missed in the config so far.