OpenWrt Forum Archive

Topic: TP-Link TL-MR13U - small router with built-in 10,400 mAh battery

The content of this topic has been archived between 7 Jun 2015 and 22 Apr 2018. Unfortunately there are posts – most likely complete pages – missing.

@vladorion

yesterday i was trying it. Unfourtuannely i stopped as i got the "ttyUSB1" but from this point it should be pretty easy!

The main problem was to get the kmod-usb-serial running. If you want to try, try the "packages" which i posted before. At the moment the online kmod-usb-serial does not work.

(Last edited by Xylen.C4 on 22 Nov 2013, 19:39)

Yesterday i made some IP changes... something goes wrong... after that i was not able to connect to the router anymore

unfourtuanely the Failsafe mode was not working.... Be carefull with my image!!!

Lucky me... after a couple of more tryes i was get access to luci!

How can i manage to enable the failsafe mode while im compiling the image?


Thanks...

Seems to be 3G is now working for me with the ZTE MF190, i connected successfully

Thu Nov 21 20:50:31 2013 kern.info kernel: [ 1180.840000] usb 1-1: new high-speed USB device number 6 using ehci-platform
Thu Nov 21 20:50:32 2013 kern.info kernel: [ 1182.750000] usb 1-1: USB disconnect, device number 6
Thu Nov 21 20:50:33 2013 kern.info kernel: [ 1183.160000] usb 1-1: new high-speed USB device number 7 using ehci-platform
Thu Nov 21 20:50:33 2013 kern.info kernel: [ 1183.400000] option 1-1:1.0: GSM modem (1-port) converter detected
Thu Nov 21 20:50:33 2013 kern.info kernel: [ 1183.430000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
Thu Nov 21 20:50:33 2013 kern.info kernel: [ 1183.430000] option 1-1:1.1: GSM modem (1-port) converter detected
Thu Nov 21 20:50:33 2013 kern.info kernel: [ 1183.460000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
Thu Nov 21 20:50:33 2013 kern.info kernel: [ 1183.460000] option 1-1:1.2: GSM modem (1-port) converter detected
Thu Nov 21 20:50:33 2013 kern.info kernel: [ 1183.490000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
Thu Nov 21 20:50:36 2013 daemon.notice pppd[4571]: pppd 2.4.5 started by root, uid 0
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: abort on (BUSY)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: abort on (NO CARRIER)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: abort on (ERROR)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: report (CONNECT)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: timeout set to 10 seconds
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: send (AT&F^M)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: expect (OK)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: AT&F^M^M
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: OK
Thu Nov 21 20:50:37 2013 local2.info chat[4574]:  -- got it
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: send (ATE1^M)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: expect (OK)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: ^M
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: ATE1^M^M
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: OK
Thu Nov 21 20:50:37 2013 local2.info chat[4574]:  -- got it
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: send (AT+CGDCONT=1,"IP","internet.t-mobile"^M)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: timeout set to 30 seconds
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: expect (OK)
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: ^M
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: AT+CGDCONT=1,"IP","internet.t-mobile"^M^M
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: OK
Thu Nov 21 20:50:37 2013 local2.info chat[4574]:  -- got it
Thu Nov 21 20:50:37 2013 local2.info chat[4574]: send (ATD*99***1#^M)
Thu Nov 21 20:50:38 2013 local2.info chat[4574]: expect (CONNECT)
Thu Nov 21 20:50:38 2013 local2.info chat[4574]: ^M
Thu Nov 21 20:50:38 2013 local2.info chat[4574]: ATD*99***1#^M^M
Thu Nov 21 20:50:38 2013 local2.info chat[4574]: CONNECT
Thu Nov 21 20:50:38 2013 local2.info chat[4574]:  -- got it
Thu Nov 21 20:50:38 2013 local2.info chat[4574]: send ( ^M)
Thu Nov 21 20:50:38 2013 daemon.info pppd[4571]: Serial connection established.
Thu Nov 21 20:50:38 2013 daemon.info pppd[4571]: Using interface 3g-Telecom
Thu Nov 21 20:50:38 2013 daemon.notice pppd[4571]: Connect: 3g-Telecom <--> /dev/ttyUSB2
Thu Nov 21 20:50:39 2013 daemon.info pppd[4571]: CHAP authentication succeeded
Thu Nov 21 20:50:39 2013 daemon.notice pppd[4571]: CHAP authentication succeeded
Thu Nov 21 20:50:46 2013 daemon.warn pppd[4571]: Could not determine remote IP address: defaulting to 10.64.64.64
Thu Nov 21 20:50:46 2013 daemon.notice pppd[4571]: local  IP address 10.30.200.160
Thu Nov 21 20:50:46 2013 daemon.notice pppd[4571]: remote IP address 10.64.64.64
Thu Nov 21 20:50:46 2013 daemon.notice pppd[4571]: primary   DNS address 10.74.210.210
Thu Nov 21 20:50:46 2013 daemon.notice pppd[4571]: secondary DNS address 10.74.210.211
Thu Nov 21 20:50:46 2013 daemon.notice netifd: Interface 'Telecom' is now up
Thu Nov 21 20:50:46 2013 user.notice firewall: Reloading firewall due to ifup of Telecom (3g-Telecom)
Thu Nov 21 20:50:52 2013 daemon.info dnsmasq[2876]: reading /tmp/resolv.conf.auto
Thu Nov 21 20:50:52 2013 daemon.info dnsmasq[2876]: using nameserver 10.74.210.211#53
Thu Nov 21 20:50:52 2013 daemon.info dnsmasq[2876]: using nameserver 10.74.210.210#53
Thu Nov 21 20:50:52 2013 daemon.info dnsmasq[2876]: using local addresses only for domain lan

http://bildr.no/thumb/R3dsNldi.jpeg
http://bildr.no/thumb/dnZsdWdi.jpeg
http://bildr.no/thumb/SnB5ZVEw.jpeg


Modules additional installed by default:
- comgt
- kmod-usb2
- kmod-usb-ohci
- kmod-usb-uhci
- kmod-usb-serial
- kmod-usb-serial-option,
- kmod-usb-serial-wwan
- kmod-usb-acm
- luci-proto-3g
- usb-modeswitch
- ppp-mod-pptp

Modules which are NOT installed by default:
- huaweiAktBbo
- luci-proto-ppp

Modules which are removed:
- Some IPv6 packages


Images: (use at your own risk)
- Sysupgrade including Luci
- Factory image including Luci (not tested)
- md5sums
- Packages
- Complete package



@anarchy99: I do not understand, what do you need?

(Last edited by Xylen.C4 on 6 Dec 2013, 21:40)

Greetings,

I have one (noob?) question about sysupgrade: there are 3 different binaries:
ap96-squashfs-sysupgrade.bin
pb42-squashfs-sysupgrade.bin
pb44-squashfs-sysupgrade.bin
in the repository: http://downloads.openwrt.org/snapshots/trunk/ar71xx/
can you, please, explain what's the difference (and how I should choose which-one to use)?

Best regards...

hmmm... failsafe mode was working for me so maybe i was doing something wrong?

This week i was working in Dalian (China), afterwork i was trying to get the TL-TR861 10400E at the local markets... no changse this device is not available. At leas i found 2 sellers for this device, i asked about 50+ shops. The market price was betrween 220 Yuan to 250 Yuan.

Also a chinese colleague at work tryed to get it over the internet (TL-TR861 10400E). Nothing! I dindt want to get it to any price!

Hi,

I'm and teacher and I'd like to use the TP-Link MR13U as a LibraryBox/PirateBox for students for get materials, books etc,

So far I have replaced the TP-Link made firmware with OpenWRT firmware version made specially for this device which I got from here. http://downloads.openwrt.org/snapshots/ … actory.bin

I have also been able to telnet to the device set a password and then SSH into it and modify /etc/config/wireless (I noticed there were two lines that said "option disable 0" so i deleted both and then the wifi started working)

I'm now looking to put librarybox onto it.

- Do I need to install LuCI enable me to install librarybox?
- Are there MR13U specific instrcutions or can I just use the instructions written for MR3020 seen here http://librarybox.us/MR3020.php or for the MR3020 (or WR703N) http://daviddarts.com/piratebox-diy-openwrt/

thanks to all the contributors.

Vincent Orange wrote:

Hi,

I'm and teacher and I'd like to use the TP-Link MR13U as a LibraryBox/PirateBox for students for get materials, books etc,

So far I have replaced the TP-Link made firmware with OpenWRT firmware version made specially for this device which I got from here. http://downloads.openwrt.org/snapshots/ … actory.bin

I have also been able to telnet to the device set a password and then SSH into it and modify /etc/config/wireless (I noticed there were two lines that said "option disable 0" so i deleted both and then the wifi started working)

I'm now looking to put librarybox onto it.

- Do I need to install LuCI enable me to install librarybox?
- Are there MR13U specific instrcutions or can I just use the instructions written for MR3020 seen here http://librarybox.us/MR3020.php or for the MR3020 (or WR703N) http://daviddarts.com/piratebox-diy-openwrt/

thanks to all the contributors.


I've manage to get this device working with ful piratebox features by using a zustom firmware build supplied by fried zombie.
http://stable.openwrt.piratebox.de/ar71xx_AA_BB_0.1/

My backup solution for MR13U:
Mount Flash memory on a small PCB with headers for be able to deattach it.
I have constructed a adapter for use a TotalPhase Aardvark I2C/SPI Host Adapter.

deattachable memory


deattachable memory

micke_s wrote:

My backup solution for MR13U:
Mount Flash memory on a small PCB with headers for be able to deattach it.
I have constructed a adapter for use a TotalPhase Aardvark I2C/SPI Host Adapter.

My device got bricked. Now i guess i have to disassemble it and connect a serial cable. Can you explain how to open the case with minimal damage?

I first used a knife(that you eat with), to first break the glue, a thin one.
After i have separate it a little bit i take two more knives and bending.

Opened it already with a surgery scalpel. Now I need to solder wires to tx, rx and gnd pads, they are very small sad

good luck... if you are not expert in soldering i'd try keeping the wires on pads by hand.. call a friend to help xD

(Last edited by nebbia88 on 14 Apr 2014, 18:26)

Hello!
Search for new firmware for TP-Link TL-MR13U and found that TP-Link relise source of original firmware under GPL - http://www.tp-link.com/resources/gpl/150Router.tar
Maybe somebody can translate original firmware on english?

otlabs wrote:

Christmas comes early this year. Especially for @grayman4hire ;-)

This patch brings support for TP-Link TL-MR13U in Attitude Adjustment 12.09 (r37729, latest release for AA):

diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
index 416322d..7590414 100755
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -139,6 +139,7 @@ get_status_led() {
     tl-wr941nd)
         status_led="tp-link:green:system"
         ;;
+    tl-mr13u | \
     tl-wdr4300 | \
     tl-wr703n)
         status_led="tp-link:blue:system"
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/network b/target/linux/ar71xx/base-files/etc/uci-defaults/network
index 7fa219d..6daf568 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/network
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/network
@@ -154,6 +154,7 @@ eap7660d |\
 mr600 |\
 rb-411 |\
 tl-mr11u |\
+tl-mr13u |\
 tl-mr3020 |\
 tl-mr3040 |\
 tl-wa901nd |\
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index 2bc8194..ed3b33e 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -111,6 +111,9 @@ tplink_board_detect() {
     "110101"*)
         model="TP-Link TL-MR11U"
         ;;
+    "001301"*)
+        model="TP-Link TL-MR13U"
+        ;;
     "302000"*)
         model="TP-Link TL-MR3020"
         ;;
