openwrtv4/tools
Maxim Anisimov 161a3be5ad ramips: add support for TP-Link Archer C20 v1
TP-Link Archer C20 v1 is a router with 5-port FE switch and
non-detachable antennas. It's very similiar to TP-Link Archer C50.
Also it's based on MediaTek MT7620A+MT7610EN.

Specification:
- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- 8x LED (GPIO-controlled*), 2x button, power input switch
- 1 x USB 2.0 port

* WAN LED in this devices is a dual-color, dual-leads type which isn't
  (fully) supported by gpio-leds driver. This type of LED requires both
  GPIOs state change at the same time to select color or turn it off.
  For now, we support/use only the blue part of the LED.
* MT7610EN ac chip isn't not supported by LEDE. Therefore 5Ghz won't
  work.

Factory image notes:

These devices use version 3 of TP-Link header, fortunately without RSA
signature (at least in case of devices sold in Europe). The difference
lays in the requirement for a non-zero value in "Additional Hardware
Version" field. Ideally, it should match the value stored in vendor
firmware header on device.

We are able to prepare factory firwmare file which is accepted and
(almost) correctly flashed from the vendor GUI. As it turned out, it
accepts files without U-Boot image with second header at the beginning
but due to some kind of bug in upgrade routine, flashed image gets
corrupted before it's written to flash. So, to flash this device we must
to prepare image using original firmware from tp-link site with uboot.

Flash instruction:

Until (if at all) TP-Link fixes described problem, the only way to flash
LEDE image in these devices is to use tftp recovery mode in U-Boot.
There are two ways to flash the device to LEDE:

1) Using tftp mode with UART connection and original LEDE image

 - Place lede-ramips-mt7620-ArcherC20-squashfs-factory.bin in tftp
   server directory
 - Configure PC with static IP 192.168.0.66/24 and tftp server.
 - Connect PC with one of LAN ports, power up the router and press
   key "4" to access U-Boot CLI.
 - Use the following commands to update the device to LEDE:

    setenv serverip 192.168.0.66
    tftp 0x80060000 lede-ramips-mt7620-ArcherC20-squashfs-factory.bin
    erase tplink 0x20000 0x7a0000
    cp.b 0x80060000 0x20000 0x7a0000
    reset

 - After that the device will reboot and boot to LEDE

2) Using tftp mode without UART connection but require some
   manipulations with target image

 - Download and unpack TP-Link Archer C20 v1 firmware from original web
   site
 - Split uboot.bin from original firmware by this command (example):

    dd if=Archer_C20v1_0.9.1_4.0_up_boot(160427)_2016-04-27_13.53.59.bin of=uboot.bin bs=512 count=256 skip=1

 - Create ArcherC20V1_tp_recovery.bin using this command:

    cat uboot.bin lede-ramips-mt7620-ArcherC20-squashfs-factory.bin > ArcherC20V1_tp_recovery.bin

 - Place ArcherC20V1_tp_recovery.bin in tftp server directory.
 - Configure PC with static IP 192.168.0.66/24 and tftp server.
 - Connect PC with one of LAN ports, press the reset button, power up
   the router and keep button pressed for around 6-7 seconds, until
   device starts downloading the file.
 - Router will download file from server, write it to flash and reboot.

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
2017-09-13 08:07:54 +02:00
..
autoconf treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
automake automake: Update to version 1.15.1 2017-07-04 22:56:55 +02:00
b43-tools b43-tools: fix tarball hash 2016-12-22 17:02:42 +01:00
bc treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
bison tools: patch various gnu tools for macOS 10.13 2017-08-23 18:56:33 +02:00
ccache ccache: update to 3.3.4 2017-03-12 15:06:50 +01:00
cmake tools/cmake: update to 3.8.1 2017-05-25 19:01:07 +02:00
coreutils tools: patch various gnu tools for macOS 10.13 2017-08-23 18:56:33 +02:00
dosfstools tools/dosfstools: Update to 4.1 2017-03-20 08:24:05 +01:00
e2fsprogs tools/e2fsprogs: Update to 1.43.5 2017-08-09 23:20:56 +02:00
elftosb treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
expat tools/expat: Update to 2.2.3 2017-08-09 23:20:56 +02:00
findutils treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
firmware-utils ramips: add support for TP-Link Archer C20 v1 2017-09-13 08:07:54 +02:00
flex tools/flex: Revert "tools/flex: add autoreconf" 2017-07-15 00:12:46 +02:00
flock tools: flock: add NFSv4 compatibility 2016-08-11 10:50:10 +02:00
genext2fs treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
gengetopt treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
gmp tools: gmp: Update to 6.1.2 2017-01-03 14:24:33 +01:00
include tools: host/include/getline.h: Remove 2017-04-26 10:29:39 +02:00
isl tools/isl: update to 0.18 2017-05-25 19:01:07 +02:00
kernel2minor tools: update kernel2minor to 0.24 version 2017-01-25 07:54:06 +01:00
libelf treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
libressl tools/libressl: update to 2.5.4 2017-05-25 19:01:07 +02:00
libtool treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
lzma treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
lzma-old treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
m4 tools: patch various gnu tools for macOS 10.13 2017-08-23 18:56:33 +02:00
make-ext4fs treewide: clean up and unify PKG_VERSION for git based downloads 2016-12-22 16:42:21 +01:00
missing-macros tools: remove a bunch of unused automake macros 2015-03-17 10:11:00 +00:00
mkimage tools/mkimage: fix musl build 2017-08-23 15:12:15 +02:00
mklibs treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
mm-macros treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
mpc treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
mpfr treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
mtd-utils mtd-utils/mkfs.jffs2: honor env SOURCE_DATE_EPOCH 2017-06-19 14:35:07 +02:00
mtools treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
padjffs2 tools: padjffs2: add option to output padding data to stdout 2016-07-11 13:26:33 +02:00
patch tools: patch various gnu tools for macOS 10.13 2017-08-23 18:56:33 +02:00
patch-image tools: patch-image: fix file descriptor leak. 2017-02-15 07:45:24 +01:00
patchelf treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
pkg-config tools/pkg-config: Update to 0.29.2 2017-08-09 23:20:56 +02:00
qemu qemu: rename internal crypto/aes symbols 2017-01-30 18:37:51 +01:00
quilt treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
scons treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
sdimage treewide: clean up and unify PKG_VERSION for git based downloads 2016-12-22 16:42:21 +01:00
sed tools/sed: Update to 4.4 2017-03-20 08:15:27 +01:00
sparse tools/sparse: Update to snapshot 2017-03-31 2017-05-29 10:00:43 +02:00
squashfs treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
squashfs4 treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
sstrip tools: remove static linking support 2015-02-06 00:00:43 +00:00
tar tools: patch various gnu tools for macOS 10.13 2017-08-23 18:56:33 +02:00
upslug2 treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
wrt350nv2-builder tools: remove static linking support 2015-02-06 00:00:43 +00:00
xz xz: Update to 5.2.3 2017-01-03 14:24:32 +01:00
Makefile tools/upx: Remove from repo 2017-03-20 08:26:35 +01:00