Port to TP-Link RE200

I thought those things require certain permissions.

Can I install that port as a stupid end user?
Or should I wait for stable? What you advise?

Sorry, but if you ask this question, you already know the answer: wait. Otherwise, you risk having to open the device and having to unbrick it via the serial console. This happened to a few users and therefore I stopped providing downloads.
The inatructions for manual flashing are in the Wiki.

1 Like

It seems 5GHz to be broken on current snapshot r14817-2aa558c49a at RE200 v3.
Default /etc/config/wireless contains only one 2.4GHz radio on 'platform/10300000.wmac'.
Which options for wifi-device directive should I use in config/wireless to get 5GHz radio working?
Radio is avaliable at /sys/devices:


root@kap:~# ls /sys/devices/pci0000\:00/0000\:00\:00.0/
0000:01:00.0              consistent_dma_mask_bits  driver_override           max_link_width            rescan                    subordinate_bus_number
0000:01:00.1              current_link_speed        enable                    modalias                  reset                     subsystem
ari_enabled               current_link_width        irq                       msi_bus                   resource                  subsystem_device
broken_parity_status      device                    local_cpulist             of_node                   resource1                 subsystem_vendor
class                     devspec                   local_cpus                pci_bus                   revision                  uevent
config                    dma_mask_bits             max_link_speed            remove                    secondary_bus_number      vendor

Just iinstall kmod-mt76x02-common and kmod-mt76x0-common

1 Like

Thanks, works great after install and reboot!

Just bricked my RE200 v1 when trying to install OpenWrt using the steps explained here and at https://openwrt.org/toh/tp-link/re200.

This didn't work, so I had to crack open the case to access the serial console. I followed the steps to install the latest snapshot bin with added uboot.bin and MD5sum fixed.

However, this fails to boot:

U-Boot 1.1.3 (Dec  6 2017 - 09:04:51)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb4000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
spi_wait_nsec: 29
spi device id: ef 40 17 0 0 (40170000)
find flash: W25Q64BV
============================================
Ralink UBoot Version: 4.1.0.0
This UBoot has been rewritten by TPLINK *_*
--------------------------------------------
ASIC 7620_MP (Port5<->None)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Dec  6 2017  Time:09:04:51
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =64 Mbytes

Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   6: Load ART data then write to Flash via TFTP.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.

You choosed 2
                                                                                            0
raspi_read: from:20028 len:6


2: System Load Linux Kernel then write to Flash via TFTP.
 Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
 Please Input new ones /or Ctrl-C to discard
        Input device IP (192.168.0.254) ==:192.168.1.253
        Input server IP (192.168.0.10) ==:192.168.1.1
        Input Linux Kernel filename () ==:test.bin

 netboot_common, argc= 3

 NetTxPacket = 0x83FE5B00

 KSEG1ADDR(NetTxPacket) = 0xA3FE5B00

 NetLoop,call eth_halt !

 NetLoop,call eth_init !
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!!
TFTP from server 192.168.1.1; our IP address is 192.168.1.253
Filename 'test.bin'.

 TIMEOUT_COUNT=10,Load address: 0x80100000
Loading: Got ARP REPLY, set server/gtwy eth addr (94:83:c4:04:dd:6f)
Got it
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##################################checksum bad
###############################
         #################################################################
         #################################################################
         #################checksum bad
################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ####Got ARP REQUEST, return our IP
#############################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####################################################
done
Bytes transferred = 8258048 (7e0200 hex)
NetBootFileXferSize= 007e0200
raspi_erase_write: offs:20000, count:7e0200
Abort: image size larger than 8257536!

I also tried booting via command line but this fails too but with a different error:

Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   6: Load ART data then write to Flash via TFTP.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.

You choosed 4
                                                                                            0
raspi_read: from:20028 len:6


4: System Enter Boot Command Line Interface.