@@ -384,6 +387,9 @@ ar71xx_board_detect() {
     *"TL-MR11U")
         name="tl-mr11u"
         ;;
+    *"TL-MR13U")
+        name="tl-mr13u"
+        ;;
     *UniFi)
         name="unifi"
         ;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 49b1de9..c105318 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -148,6 +148,7 @@ platform_check_image() {
         return 1
         ;;
     tl-mr11u | \
+    tl-mr13u | \
     tl-mr3020 | \
     tl-mr3040 | \
     tl-mr3220 | \
diff --git a/target/linux/ar71xx/config-3.3 b/target/linux/ar71xx/config-3.3
index 446f202..ff1db6a 100644
--- a/target/linux/ar71xx/config-3.3
+++ b/target/linux/ar71xx/config-3.3
@@ -56,6 +56,7 @@ CONFIG_ATH79_MACH_TEW_632BRP=y
 CONFIG_ATH79_MACH_TEW_673GRU=y
 CONFIG_ATH79_MACH_TEW_712BR=y
 CONFIG_ATH79_MACH_TL_MR11U=y
+CONFIG_ATH79_MACH_TL_MR13U=y
 CONFIG_ATH79_MACH_TL_MR3020=y
 CONFIG_ATH79_MACH_TL_MR3X20=y
 CONFIG_ATH79_MACH_TL_WA901ND=y
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr13u.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr13u.c
new file mode 100644
index 0000000..8b03645
--- /dev/null
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr13u.c
@@ -0,0 +1,107 @@
+/*
+ *  TP-LINK TL-MR13U board support
+ *
+ *  Copyright (C) 2011 dongyuqi <729650915@qq.com>
+ *  Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
+ *
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ */
+
+#include <linux/gpio.h>
+
+#include <asm/mach-ath79/ath79.h>
+
+#include "dev-eth.h"
+#include "dev-gpio-buttons.h"
+#include "dev-leds-gpio.h"
+#include "dev-m25p80.h"
+#include "dev-usb.h"
+#include "dev-wmac.h"
+#include "machtypes.h"
+
+#define TL_MR13U_GPIO_LED_SYSTEM    27
+
+#define TL_MR13U_GPIO_BTN_RESET        11
+#define TL_MR13U_GPIO_BTN_SW1        6
+#define TL_MR13U_GPIO_BTN_SW2        7
+
+#define TL_MR13U_GPIO_USB_POWER        18
+
+#define TL_MR13U_KEYS_POLL_INTERVAL    20    /* msecs */
+#define TL_MR13U_KEYS_DEBOUNCE_INTERVAL    (3 * TL_MR13U_KEYS_POLL_INTERVAL)
+
+static const char *tl_mr13u_part_probes[] = {
+    "tp-link",
+    NULL,
+};
+
+static struct flash_platform_data tl_mr13u_flash_data = {
+    .part_probes    = tl_mr13u_part_probes,
+};
+
+static struct gpio_led tl_mr13u_leds_gpio[] __initdata = {
+    {
+        .name        = "tp-link:blue:system",
+        .gpio        = TL_MR13U_GPIO_LED_SYSTEM,
+        .active_low    = 1,
+    },
+};
+
+static struct gpio_keys_button tl_mr13u_gpio_keys[] __initdata = {
+    {
+        .desc        = "reset",
+        .type        = EV_KEY,
+        .code        = KEY_RESTART,
+        .debounce_interval = TL_MR13U_KEYS_DEBOUNCE_INTERVAL,
+        .gpio        = TL_MR13U_GPIO_BTN_RESET,
+        .active_low    = 0,
+    },
+    {
+        .desc        = "sw1",
+        .type        = EV_KEY,
+        .code        = BTN_0,
+        .debounce_interval = TL_MR13U_KEYS_DEBOUNCE_INTERVAL,
+        .gpio        = TL_MR13U_GPIO_BTN_SW1,
+        .active_low    = 0,
+    },
+    {
+        .desc        = "sw2",
+        .type        = EV_KEY,
+        .code        = BTN_1,
+        .debounce_interval = TL_MR13U_KEYS_DEBOUNCE_INTERVAL,
+        .gpio        = TL_MR13U_GPIO_BTN_SW2,
+        .active_low    = 0,
+    },
+};
+
+static void __init tl_mr13u_setup(void)
+{
+    u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
+    u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
+
+    /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
+    ath79_setup_ar933x_phy4_switch(false, false);
+
+    ath79_register_m25p80(&tl_mr13u_flash_data);
+    ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_mr13u_leds_gpio),
+                 tl_mr13u_leds_gpio);
+    ath79_register_gpio_keys_polled(-1, TL_MR13U_KEYS_POLL_INTERVAL,
+                    ARRAY_SIZE(tl_mr13u_gpio_keys),
+                    tl_mr13u_gpio_keys);
+
+    gpio_request_one(TL_MR13U_GPIO_USB_POWER,
+             GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+             "USB power");
+    ath79_register_usb();
+
+    ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
+
+    ath79_register_mdio(0, 0x0);
+    ath79_register_eth(0);
+    ath79_register_wmac(ee, mac);
+}
+
+MIPS_MACHINE(ATH79_MACH_TL_MR13U, "TL-MR13U", "TP-LINK TL-MR13U v1",
+         tl_mr13u_setup);
diff --git a/target/linux/ar71xx/generic/profiles/tp-link.mk b/target/linux/ar71xx/generic/profiles/tp-link.mk
index 07d7059..34c7933 100644
--- a/target/linux/ar71xx/generic/profiles/tp-link.mk
+++ b/target/linux/ar71xx/generic/profiles/tp-link.mk
@@ -16,6 +16,17 @@ endef
 $(eval $(call Profile,TLMR11U))
 
 
