Porting Firmware to TP-Link Archer C20 v5

Found original image for the V5 at https://www.tp-link.com/in/support/download/archer-c20/#Firmware
Maybe that will help in investigating why it doesn't boot ?

I tried to get back the original firmware (EU) so I stripped the Archer_C20v5_EU.bin with the command:
dd if=Archer_C20v5_EU.bin of=tp_recovery.bin skip=256 bs=512

This removes the bootloader.
As soon as the image was uploaded and the system reboots I pressed t to get in the uboot. After that I did following commands:

erase linux
cp.linux
bootm 0xbc020000

Result:

Erase linux kernel block !!
From 0x50000 length 0x7D0000
.............................................................................................................................
MT7628 # cp.linux

 Copy linux image[7799296 byte] to SPI Flash[0x00050000]....
.......................................................................................................................
MT7628 # bootm 0xbc020000
do_bootm:argc=2, addr=0xbc020000
## Booting image at bc020000 ...
   Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover

a dead router after that....

Hello there,

From what is available from MTD partitions it seems that this model uses split uboot.

I guess that following similar steps of Archer C50 v4 available on the following commit is the way to go...

Archer C50 v4 commit: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=01dcd574a24864c10a9c4df4304a3ce0da5c11a9

any update

Any update about HW v5 please?

Hi all. I successfully ported device to openwrt 18.06.5. Now I need to test port to development branch. Could somebody help with firmware testing?

Binaries and sources available here: Openwrt for TP-Link Archer C20 v5

3 Likes

How to flash?

I flashed it using TFTP method.
Web Interface Works.

5G Wifi doenst work

image

Kernel Log:

[    0.000000] Linux version 4.14.154 (linaro@linaro-pc) (gcc version 8.3.0 (OpenWrt GCC 8.3.0 r11549-b70137b60c)) #0 Wed Nov 20 09:27:47 2019
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7628AN ver:1 eco:2
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019655 (MIPS 24KEc)
[    0.000000] MIPS: machine is TP-Link Archer C20 v5
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] On node 0 totalpages: 16384
[    0.000000] free_area_init_node: node 0, pgdat 804e08b0, node_mem_map 81000040
[    0.000000]   Normal zone: 144 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 16384 pages, LIFO batch:3
[    0.000000] random: get_random_bytes called from start_kernel+0x98/0x4a0 with crng_init=0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16240
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=0007fd3f
[    0.000000] Readback ErrCtl register=0007fd3f
[    0.000000] Memory: 58372K/65536K available (3916K kernel code, 184K rwdata, 896K rodata, 1204K init, 205K bss, 7164K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] intc: using register map from devicetree
[    0.000000] CPU Clock: 580MHz
[    0.000000] timer_probe: no matching timers found
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[    0.000010] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[    0.007537] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.073493] pid_max: default: 32768 minimum: 301
[    0.078195] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.084544] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.097321] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.106830] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.112804] pinctrl core: initialized pinctrl subsystem
[    0.118852] NET: Registered protocol family 16
[    0.231166] mt7620-pci 10140000.pcie: Port 0 N_FTS = 1b105000
[    0.386449] PCI host bridge /pcie@10140000 ranges:
[    0.391028]  MEM 0x0000000020000000..0x000000002fffffff
[    0.396048]   IO 0x0000000010160000..0x000000001016ffff
[    0.420014] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.425657] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.431143] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.437390] PCI host bridge to bus 0000:00
[    0.441298] pci_bus 0000:00: root bus resource [mem 0x20000000-0x2fffffff]
[    0.447977] pci_bus 0000:00: root bus resource [io  0xffffffff]
[    0.453636] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.460200] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.467874] pci 0000:00:00.0: [14c3:0801] type 01 class 0x060400
[    0.467912] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    0.467926] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
[    0.468000] pci 0000:00:00.0: supports D1
[    0.468011] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    0.468264] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.476181] pci 0000:01:00.0: [14c3:7650] type 00 class 0x028000
[    0.476235] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[    0.476382] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.476601] pci 0000:01:00.1: [14c3:8650] type 00 class 0x0d1100
[    0.476645] pci 0000:01:00.1: reg 0x10: [mem 0x00000000-0x000fffff]
[    0.476778] pci 0000:01:00.1: supports D1
[    0.476788] pci 0000:01:00.1: PME# supported from D0 D1 D3hot D3cold
[    0.476992] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.477010] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01
[    0.477061] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    0.483392] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    0.490168] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x201fffff]
[    0.496665] pci 0000:00:00.0: BAR 1: assigned [mem 0x20200000-0x2020ffff]
[    0.503236] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff]
[    0.509773] pci 0000:01:00.1: BAR 0: assigned [mem 0x20100000-0x201fffff]
[    0.516335] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.521110] pci 0000:00:00.0:   bridge window [mem 0x20000000-0x201fffff]
[    0.532806] clocksource: Switched to clocksource MIPS
[    0.538909] NET: Registered protocol family 2
[    0.543941] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.550629] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.556823] TCP: Hash tables configured (established 1024 bind 1024)
[    0.563077] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.568676] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.575094] NET: Registered protocol family 1
[    0.579317] PCI: CLS 0 bytes, default 32
[    0.583058] Crashlog allocated RAM at address 0x3f00000
[    0.589868] workingset: timestamp_bits=14 max_order=14 bucket_order=0
[    0.602652] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.608284] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.630410] io scheduler noop registered
[    0.634204] io scheduler deadline registered (default)
[    0.639891] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.647141] console [ttyS0] disabled
[    0.650581] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A
[    0.659359] console [ttyS0] enabled
[    0.666348] bootconsole [early0] disabled
[    0.675659] spi-mt7621 10000b00.spi: sys_freq: 193333333
[    0.695099] m25p80 spi0.0: s25fl064k (8192 Kbytes)
[    0.700021] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.706478] Creating 7 MTD partitions on "spi0.0":
[    0.711359] 0x000000000000-0x000000030000 : "factory-uboot"
[    0.717937] 0x000000030000-0x000000050000 : "boot"
[    0.723695] 0x000000050000-0x0000007c0000 : "firmware"
[    0.732534] 2 tplink-fw partitions found on MTD device firmware
[    0.738610] Creating 2 MTD partitions on "firmware":
[    0.743664] 0x000000000000-0x0000001984f0 : "kernel"
[    0.749574] 0x0000001984f0-0x000000770000 : "rootfs"
[    0.755450] mtd: device 4 (rootfs) set to be root filesystem
[    0.762928] 1 squashfs-split partitions found on MTD device rootfs
[    0.769219] 0x0000003f0000-0x000000770000 : "rootfs_data"
[    0.775612] 0x0000007c0000-0x0000007d0000 : "config"
[    0.781465] 0x0000007d0000-0x0000007e0000 : "rom"
[    0.787135] 0x0000007e0000-0x0000007f0000 : "romfile"
[    0.793127] 0x0000007f0000-0x000000800000 : "radio"
[    0.799538] libphy: Fixed MDIO Bus: probed
[    0.817629] rt3050-esw 10110000.esw: link changed 0x00
[    0.824489] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    0.834601] NET: Registered protocol family 10
[    0.843468] Segment Routing with IPv6
[    0.847288] NET: Registered protocol family 17
[    0.851864] 8021q: 802.1Q VLAN Support v1.8
[    0.866667] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[    0.880458] Freeing unused kernel memory: 1204K
[    0.885088] This architecture does not have kernel memory protection.
[    1.884510] init: Console is alive
[    1.888203] init: - watchdog -
[    2.302818] random: fast init done
[    2.894034] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.068312] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.086241] init: - preinit -
[    4.538134] rt3050-esw 10110000.esw: link changed 0x00
[    4.714985] random: procd: uninitialized urandom read (4 bytes read)
[    7.860051] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[    7.893762] urandom-seed: Seed file not found (/etc/urandom.seed)
[    8.004847] procd: - early -
[    8.007890] procd: - watchdog -
[    8.592866] procd: - watchdog -
[    8.596444] procd: - ubus -
[    8.675217] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.755956] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.763027] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.770469] procd: - init -
[    9.025680] rt3050-esw 10110000.esw: link changed 0x04
[    9.590978] kmodloader: loading kernel modules from /etc/modules.d/*
[    9.614303] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    9.642375] Loading modules backported from Linux version v5.4-rc2-0-gda0c9ea146cb
[    9.650130] Backport generated by backports.git v5.4-rc2-1-0-g5a0c323a
[    9.675581] ip_tables: (C) 2000-2006 Netfilter Core Team
[    9.701261] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
[    9.828651] xt_time: kernel timezone is -0000
[    9.956196] mt76_wmac 10300000.wmac: ASIC revision: 76280001
[   10.068588] urngd: v1.0.1 started.
[   10.264086] random: crng init done
[   10.267542] random: 6 urandom warning(s) missed due to ratelimiting
[   11.004934] mt76_wmac 10300000.wmac: Firmware Version: 20151201
[   11.010955] mt76_wmac 10300000.wmac: Build Time: 20151201183641
[   11.032818] mt76_wmac 10300000.wmac: firmware init done
[   11.205870] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   11.306930] PPP generic driver version 2.4.2
[   11.314461] NET: Registered protocol family 24
[   11.324186] mt76x0e 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
[   11.330667] mt76x0e 0000:01:00.0: ASIC revision: 76100002
[   11.507916] mt76x0e 0000:01:00.0: Firmware Version: 0.1.00
[   11.803086] mt76x0e 0000:01:00.0: EEPROM ver:02 fae:00
[   11.812452] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[   11.821250] kmodloader: done loading kernel modules from /etc/modules.d/*
[   24.772499] rt3050-esw 10110000.esw: link changed 0x00
[   29.355012] rt3050-esw 10110000.esw: link changed 0x04
[   29.884662] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[   29.891657] jffs2_build_filesystem(): unlocking the mtd device... 
[   29.907417] done.
[   29.915711] jffs2_build_filesystem(): erasing all blocks after the end marker... 
[   30.471340] br-lan: port 1(eth0.1) entered blocking state
[   30.484671] br-lan: port 1(eth0.1) entered disabled state
[   30.490501] device eth0.1 entered promiscuous mode
[   30.495418] device eth0 entered promiscuous mode
[   30.563916] br-lan: port 1(eth0.1) entered blocking state
[   30.569407] br-lan: port 1(eth0.1) entered forwarding state
[   30.575340] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   31.496818] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   42.878058] done.
[   42.880057] jffs2: notice: (1278) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[   43.100528] overlayfs: upper fs does not support tmpfile.
[  158.591423] rt3050-esw 10110000.esw: link changed 0x00
[  161.407632] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  161.430116] br-lan: port 2(wlan0) entered blocking state
[  161.435610] br-lan: port 2(wlan0) entered disabled state
[  161.441366] device wlan0 entered promiscuous mode
[  161.484174] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  161.490840] br-lan: port 2(wlan0) entered blocking state
[  161.496294] br-lan: port 2(wlan0) entered forwarding state
[  163.075632] rt3050-esw 10110000.esw: link changed 0x04

Wifi 2.4G is stable, no random disconnects etc.

PPPoE works.

System is stable

The only thing i cant install is cake sqm.

image

Hi Linaro. I've been working with openwrt tplink 841nd for many years, this year I made the move to c20 v4, now that only v5 is available I am glad that Linaro published there: https://github.com/Linaro1985/openwrt/archive/tplink_archer_c20v5.zip

I downloaded, unzipped it and selected the TP-Link Archer C20 v5 target, compiled it in from a debian buster.
I have been generated openwrt-ramips-mt76x8-tplink_archer-c20-v5-squashfs-sysupgrade.bin
and when from tfptserver (tp_recovery.bin) I have transferred it and it doesn't start on the router.

You could link me to the .config you have generated to compare it. Maybe I should activate or deactivate some option in the kernel.

Hello tasosmpp.
Have you loaded the recovery.bin that Linaro offers you in the zip or have you compiled it from the source?

I used the recovery.bin from Linaro (zip file).
I flashed it, using the tftp method.

Thanks for the clarification. The tp_rerecovery.bin works well for me too, but it doesn't work compiling it from source:
https://github.com/Linaro1985/openwrt/archive/tplink_archer_c20v5.zip

Hi. Build config is

CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt76x8=y
CONFIG_TARGET_MULTI_PROFILE=y
CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_archer-c20-v4=y
CONFIG_TARGET_DEVICE_PACKAGES_ramips_mt76x8_DEVICE_tplink_archer-c20-v4=""
CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_archer-c20-v5=y
CONFIG_TARGET_DEVICE_PACKAGES_ramips_mt76x8_DEVICE_tplink_archer-c20-v5=""
CONFIG_ALL_KMODS=y
CONFIG_ALL_NONSHARED=y
CONFIG_DEVEL=y
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
CONFIG_AUTOREMOVE=y
CONFIG_BUILDBOT=y
CONFIG_CCACHE=y
CONFIG_IMAGEOPT=y
CONFIG_JSON_ADD_IMAGE_INFO=y
CONFIG_KERNEL_BUILD_DOMAIN="buildhost"
CONFIG_KERNEL_BUILD_USER="builder"
# CONFIG_KERNEL_KALLSYMS is not set
CONFIG_PACKAGE_cgi-io=y
CONFIG_PACKAGE_libiwinfo-lua=y
CONFIG_PACKAGE_liblua=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-lua=y
CONFIG_PACKAGE_libubus-lua=y
CONFIG_PACKAGE_lua=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-app-opkg=y
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-lib-ip=y
CONFIG_PACKAGE_luci-lib-jsonc=y
CONFIG_PACKAGE_luci-lib-nixio=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-network=y
CONFIG_PACKAGE_luci-mod-status=y
CONFIG_PACKAGE_luci-mod-system=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-file=y
CONFIG_PACKAGE_rpcd-mod-iwinfo=y
CONFIG_PACKAGE_rpcd-mod-luci=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_uhttpd=y
# CONFIG_COLLECT_KERNEL_DEBUG is not set
# CONFIG_IB is not set
# CONFIG_SDK is not set
# CONFIG_TARGET_ALL_PROFILES is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_alfa-network_awusfree1 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_buffalo_wcr-1166ds is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_cudy_wr1000 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_d-team_pbr-d1 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_duzun_dm06 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_glinet_gl-mt300n-v2 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_glinet_vixmini is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_hilink_hlk-7628n is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_hiwifi_hc5661a is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_hiwifi_hc5761a is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_hiwifi_hc5861b is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_iptime_a3 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_iptime_a604m is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_mediatek_linkit-smart-7688 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_mediatek_mt7628an-eval-board is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_mercury_mac1200r-v2 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_netgear_r6120 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_onion_omega2 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_onion_omega2p is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_rakwireless_rak633 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_skylab_skw92a is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tama_w06 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_totolink_lr1200 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_archer-c50-v3 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_archer-c50-v4 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-mr3020-v3 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-mr3420-v5 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-wa801nd-v5 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-wr802n-v4 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-wr840n-v4 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-wr840n-v5 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-wr841n-v13 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-wr841n-v14 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-wr842n-v5 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-wr902ac-v3 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_unielec_u7628-01-16m is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_vocore_vocore2 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_vocore_vocore2-lite is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_wavlink_wl-wn570ha1 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_wavlink_wl-wn575a3 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_widora_neo-16m is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_widora_neo-32m is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_wiznet_wizfi630s is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_wrtnode_wrtnode2p is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_wrtnode_wrtnode2r is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_xiaomi_mir4a-100m is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_xiaomi_miwifi-nano is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_zbtlink_zbt-we1226 is not set
# CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_zyxel_keenetic-extra-ii is not set

Please read commit message for the clarification how it works.

I updated device support for openwrt (new builds here). Must be installed from previous openwrt build (factory reset needed). Please give me feedback about how it works.

1 Like

Kernel log

[    0.000000] Linux version 4.14.158 (builder@buildhost) (gcc version 8.3.0 (OpenWrt GCC 8.3.0 r11693-4a34b4b48d)) #0 Wed Dec 18 13:36:09 2019
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7628AN ver:1 eco:2
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019655 (MIPS 24KEc)
[    0.000000] MIPS: machine is TP-Link Archer C20 v5
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] On node 0 totalpages: 16384
[    0.000000] free_area_init_node: node 0, pgdat 804b9020, node_mem_map 81000040
[    0.000000]   Normal zone: 144 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 16384 pages, LIFO batch:3
[    0.000000] random: get_random_bytes called from 0x804bc738 with crng_init=0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16240
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=0007fd3f
[    0.000000] Readback ErrCtl register=0007fd3f
[    0.000000] Memory: 58492K/65536K available (4134K kernel code, 193K rwdata, 512K rodata, 1232K init, 212K bss, 7044K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] intc: using register map from devicetree
[    0.000000] CPU Clock: 580MHz
[    0.000000] timer_probe: no matching timers found
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[    0.000010] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[    0.007548] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.073495] pid_max: default: 32768 minimum: 301
[    0.078200] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.084549] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.097460] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.106964] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.112945] pinctrl core: initialized pinctrl subsystem
[    0.120780] NET: Registered protocol family 16
[    0.229283] mt7620-pci 10140000.pcie: Port 0 N_FTS = 1b105000
[    0.384568] PCI host bridge /pcie@10140000 ranges:
[    0.389149]  MEM 0x0000000020000000..0x000000002fffffff
[    0.394168]   IO 0x0000000010160000..0x000000001016ffff
[    0.418375] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.424017] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.429532] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.435863] PCI host bridge to bus 0000:00
[    0.439773] pci_bus 0000:00: root bus resource [mem 0x20000000-0x2fffffff]
[    0.446457] pci_bus 0000:00: root bus resource [io  0xffffffff]
[    0.452112] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.458674] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.466349] pci 0000:00:00.0: [14c3:0801] type 01 class 0x060400
[    0.466389] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    0.466404] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
[    0.466476] pci 0000:00:00.0: supports D1
[    0.466486] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    0.466737] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.474642] pci 0000:01:00.0: [14c3:7650] type 00 class 0x028000
[    0.474694] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[    0.474840] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.475093] pci 0000:01:00.1: [14c3:8650] type 00 class 0x0d1100
[    0.475138] pci 0000:01:00.1: reg 0x10: [mem 0x00000000-0x000fffff]
[    0.475274] pci 0000:01:00.1: supports D1
[    0.475284] pci 0000:01:00.1: PME# supported from D0 D1 D3hot D3cold
[    0.475472] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.475489] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01
[    0.475540] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    0.481871] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    0.488651] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x201fffff]
[    0.495148] pci 0000:00:00.0: BAR 1: assigned [mem 0x20200000-0x2020ffff]
[    0.501726] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff]
[    0.508255] pci 0000:01:00.1: BAR 0: assigned [mem 0x20100000-0x201fffff]
[    0.514825] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.519593] pci 0000:00:00.0:   bridge window [mem 0x20000000-0x201fffff]
[    0.531902] clocksource: Switched to clocksource MIPS
[    0.537939] NET: Registered protocol family 2
[    0.543105] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.549793] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.555991] TCP: Hash tables configured (established 1024 bind 1024)
[    0.562249] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.567848] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.574216] NET: Registered protocol family 1
[    0.578446] PCI: CLS 0 bytes, default 32
[    0.582225] Crashlog allocated RAM at address 0x3f00000
[    0.589077] workingset: timestamp_bits=14 max_order=14 bucket_order=0
[    0.601870] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.607501] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.630591] io scheduler noop registered
[    0.634389] io scheduler deadline registered (default)
[    0.640176] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.648935] console [ttyS0] disabled
[    0.652442] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A
[    0.661144] console [ttyS0] enabled
[    0.668176] bootconsole [early0] disabled
[    0.677590] spi-mt7621 10000b00.spi: sys_freq: 193333333
[    0.699968] m25p80 spi0.0: s25fl064k (8192 Kbytes)
[    0.704931] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.711369] Creating 7 MTD partitions on "spi0.0":
[    0.716251] 0x000000000000-0x000000030000 : "factory-uboot"
[    0.722854] 0x000000030000-0x000000050000 : "boot"
[    0.728502] 0x000000050000-0x0000007c0000 : "firmware"
[    0.737546] 2 tplink-fw partitions found on MTD device firmware
[    0.743625] Creating 2 MTD partitions on "firmware":
[    0.748670] 0x000000000000-0x0000001903ed : "kernel"
[    0.754598] 0x0000001903f0-0x000000770000 : "rootfs"
[    0.760373] mtd: device 4 (rootfs) set to be root filesystem
[    0.767920] 1 squashfs-split partitions found on MTD device rootfs
[    0.774268] 0x0000003f0000-0x000000770000 : "rootfs_data"
[    0.780619] 0x0000007c0000-0x0000007d0000 : "config"
[    0.786589] 0x0000007d0000-0x0000007e0000 : "rom"
[    0.792256] 0x0000007e0000-0x0000007f0000 : "romfile"
[    0.798193] 0x0000007f0000-0x000000800000 : "radio"
[    0.804697] libphy: Fixed MDIO Bus: probed
[    0.823114] rt3050-esw 10110000.esw: link changed 0x00
[    0.829957] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    0.839988] NET: Registered protocol family 10
[    0.849030] Segment Routing with IPv6
[    0.852936] NET: Registered protocol family 17
[    0.857520] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.870683] 8021q: 802.1Q VLAN Support v1.8
[    0.885691] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[    0.899630] Freeing unused kernel memory: 1232K
[    0.904262] This architecture does not have kernel memory protection.
[    1.908602] init: Console is alive
[    1.912417] init: - watchdog -
[    2.311371] random: fast init done
[    2.932470] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.107501] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.125447] init: - preinit -
[    4.609075] rt3050-esw 10110000.esw: link changed 0x00
[    4.786189] random: procd: uninitialized urandom read (4 bytes read)
[    7.970857] rt3050-esw 10110000.esw: link changed 0x02
[    8.025472] jffs2: notice: (399) jffs2_build_xattr_subsystem: complete building xattr subsystem, 7 of xdatum (2 unchecked, 5 orphan) and 16 of xref (5 dead, 0 orphan) found.
[    8.043151] mount_root: switching to jffs2 overlay
[    8.073344] overlayfs: upper fs does not support tmpfile.
[    8.086000] urandom-seed: Seeding with /etc/urandom.seed
[    8.210304] procd: - early -
[    8.214246] procd: - watchdog -
[    8.828014] procd: - watchdog -
[    8.831579] procd: - ubus -
[    8.912311] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.921238] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.928325] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.935883] procd: - init -
[    9.063977] rt3050-esw 10110000.esw: link changed 0x0A
[    9.778676] kmodloader: loading kernel modules from /etc/modules.d/*
[    9.814702] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    9.841167] Loading modules backported from Linux version v5.4-rc8-0-gaf42d3466bdc
[    9.848929] Backport generated by backports.git v5.4-rc8-1-0-g368e8c51
[    9.874541] ip_tables: (C) 2000-2006 Netfilter Core Team
[    9.900205] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
[   10.028898] xt_time: kernel timezone is -0000
[   10.150358] mt76_wmac 10300000.wmac: ASIC revision: 76280001
[   10.274156] urngd: v1.0.1 started.
[   10.482508] random: crng init done
[   10.485964] random: 6 urandom warning(s) missed due to ratelimiting
[   11.194006] mt76_wmac 10300000.wmac: Firmware Version: 20151201
[   11.200027] mt76_wmac 10300000.wmac: Build Time: 20151201183641
[   11.221917] mt76_wmac 10300000.wmac: firmware init done
[   11.392929] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   11.494328] PPP generic driver version 2.4.2
[   11.501716] NET: Registered protocol family 24
[   11.511216] mt76x0e 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
[   11.517774] mt76x0e 0000:01:00.0: ASIC revision: 76100002
[   11.526064] mt76x0e 0000:01:00.0: Firmware Version: 0.1.00
[   11.772940] mt76x0e 0000:01:00.0: EEPROM ver:02 fae:00
[   11.782401] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[   11.802369] kmodloader: done loading kernel modules from /etc/modules.d/*
[   18.660242] rt3050-esw 10110000.esw: link changed 0x00
[   21.701512] rt3050-esw 10110000.esw: link changed 0x02
[   23.128198] rt3050-esw 10110000.esw: link changed 0x0A
[   24.327927] br-lan: port 1(eth0.1) entered blocking state
[   24.333505] br-lan: port 1(eth0.1) entered disabled state
[   24.339336] device eth0.1 entered promiscuous mode
[   24.344419] device eth0 entered promiscuous mode
[   24.396675] br-lan: port 1(eth0.1) entered blocking state
[   24.402230] br-lan: port 1(eth0.1) entered forwarding state
[   24.408096] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   25.322419] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   28.017257] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   28.047024] br-lan: port 2(wlan0) entered blocking state
[   28.052519] br-lan: port 2(wlan0) entered disabled state
[   28.058287] device wlan0 entered promiscuous mode
[   28.601524] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   28.608256] br-lan: port 2(wlan0) entered blocking state
[   28.613702] br-lan: port 2(wlan0) entered forwarding state
[   30.047747] rt3050-esw 10110000.esw: link changed 0x0B
[   53.195651] rt3050-esw 10110000.esw: link changed 0x0A
[   55.342338] rt3050-esw 10110000.esw: link changed 0x0B
[   60.669442] rt3050-esw 10110000.esw: link changed 0x03
[   63.989890] rt3050-esw 10110000.esw: link changed 0x0B
[  129.439893] pppoe-wan: renamed from ppp0
[  946.855412] rt3050-esw 10110000.esw: link changed 0x03
[  948.961961] rt3050-esw 10110000.esw: link changed 0x0B
[131070.674799] rt3050-esw 10110000.esw: link changed 0x03
[131073.826544] rt3050-esw 10110000.esw: link changed 0x0B
[139204.665576] rt3050-esw 10110000.esw: link changed 0x03
[139206.773268] rt3050-esw 10110000.esw: link changed 0x0B
[147251.611232] rt3050-esw 10110000.esw: link changed 0x03
[147254.746591] rt3050-esw 10110000.esw: link changed 0x0B
[173803.096739] rt3050-esw 10110000.esw: link changed 0x03
[173805.206205] rt3050-esw 10110000.esw: link changed 0x0B
[206887.404152] rt3050-esw 10110000.esw: link changed 0x03
[206890.556153] rt3050-esw 10110000.esw: link changed 0x0B
[266359.804052] rt3050-esw 10110000.esw: link changed 0x03
[266361.907667] rt3050-esw 10110000.esw: link changed 0x0B
[295424.801964] rt3050-esw 10110000.esw: link changed 0x03
[295427.970350] rt3050-esw 10110000.esw: link changed 0x0B

The router is stable. Issues so far:

  1. I cannot change the router's ip address. I have to add a new ip address and then remove the old one
  2. 5g Wifi works (radio is on) but i can't connect any client (my cell phone)

Thanks for testing! Could you attach "ifconfig" command output?

Hello, happy new year!

root@OpenWrt:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr 98:DA:C4:29:34:A8
          inet addr:192.168.1.254  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd40:78eb:c691::1/60 Scope:Global
          inet6 addr: 2a02:587:ac6e:4f00::1/60 Scope:Global
          inet6 addr: fe80::9ada:c4ff:fe29:34a8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4282226 errors:0 dropped:14716 overruns:0 frame:0
          TX packets:8538150 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:512654976 (488.9 MiB)  TX bytes:11497665933 (10.7 GiB)

eth0      Link encap:Ethernet  HWaddr 98:DA:C4:29:34:A8
          inet6 addr: fe80::9ada:c4ff:fe29:34a8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9672450 errors:0 dropped:4 overruns:0 frame:0
          TX packets:5746775 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3261607778 (3.0 GiB)  TX bytes:1956291648 (1.8 GiB)
          Interrupt:5

eth0.1    Link encap:Ethernet  HWaddr 98:DA:C4:29:34:A8
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1030772 errors:0 dropped:133 overruns:0 frame:0
          TX packets:1439939 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:223277846 (212.9 MiB)  TX bytes:1338866077 (1.2 GiB)

eth0.2    Link encap:Ethernet  HWaddr 98:DA:C4:29:34:A9
          inet6 addr: fe80::9ada:c4ff:fe29:34a9/64 Scope:Link
          inet6 addr: 2a02:587:ac60:a500:9ada:c4ff:fe29:34a9/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8632289 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4306824 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11453775086 (10.6 GiB)  TX bytes:594436374 (566.8 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1935 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1935 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:184331 (180.0 KiB)  TX bytes:184331 (180.0 KiB)

pppoe-wan Link encap:Point-to-Point Protocol
          inet addr:100.75.50.251  P-t-P:10.106.108.100  Mask:255.255.255.255
          inet6 addr: 2a02:587:acfd:34a5:7084:685b:8c8:46/64 Scope:Global
          inet6 addr: fe80::7084:685b:8c8:46/10 Scope:Link
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:8520523 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4203574 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:11375476545 (10.5 GiB)  TX bytes:497907560 (474.8 MiB)

wlan0     Link encap:Ethernet  HWaddr 98:DA:C4:29:34:A8
          inet6 addr: fe80::9ada:c4ff:fe29:34a8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3292872 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7242029 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:341043153 (325.2 MiB)  TX bytes:10321265317 (9.6 GiB)

wlan1     Link encap:Ethernet  HWaddr 98:DA:C4:29:34:A7
          inet6 addr: fe80::9ada:c4ff:fe29:34a7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:335 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:66336 (64.7 KiB)
root@OpenWrt:~# iw list
Wiphy phy1
        max # scan SSIDs: 4
        max scan IEs length: 2247 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Available Antennas: TX 0x1 RX 0x1
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
        Band 2:
                Capabilities: 0x17e
                        HT20/HT40
                        SM Power Save disabled
                        RX Greenfield
                        RX HT20 SGI
                        RX HT40 SGI
                        RX STBC 1-stream
                        Max AMSDU length: 3839 bytes
                        No DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 4 usec (0x05)
                HT TX/RX MCS rate indexes supported: 0-7
                VHT Capabilities (0x31800120):
                        Max MPDU length: 3895
                        Supported Channel Width: neither 160 nor 80+80
                        short GI (80 MHz)
                        RX antenna pattern consistency
                        TX antenna pattern consistency
                VHT RX MCS set:
                        1 streams: MCS 0-7
                        2 streams: not supported
                        3 streams: not supported
                        4 streams: not supported
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT RX highest supported: 0 Mbps
                VHT TX MCS set:
                        1 streams: MCS 0-7
                        2 streams: not supported
                        3 streams: not supported
                        4 streams: not supported
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT TX highest supported: 0 Mbps
                Frequencies:
                        * 5180 MHz [36] (13.0 dBm)
                        * 5200 MHz [40] (13.0 dBm)
                        * 5220 MHz [44] (12.0 dBm)
                        * 5240 MHz [48] (12.0 dBm)
                        * 5260 MHz [52] (12.0 dBm) (radar detection)
                        * 5280 MHz [56] (12.0 dBm) (radar detection)
                        * 5300 MHz [60] (12.0 dBm) (radar detection)
                        * 5320 MHz [64] (12.0 dBm) (radar detection)
                        * 5500 MHz [100] (12.0 dBm) (radar detection)
                        * 5520 MHz [104] (12.0 dBm) (radar detection)
                        * 5540 MHz [108] (12.0 dBm) (radar detection)
                        * 5560 MHz [112] (12.0 dBm) (radar detection)
                        * 5580 MHz [116] (12.0 dBm) (radar detection)
                        * 5600 MHz [120] (12.0 dBm) (radar detection)
                        * 5620 MHz [124] (12.0 dBm) (radar detection)
                        * 5640 MHz [128] (12.0 dBm) (radar detection)
                        * 5660 MHz [132] (12.0 dBm) (radar detection)
                        * 5680 MHz [136] (16.0 dBm) (radar detection)
                        * 5700 MHz [140] (16.0 dBm) (radar detection)
                        * 5745 MHz [149] (disabled)
                        * 5765 MHz [153] (disabled)
                        * 5785 MHz [157] (disabled)
                        * 5805 MHz [161] (disabled)
                        * 5825 MHz [165] (disabled)
        valid interface combinations:
                 * #{ IBSS } <= 1, #{ managed, AP, mesh point } <= 8,
                   total <= 8, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz }

        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing
        Supported extended features:
                * [ VHT_IBSS ]: VHT-IBSS
                * [ RRM ]: RRM
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
                * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
                * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
                * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
Wiphy phy0
        max # scan SSIDs: 4
        max scan IEs length: 2257 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Available Antennas: TX 0x3 RX 0x3
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
        Band 1:
                Capabilities: 0x1fe
                        HT20/HT40
                        SM Power Save disabled
                        RX Greenfield
                        RX HT20 SGI
                        RX HT40 SGI
                        TX STBC
                        RX STBC 1-stream
                        Max AMSDU length: 3839 bytes
                        No DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 4 usec (0x05)
                HT TX/RX MCS rate indexes supported: 0-15
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm)
                        * 2472 MHz [13] (20.0 dBm)
                        * 2484 MHz [14] (disabled)
        valid interface combinations:
                 * #{ IBSS } <= 1, #{ managed, AP, mesh point } <= 4,
                   total <= 4, #channels <= 1, STA/AP BI must match
        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing
        Supported extended features:
                * [ RRM ]: RRM
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
                * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
                * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
                * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
[190318.189086] rt3050-esw 10110000.esw: link changed 0x00
[190321.086607] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
[190321.100300] br-lan: port 3(wlan1) entered blocking state
[190321.105790] br-lan: port 3(wlan1) entered disabled state
[190321.111752] device wlan1 entered promiscuous mode
[190321.540500] rt3050-esw 10110000.esw: link changed 0x02
[190321.794069] rt3050-esw 10110000.esw: link changed 0x03
[190322.046477] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[190322.053276] br-lan: port 3(wlan1) entered blocking state
[190322.058825] br-lan: port 3(wlan1) entered forwarding state
[190322.656663] rt3050-esw 10110000.esw: link changed 0x0B

Linaro's files do not work for our Archer C20W V5, neither tftp with "tp_recovery.bin", nor via TPLINK web interface.

For the tftp method, it loads the "tp_recovery.bin" from server, file but it does not boot after that. We had to recover it with same method but using the TPLINK firmware previously modified with dd (dd if=Archer_C20\(SA\)v5_3.16.0_0.9.1_up_boot\(190625\)_2019-06-26_14.18.05.bin of=tp_recovery.bin bs=512 skip=1).

Trying the TPLINK web interface, it just rejects the file.

We have the router version for ISPs (to use with agile config/ACS). I don't know whether it is the same or different hardware.

Any help will be appreciated.

It seems tha C20W-v5 has a different binwalk output than C20-v5 and C20-v4

binwalk -e Archer_C20_SA_v5_3.16.0_0.9.1_up_boot_190625_2019-06-26_14.18.05.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
81760         0x13F60         U-Boot version string, "U-Boot 1.1.3 (Jun 25 2019 - 16:55:47)"
132096        0x20400         LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 4385572 bytes
1573376       0x180200        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 4986978 bytes, 499 inodes, blocksize: 131072 bytes, created: 2019-06-25 09:20:27

Does anybody know how can I modify Linaro's files to include this model ?

Thanks,

any updates?
Looks like you upload a new PR without a bin file.
How can I compile it?