U-Boot 1.1.3 (Dec  6 2017 - 09:04:51)
MT7620 # setenv ipaddr 192.168.1.253
MT7620 # setenv serverip 192.168.1.1
MT7620 # tftpboot

 netboot_common, argc= 1

 NetTxPacket = 0x83FE5B00

 KSEG1ADDR(NetTxPacket) = 0xA3FE5B00

 NetLoop,call eth_halt !

 NetLoop,call eth_init !
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!!
*** Warning: no boot file name; using 'test.bin'
TFTP from server 192.168.1.1; our IP address is 192.168.1.253
Filename 'test.bin'.

 TIMEOUT_COUNT=10,Load address: 0x80100000
Loading: Got ARP REPLY, set server/gtwy eth addr (94:83:c4:04:dd:6f)
Got it
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################Got ARP REQUEST, return our IP

         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####################################################
done
Bytes transferred = 8258048 (7e0200 hex)
NetBootFileXferSize= 007e0200
MT7620 # bootm 0x82000000
## Booting image at 82000000 ...
   Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover

I don't plan to use this device further more but I'm willing to help getting this fixed so that other people don't run into the same problem (it seems this that some more people managed to brick their devices recently). If anybody wants me to test something that may fix this problem, let me know.

Hey,

I'm sorry that your device is bricked, let's try a few things - and I'll start by clarifying a few things regarding the different images:

You need U-Boot and fixed MD5 Sum only for installation via the stock web interface. You cannot TFTP this image - for TFTP, you need to directly use the OpenWrt image. TFTP does not overwrite U-Boot, in contrast to the web interface method.

What exactly did not work? Which output die you get on the serial console immediately after trying to flash it?

Did you try to load the initramfs image as well, does that boot (option 1 in the menu)? Here, you should also be able to use the OpenWrt initramfs image directly.

Hi,
I've just brick my RE200 v1 when trying to install OpenWrt with the latest snapshot.
Like @stucki i've follow the step from https://openwrt.org/toh/tp-link/re200 (with the automatic method via openwrt-imagetool V0.2 and the web interface of the re200)
After flashing, RE200 is not accessible via SSH on 192.168.1.1 (ethernet port)
I've open the case but i'm waiting for my USB to TTL for more investigation.

1 Like

@andyboeh Thanks for your feedback!

Good to know!

Ok so I managed to boot the stock image via tftp again. Went into the TP-Link web interface and tried to flash the patched openwrt-factory image from there.
Here is the output that I see on the serial console. As you can see, it stops after the message "Starting kernel...".