+define Profile/TLMR13U
+    NAME:=TP-LINK TL-MR13U
+    PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+
+define Profile/TLMR13U/Description
+    Package set optimized for the TP-LINK TL-MR13U.
+endef
+$(eval $(call Profile,TLMR13U))
+
+
 define Profile/TLMR3020
     NAME:=TP-LINK TL-MR3020
     PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index 9ebe486..5206b9b 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -873,6 +873,7 @@ $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV4,tl-wr941nd-v4,TL-WR74
 $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR1043,tl-wr1043nd-v1,TL-WR1043ND,ttyS0,115200,0x10430001,1,8M))
 
 $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLMR11U,tl-mr11u-v1,TL-MR11U,ttyATH0,115200,0x00110101,1,4Mlzma))
+$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLMR13U,tl-mr13u-v1,TL-MR13U,ttyATH0,115200,0x00130101,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLMR3020,tl-mr3020-v1,TL-MR3020,ttyATH0,115200,0x30200001,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLMR3040,tl-mr3040-v1,TL-MR3040,ttyATH0,115200,0x30400001,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,4Mlzma))
diff --git a/target/linux/ar71xx/patches-3.3/930-add-tl-mr13u-support.patch b/target/linux/ar71xx/patches-3.3/930-add-tl-mr13u-support.patch
new file mode 100644
index 0000000..2daf6cd
--- /dev/null
+++ b/target/linux/ar71xx/patches-3.3/930-add-tl-mr13u-support.patch
@@ -0,0 +1,39 @@
+--- a/arch/mips/ath79/Kconfig
++++ b/arch/mips/ath79/Kconfig
+@@ -441,6 +441,16 @@ config ATH79_MACH_TL_MR11U
+     select ATH79_DEV_USB
+     select ATH79_DEV_WMAC
+ 
++config ATH79_MACH_TL_MR13U
++    bool "TP-LINK TL-MR13U support"
++    select SOC_AR933X
++    select ATH79_DEV_ETH
++    select ATH79_DEV_GPIO_BUTTONS
++    select ATH79_DEV_LEDS_GPIO
++    select ATH79_DEV_M25P80
++    select ATH79_DEV_USB
++    select ATH79_DEV_WMAC
++
+ config ATH79_MACH_TL_MR3020
+     bool "TP-LINK TL-MR3020 support"
+     select SOC_AR933X
+--- a/arch/mips/ath79/Makefile
++++ b/arch/mips/ath79/Makefile
+@@ -75,6 +75,7 @@ obj-$(CONFIG_ATH79_MACH_TEW_632BRP)    += m
+ obj-$(CONFIG_ATH79_MACH_TEW_673GRU)    += mach-tew-673gru.o
+ obj-$(CONFIG_ATH79_MACH_TEW_712BR)    += mach-tew-712br.o
+ obj-$(CONFIG_ATH79_MACH_TL_MR11U)    += mach-tl-mr11u.o
++obj-$(CONFIG_ATH79_MACH_TL_MR13U)    += mach-tl-mr13u.o
+ obj-$(CONFIG_ATH79_MACH_TL_MR3020)    += mach-tl-mr3020.o
+ obj-$(CONFIG_ATH79_MACH_TL_MR3X20)    += mach-tl-mr3x20.o
+ obj-$(CONFIG_ATH79_MACH_TL_WA901ND)    += mach-tl-wa901nd.o
+--- a/arch/mips/ath79/machtypes.h
++++ b/arch/mips/ath79/machtypes.h
+@@ -72,6 +72,7 @@ enum ath79_mach_type {
+     ATH79_MACH_TEW_673GRU,        /* TRENDnet TEW-673GRU */
+     ATH79_MACH_TEW_712BR,        /* TRENDnet TEW-712BR */
+     ATH79_MACH_TL_MR11U,        /* TP-LINK TL-MR11U */
++    ATH79_MACH_TL_MR13U,        /* TP-LINK TL-MR13U */
+     ATH79_MACH_TL_MR3020,        /* TP-LINK TL-MR3020 */
+     ATH79_MACH_TL_MR3040,        /* TP-LINK TL-MR3040 */
+     ATH79_MACH_TL_MR3220,        /* TP-LINK TL-MR3220 */
diff --git a/tools/firmware-utils/src/mktplinkfw.c b/tools/firmware-utils/src/mktplinkfw.c
index 2be6335..595e6f9 100644
--- a/tools/firmware-utils/src/mktplinkfw.c
+++ b/tools/firmware-utils/src/mktplinkfw.c
@@ -30,6 +30,7 @@
 #define ALIGN(x,a) ({ typeof(a) __a = (a); (((x) + __a - 1) & ~(__a - 1)); })
 
 #define HEADER_VERSION_V1    0x01000000
+#define HWID_TL_MR13U_V1    0x00130101
 #define HWID_TL_MR3020_V1    0x30200001
 #define HWID_TL_MR3220_V1    0x32200001
 #define HWID_TL_MR3420_V1    0x34200001
@@ -179,6 +180,11 @@ static struct flash_layout layouts[] = {
 
 static struct board_info boards[] = {
     {
+        .id        = "TL-MR13Uv1",
+        .hw_id        = HWID_TL_MR13U_V1,
+        .hw_rev        = 1,
+        .layout_id    = "4Mlzma",
+    }, {
         .id        = "TL-MR3020v1",
         .hw_id        = HWID_TL_MR3020_V1,
         .hw_rev        = 1,

You can get a patch file, firmware images and some packages from MEGA:

20130807 (Folder Link, 38.1 MiB)
https://mega.co.nz/#F!UVQmibwD!YYg-tmcyCaZpKtmAOpPsBA

WARNING: I had no time to test this build, so use it at your own risk (or wait till I get some time to test it).


@otlabs I installed your factory version from this post but it's got a password, can you please make it public or send it to me at peterstavroulakis@hotmail.com as I've installed it on two routers now!! Thanks.

The discussion might have continued from here.