I own a TP-Link Archer C20 V5 (US version) router and I’m looking to install OpenWRT on it. While researching, I found documentation and firmware for the EU version of the same router, available here.
I'm unsure if it's safe to use that firmware on my US version.
If anyone has experience with flashing OpenWRT on this specific model, I’d really appreciate your guidance. Please share the safest way to install it and any important precautions to avoid bricking the router.
The shaky part is to combine tplink bootloader with openwrt for first install because if you make mistake there you get a solid doorstop-brick.
Check the boot log at the end of page you linked and compare mtd layout to tplink one, radio and boot should be at the same places.
For revert maybe some day, extract bootliader from same oem fw file that is running on the device.
Thank you for the heads-up—really appreciate your caution about the bootloader step.
I've built the OpenWrt firmware locally on my Linux machine using the official OpenWrt Git repository. During the build process, I selected:
Target System: MediaTek Ralink MIPS
Subtarget: MT76x8 based boards
Target Profile: TP-Link Archer C20 v5
I kept the rest of the configuration options at their defaults.
As I understand, for the initial install, we need to prepend the stock bootloader to the OpenWrt sysupgrade image to create a valid recovery image. I'm planning to extract the bootloader using this command:
This value (131,584 bytes) appears to be commonly used in community guides, but I'm not entirely sure how to verify whether it's the correct bootloader size for my specific hardware. On the liked page however, there is no OEM boot log. Is there a reliable method (perhaps comparing the MTD layout via serial or extracting info from the boot log) to confirm this for my Archer C20 v5 US model?
Just to be safe, I'm using the same OEM firmware version that my router is currently running. After combining the bootloader and OpenWrt sysupgrade image using cat, I plan to serve the final tp_recovery.bin via TFTP for flashing.
If you have any tips on verifying the bootloader size or ensuring that the MTD layout matches properly, I'd be grateful!
You need to concatenate that bootloader with openwrt.
No idea what community guides you refer to, official guide says 512b header +2 x 64k flash erase blocks
Please use web upload. Do not overcomplicate things.
512 is the size of header(sizeof(struct fw_header) is 512: exb A, exb B). The actual binary that the hardware loads starts after the header.
196608(0x30000) is the size of the first boot loader region. The TFTP recovery program skips 196608 bytes of the downloaded image when copying into the flash. Stupid design if you ask me. This number(0x30000) appears on the serial output when performing TFTP reset. 0x30000 is probably the size of the first boot loader for all variants. But you can only find this out if you have the serial console. If you think it's not for your variant, well. Shotgun it(trial and error). I highly doubt it's other than 0x30000, though.
The first boot loader never touches its region(0x0 - 0x30000). The first boot loader will always be there to help you(unless you manually modified it). As long as the first boot loader is intact, you can debrick your hw. Cheers.
I'm really sorry — I was overthinking and didn't realize it was already there. Thank you so much for your patience and help. I’ll follow the official documentation and wiki, and I’ll try to flash the image on my router using TFTP.
I Flased the stock OEM. And then flashed the OpenWRT frankenimage but got the same result. The boot.bin wasn't accepted by the device. What should I do now?
Hi, thanks for your help! I was able to successfully install OpenWRT on my Archer C20 V5 (US) using a TFTP server.
Initially, I didn’t get access to the Web UI because it was a snapshot build, and I hadn’t included LuCI in my build configuration. However, I managed to install the LuCI package manually by SSH into the router.
Everything seems to be working well now, and I’ve configured it properly. However, I have one issue: my router is dual-band. On the stock firmware, the 5GHz band worked flawlessly, but with OpenWRT, the 5GHz band isn’t showing up. I’ve used the same configuration as the 2.4GHz band (with all defaults), but the 5GHz SSID doesn’t appear on my phone.
Should I create a separate topic for this issue, or could you help me here?
5ghz radio requires setting country code and makes you wait 1-10min for radar scan to complete before appearing. if hardware supports the feature you can avoid long waits later enabling background scans like on openwrt one Use background_radar by default - #3 by brada4