MT7610-->MT76x0_TempSensor-4180)MT76x0_TempSensor - Dout=-1 (0xffffffff), TemperatureOffset = -32644 (0xffff807c), temperature = -16797 (0xffffbe63)
Erase from 0X0 to 0X10000:.
Program from 0X0 to 0X10000:.
write successfully
Erase from 0X10000 to 0X20000:.
Program from 0X10000 to 0X20000:.
write successfully
Erase from 0X20000 to 0X30000:.
Program from 0X20000 to 0X30000:.
write successfully
Erase from 0X30000 to 0X40000:.
Program from 0X30000 to 0X40000:.
write successfully
Erase from 0X40000 to 0X50000:.
Program from 0X40000 to 0X50000:.
write successfully
Erase from 0X50000 to 0X60000:MT7610-->MT76x0_TemperatureCompensation-6332)sht:MT76x0_TemperatureCompensation - delta_pwr = 0, TssiCalibratedOffset = -4, TssiMpOffset = 0, Mac 0x13B4 = 0x89040000, Mac_TC = 0x89040000, TxAgcCompensateA = 0, DeltaPwrBeforeTempComp = 0, LastTempCompDeltaPwr =0
.
Program from 0X50000 to 0X60000:.
write successfully
Erase from 0X60000 to 0X70000:.
Program from 0X60000 to 0X70000:.
write successfully
Erase from 0X70000 to 0X80000:.
Program from 0X70000 to 0X80000:.
write successfully
Erase from 0X80000 to 0X90000:.
Program from 0X80000 to 0X90000:.
write successfully
Erase from 0X90000 to 0XA0000:.
Program from 0X90000 to 0XA0000:.
write successfully
Erase from 0XA0000 to 0XB0000:.
Program from 0XA0000 to 0XB0000:.
write successfully
Erase from 0XB0000 to 0XC0000:.
Program from 0XB0000 to 0XC0000:.
write successfully
Erase from 0XC0000 to 0XD0000:.
Program from 0XC0000 to 0XD0000:.
write successfully
Erase from 0XD0000 to 0XE0000:.
Program from 0XD0000 to 0XE0000:.
write successfully
Erase from 0XE0000 to 0XF0000:.
Program from 0XE0000 to 0XF0000:.
write successfully
Erase from 0XF0000 to 0X100000:.
Program from 0XF0000 to 0X100000:.
write successfully
Erase from 0X100000 to 0X110000:.
Program from 0X100000 to 0X110000:.
write successfully
Erase from 0X110000 to 0X120000:.
Program from 0X110000 to 0X120000:.
write successfully
Erase from 0X120000 to 0X130000:.
Program from 0X120000 to 0X130000:.
write successfully
Erase from 0X130000 to 0X140000:.
Program from 0X130000 to 0X140000:.
write successfully
Erase from 0X140000 to 0X150000:.
Program from 0X140000 to 0X150000:.
write successfully
Erase from 0X150000 to 0X160000:.
Program from 0X150000 to 0X160000:.
write successfully
Erase from 0X160000 to 0X170000:.
Program from 0X160000 to 0X170000:.
write successfully
Erase from 0X170000 to 0X180000:.
Program from 0X170000 to 0X180000:.
write successfully
Erase from 0X180000 to 0X190000:.
Program from 0X180000 to 0X190000:.
write successfully
Erase from 0X190000 to 0X1A0000:.
Program from 0X190000 to 0X1A0000:.
write successfully
Erase from 0X1A0000 to 0X1B0000:.
Program from 0X1A0000 to 0X1B0000:.
write successfully
Erase from 0X1B0000 to 0X1C0000:.
Program from 0X1B0000 to 0X1C0000:.
write successfully
Erase from 0X1C0000 to 0X1D0000:.
Program from 0X1C0000 to 0X1D0000:.
write successfully
Erase from 0X1D0000 to 0X1E0000:.
Program from 0X1D0000 to 0X1E0000:.
write successfully
Erase from 0X1E0000 to 0X1F0000:.
Program from 0X1E0000 to 0X1F0000:.
write successfully
Erase from 0X1F0000 to 0X200000:.
Program from 0X1F0000 to 0X200000:.
write successfully
Erase from 0X200000 to 0X210000:.
Program from 0X200000 to 0X210000:.
write successfully
Erase from 0X210000 to 0X220000:.
Program from 0X210000 to 0X220000:.
write successfully
Erase from 0X220000 to 0X230000:.
Program from 0X220000 to 0X230000:.
write successfully
Erase from 0X230000 to 0X240000:.
Program from 0X230000 to 0X240000:.
write successfully
Erase from 0X240000 to 0X250000:.
Program from 0X240000 to 0X250000:.
write successfully
Erase from 0X250000 to 0X260000:.
Program from 0X250000 to 0X260000:.
write successfully
Erase from 0X260000 to 0X270000:.
Program from 0X260000 to 0X270000:.
write successfully
Erase from 0X270000 to 0X280000:.
Program from 0X270000 to 0X280000:.
write successfully
Erase from 0X280000 to 0X290000:.
Program from 0X280000 to 0X290000:.
write successfully
Erase from 0X290000 to 0X2A0000:.
Program from 0X290000 to 0X2A0000:.
write successfully
Erase from 0X2A0000 to 0X2B0000:.
Program from 0X2A0000 to 0X2B0000:.
write successfully
Erase from 0X2B0000 to 0X2C0000:.
Program from 0X2B0000 to 0X2C0000:.
write successfully
Erase from 0X2C0000 to 0X2D0000:.
Program from 0X2C0000 to 0X2D0000:.
write successfully
Erase from 0X2D0000 to 0X2E0000:.
Program from 0X2D0000 to 0X2E0000:.
write successfully
Erase from 0X2E0000 to 0X2F0000:.
Program from 0X2E0000 to 0X2F0000:.
write successfully
Erase from 0X2F0000 to 0X300000:.
Program from 0X2F0000 to 0X300000:.
write successfully
Erase from 0X300000 to 0X310000:.
Program from 0X300000 to 0X310000:.
write successfully
Erase from 0X310000 to 0X320000:.
Program from 0X310000 to 0X320000:.
write successfully
Erase from 0X320000 to 0X330000:.
Program from 0X320000 to 0X330000:.
write successfully
Erase from 0X330000 to 0X340000:.
Program from 0X330000 to 0X340000:.
write successfully
Erase from 0X340000 to 0X350000:.
Program from 0X340000 to 0X350000:.
write successfully
Erase from 0X350000 to 0X360000:.
Program from 0X350000 to 0X360000:.
write successfully
Erase from 0X360000 to 0X370000:.
Program from 0X360000 to 0X370000:.
write successfully
Erase from 0X370000 to 0X380000:.
Program from 0X370000 to 0X380000:.
write successfully
Erase from 0X380000 to 0X390000:.
Program from 0X380000 to 0X390000:.
write successfully
Erase from 0X390000 to 0X3A0000:.
Program from 0X390000 to 0X3A0000:.
write successfully
Erase from 0X3A0000 to 0X3B0000:.
Program from 0X3A0000 to 0X3B0000:.
write successfully
Erase from 0X3B0000 to 0X3C0000:.
Program from 0X3B0000 to 0X3C0000:.
write successfully
Erase from 0X3C0000 to 0X3D0000:.
Program from 0X3C0000 to 0X3D0000:.
write successfully
Erase from 0X3D0000 to 0X3E0000:.
Program from 0X3D0000 to 0X3E0000:.
write successfully
Erase from 0X3E0000 to 0X3F0000:.
Program from 0X3E0000 to 0X3F0000:.
write successfully
Erase from 0X3F0000 to 0X400000:.
Program from 0X3F0000 to 0X400000:.
write successfully
Erase from 0X400000 to 0X410000:.
Program from 0X400000 to 0X410000:.
write successfully
Erase from 0X410000 to 0X420000:.
Program from 0X410000 to 0X420000:.
write successfully
Erase from 0X420000 to 0X430000:.
Program from 0X420000 to 0X430000:.
write successfully
Erase from 0X430000 to 0X440000:.
Program from 0X430000 to 0X440000:.
write successfully
Erase from 0X440000 to 0X450000:.
Program from 0X440000 to 0X450000:.
write successfully
Erase from 0X450000 to 0X460000:.
Program from 0X450000 to 0X460000:.
write successfully
Erase from 0X460000 to 0X470000:.
Program from 0X460000 to 0X470000:.
write successfully
Erase from 0X470000 to 0X480000:.
Program from 0X470000 to 0X480000:.
write successfully
Erase from 0X480000 to 0X490000:.
Program from 0X480000 to 0X490000:.
write successfully
Erase from 0X490000 to 0X4A0000:.
Program from 0X490000 to 0X4A0000:.
write successfully
Erase from 0X4A0000 to 0X4B0000:.
Program from 0X4A0000 to 0X4B0000:.
write successfully
Erase from 0X4B0000 to 0X4C0000:.
Program from 0X4B0000 to 0X4C0000:.
write successfully
Erase from 0X4C0000 to 0X4D0000:.
Program from 0X4C0000 to 0X4D0000:.
write successfully
Erase from 0X4D0000 to 0X4E0000:.
Program from 0X4D0000 to 0X4E0000:.
write successfully
Erase from 0X4E0000 to 0X4F0000:.
Program from 0X4E0000 to 0X4F0000:.
write successfully
Erase from 0X4F0000 to 0X500000:.
Program from 0X4F0000 to 0X500000:.
write successfully
Erase from 0X500000 to 0X510000:.
Program from 0X500000 to 0X510000:.
write successfully
Erase from 0X510000 to 0X520000:.
Program from 0X510000 to 0X520000:.
write successfully
Erase from 0X520000 to 0X530000:.
Program from 0X520000 to 0X530000:.
write successfully
Erase from 0X530000 to 0X540000:.
Program from 0X530000 to 0X540000:.
write successfully
Erase from 0X540000 to 0X550000:.
Program from 0X540000 to 0X550000:.
write successfully
Erase from 0X550000 to 0X560000:.
Program from 0X550000 to 0X560000:.
write successfully
Erase from 0X560000 to 0X570000:.
Program from 0X560000 to 0X570000:.
write successfully
Erase from 0X570000 to 0X580000:.
Program from 0X570000 to 0X580000:.
write successfully
Erase from 0X580000 to 0X590000:.
Program from 0X580000 to 0X590000:.
write successfully
Erase from 0X590000 to 0X5A0000:.
Program from 0X590000 to 0X5A0000:.
write successfully
Erase from 0X5A0000 to 0X5B0000:.
Program from 0X5A0000 to 0X5B0000:.
write successfully
Erase from 0X5B0000 to 0X5C0000:.
Program from 0X5B0000 to 0X5C0000:.
write successfully
Erase from 0X5C0000 to 0X5D0000:.
Program from 0X5C0000 to 0X5D0000:.
write successfully
Erase from 0X5D0000 to 0X5E0000:.
Program from 0X5D0000 to 0X5E0000:.
write successfully
Erase from 0X5E0000 to 0X5F0000:.
Program from 0X5E0000 to 0X5F0000:.
write successfully
Erase from 0X5F0000 to 0X600000:.
Program from 0X5F0000 to 0X600000:.
write successfully
Erase from 0X600000 to 0X610000:.
Program from 0X600000 to 0X610000:.
write successfully
Erase from 0X610000 to 0X620000:.
Program from 0X610000 to 0X620000:.
write successfully
Erase from 0X620000 to 0X630000:.
Program from 0X620000 to 0X630000:.
write successfully
Erase from 0X630000 to 0X640000:.
Program from 0X630000 to 0X640000:.
write successfully
Erase from 0X640000 to 0X650000:.
Program from 0X640000 to 0X650000:.
write successfully
Erase from 0X650000 to 0X660000:.
Program from 0X650000 to 0X660000:.
write successfully
Erase from 0X660000 to 0X670000:.
Program from 0X660000 to 0X670000:.
write successfully
Erase from 0X670000 to 0X680000:.
Program from 0X670000 to 0X680000:.
write successfully
Erase from 0X680000 to 0X690000:.
Program from 0X680000 to 0X690000:.
write successfully
Erase from 0X690000 to 0X6A0000:.
Program from 0X690000 to 0X6A0000:.
write successfully
Erase from 0X6A0000 to 0X6B0000:.
Program from 0X6A0000 to 0X6B0000:.
write successfully
Erase from 0X6B0000 to 0X6C0000:.
Program from 0X6B0000 to 0X6C0000:.
write successfully
Erase from 0X6C0000 to 0X6D0000:.
Program from 0X6C0000 to 0X6D0000:.
write successfully
Erase from 0X6D0000 to 0X6E0000:.
Program from 0X6D0000 to 0X6E0000:.
write successfully
Erase from 0X6E0000 to 0X6F0000:.
Program from 0X6E0000 to 0X6F0000:.
write successfully
Erase from 0X6F0000 to 0X700000:MT7610-->MT76x0_TemperatureCompensation-6332)sht:MT76x0_TemperatureCompensation - delta_pwr = 2, TssiCalibratedOffset = -4, TssiMpOffset = 0, Mac 0x13B4 = 0x89040000, Mac_TC = 0x89040002, TxAgcCompensateA = 2, DeltaPwrBeforeTempComp = 0, LastTempCompDeltaPwr =0
.
Program from 0X6F0000 to 0X700000:.
write successfully
Erase from 0X700000 to 0X710000:.
Program from 0X700000 to 0X710000:.
write successfully
Erase from 0X710000 to 0X720000:.
Program from 0X710000 to 0X720000:.
write successfully
Erase from 0X720000 to 0X730000:.
Program from 0X720000 to 0X730000:.
write successfully
Erase from 0X730000 to 0X740000:.
Program from 0X730000 to 0X740000:.
write successfully
Erase from 0X740000 to 0X750000:.
Program from 0X740000 to 0X750000:.
write successfully
Erase from 0X750000 to 0X760000:.
Program from 0X750000 to 0X760000:.
write successfully
Erase from 0X760000 to 0X770000:.
Program from 0X760000 to 0X770000:.
write successfully
Erase from 0X770000 to 0X780000:.
Program from 0X770000 to 0X780000:.
write successfully
Erase from 0X780000 to 0X790000:.
Program from 0X780000 to 0X790000:.
write successfully
Erase from 0X790000 to 0X7A0000:.
Program from 0X790000 to 0X7A0000:.
write successfully
Erase from 0X7A0000 to 0X7B0000:.
Program from 0X7A0000 to 0X7B0000:.
write successfully
Erase from 0X7B0000 to 0X7C0000:MT7610-->MT76x0_TemperatureCompensation-6332)sht:MT76x0_TemperatureCompensation - delta_pwr = 2, TssiCalibratedOffset = -4, TssiMpOffset = 0, Mac 0x13B4 = 0x89040002, Mac_TC = 0x89040002, TxAgcCompensateA = 2, DeltaPwrBeforeTempComp = 0, LastTempCompDeltaPwr =2
.
Program from 0X7B0000 to 0X7C0000:.
write successfully
Erase from 0X7C0000 to 0X7D0000:.
Program from 0X7C0000 to 0X7D0000:.
write successfully
Erase from 0X7D0000 to 0X7E0000:.
Program from 0X7D0000 to 0X7E0000:.
write successfully
br0: port 2(ra0) entering forwarding state
func:ApCliLinkDown(882), the pid is 0
MT7620--> RTMPRemoveRepeaterEntry.
func:ApCliLinkDown(882), the pid is 0
br0: port 3(apcli0) entering forwarding state
br0: port 4(rai0) entering forwarding state
MT7610-->APStop-849)@@@ APStop: go to ed_monitor_exit()!!
MT7610-->ed_monitor_exit-12764)@@@ ed_monitor_exit : ===>
MT7610-->ed_monitor_exit-12789)@@@ ed_monitor_exit : <===
MT7610-->MT76x0_WLAN_ChipOnOff-3614)==>MT76x0_WLAN_ChipOnOff(): OnOff:0, pAd->WlanFunCtrl:0xff000003, Reg-WlanFunCtrl=0xff000003
br0: port 5(apclii0) entering forwarding state
Sending SIGKILL to all processes.
Please stand by while rebooting the system.
                                           Restarting system.


U-Boot 1.1.3 (Mar 29 2016 - 14:17:26)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb4000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
******************************
Software System Reset Occurred
******************************
spi_wait_nsec: 29
spi device id: ef 40 17 0 0 (40170000)
find flash: W25Q64BV
============================================
Ralink UBoot Version: 4.1.0.0
This UBoot has been rewritten by TPLINK *_*
--------------------------------------------
ASIC 7620_MP (Port5<->None)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Mar 29 2016  Time:14:17:26
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =64 Mbytes

Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   6: Load ART data then write to Flash via TFTP.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.                                                                                0

3: System Boot system code via Flash.
## Booting image at bc020000 ...
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 8000c310) ...
## Giving linux memsize in MB, 64

Starting kernel ...

In case this helps anyone: I was not even able to boot the stock image in the first place because of a size mismatch:

Abort: image size larger than 8257536!

To work around this, I created a copy of the stock bin file without u-boot:

dd if=re200v1_eu_3_14_2_up_boot\(160329\).bin of=uboot.bin bs=1 count=131584
dd if=re200v1_eu_3_14_2_up_boot\(160329\).bin of=firmware.bin bs=1 skip=131584

This firmware.bin file can be flashed using option "2" on the u-boot prompt.

Yes I can boot this. However, this doesn't survive a reboot. Flashing a new image via sysupgrade -v openwrt-ramips-mt7620-tplink_re200-v1-squashfs-sysupgrade.bin leads me to the same prompt again:

Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   6: Load ART data then write to Flash via TFTP.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.                                                                                0

3: System Boot system code via Flash.
## Booting image at bc020000 ...
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 8000c310) ...
## Giving linux memsize in MB, 64

Starting kernel ...

Thanks for confirming that something is wrong. I have added a warning to the wiki page now.

Thanks, unfortunately, this happens every now and then, mostly due to other changes in OpenWrt. It may be a problem with the kernel load address and/or kernel entry point. I just had a look at the stock firmware upgrades, they define the entry point at 8000c150 instead of 8000c310. I got the c310 from the boot log of my device.

@stucki When booting the stock firmware, what do you get on the line ## Transferring control to Linux (at address 8000c310) ...?

Unfortunately, I've put my devices into daily use and can't work on this for quite some time.

One other thing that I just noticed: @stucki your log reports a newer U-Boot version than my device has (your timestamp is Dec 6 2017, mine is Mar 29 2016). Maybe yours behaves differently?

What version is printed on the back of your device?

I have got the same problem - stuck on Starting kernel ... on current snapshot.

I'm trying to backport re200/re210 to openwrt 19.07.4

Looks promising as system is correctly booting, only ethernet is not working. I assume that it is something wrong with switch configuration.

Anyone have some hints?

Entry point is 8000c310 and it is booting successful, so I assume that there is another problem with snapshot.

3: System Boot system code via Flash.
## Booting image at bc020000 ...
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 8000c310) ...
## Giving linux memsize in MB, 64

Starting kernel ...

[    0.000000] Linux version 4.14.195 (maciek@maciek) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11208-ce6496d796)) #0 Sun Sep 6 16:19:39 2020

Thanks for confirming that! Did you also try to investigate why snapshot does not boot? Why are you trying to backport it to 19.07.4?

I just wanted to check if it boots on older version.
I gave up with this due to not working ethernet for now.

Yesterday in the evening I successfully built snapshot from commit be4ed1db18e68cc57f03788b4529afbbf629411c - Date: Thu Mar 19 12:22:07 2020 +0100
Looks like everything is working. I can provide sysupgrade and initramfs if someone needs it (luci + wpad-mesh-openssl).

It booted correctly, and it is working (model RE210).
Unfortunately the 5Ghz WiFi is very poor (limited to 10dbm), Very poor range and throughput. I am used to mt76 xiaomi (MIR3 spi mod, MIR3G v1, MIR4A gigabit) devices they easily work at 200mbit+.

I did comparison between Tp-Link RE210 <-> xiaomi MIR4A in 802.11s with WPA3-SAE encryption -> 40/5 mbit (not stable)

In similar conditions MIR3 spi mod <- > MIR4A went easily over 100/100 mbit.

For me these device in current state is unusable probably due to very low tx power.
I wonder how it is with tx power on original TP-Link firmware.

So the RE210 has the same problem?

Would you have a chance to test when it started to break? Then we can try to fix it! It should be quite recently. As mentioned, I don't have access to my devices right now (probably not before christmas).

Yes exactly. I only have RE210 in my hands. It is stuck on Starting kernel ...

I will try to git bisect this today.

I git bisected up to current snapshot. And to my surprise It works now even with current snapshot (downloaded from openwrt site)

I don't know what fixed it. I always upgraded through the sysupgrade to next version which I tried.

However on current snapshot txpower is still limited to 11-12dbm, what makes 5ghz unusable.
I wonder what is the max txpower on original tp-link firmware.
Probably something is fucked up on the mtd radio partition which I assume mt76 driver uses to set the power limits.

Hi,
Have tried today to flash the latest snapshot with serial connexion on my RE200 v1 and got the same result as 4 day ago (Starting kernel ....)
The only 2 things that work was :

  • Flashing back TP-Link official firmware (U-boot option 2)
  • Booting OpenWrt into SDRAM via initramfs image. (U-boot option1)

The sysupgrade from intramfs image lead to the same result.