OpenWrt Forum Archive

Topic: TP-Link TL-MR12U - small router with built-in 5,200 mAh battery

The content of this topic has been archived between 6 Feb 2018 and 28 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Wiki page (http://wiki.openwrt.org/toh/tp-link/tl-mr12u) was recently updated with OpenWRT bootlog, soI assume that the router has support for OpenWRT now.

It would be nice if the person who managed to run OpenWRT on TL-MR12U can share details of his/her work, like publishing a patch to add support for this router in trunc.

The wiki page update to add the bootlog was done by p1vo...

And the kernel line suggests a build by

cezary@eko.one.pl on Wed Jul 3 21:27:19 CEST 2013

I'd love to know that this model is supported too... it fits the requirements for a project I would like to do perfectly.

(Last edited by bluearcus on 9 Sep 2013, 12:58)

It's me. Supported by generic image for MR3040.

Just wondered if there were any suggestions for how to install on an MR12U? I've tried various MR3040 images (as above) but all return error messages.

Just to update this thread - the instructions from obsy are;

obsy wrote:

Just add

$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLMR12UV1,tl-mr12u-v1,TL-MR3040,ttyATH0,115200,0x00120101,1,4Mlzma))

(this should be all be one line - no linefeeds)

to target/linux/ar71xx/image/Makefile and recompile sources.

I'm going to try this and will update here with results.

(Last edited by cpjackso on 5 Oct 2013, 10:49)

Any joy with building a working image then?

Please, try to build with this set of patches:

diff --git a/target/linux/ar71xx/generic/profiles/tp-link.mk b/target/linux/ar71xx/generic/profiles/tp-link.mk
index b7d4ec0..b18c364 100644
--- a/target/linux/ar71xx/generic/profiles/tp-link.mk
+++ b/target/linux/ar71xx/generic/profiles/tp-link.mk
@@ -38,6 +38,17 @@ endef
 $(eval $(call Profile,TLMR11U))
 
 
+define Profile/TLMR12U
+    NAME:=TP-LINK TL-MR12U
+    PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+
+define Profile/TLMR12U/Description
+    Package set optimized for the TP-LINK TL-MR12U.
+endef
+$(eval $(call Profile,TLMR12U))
+
+
 define Profile/TLMR13U
     NAME:=TP-LINK TL-MR13U
     PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index a1b53bc..4d1ba18 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -910,6 +910,7 @@ $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC7,archer-c7-v1,ARCHER-C7,t
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR10U,tl-mr10u-v1,TL-MR10U,ttyATH0,115200,0x00100101,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV1,tl-mr11u-v1,TL-MR11U,ttyATH0,115200,0x00110101,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV2,tl-mr11u-v2,TL-MR11U,ttyATH0,115200,0x00110102,1,4Mlzma))
+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR12UV1,tl-mr12u-v1,TL-MR3040,ttyATH0,115200,0x00120101,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR13U,tl-mr13u-v1,TL-MR13U,ttyATH0,115200,0x00130101,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR3020,tl-mr3020-v1,TL-MR3020,ttyATH0,115200,0x30200001,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR3040V1,tl-mr3040-v1,TL-MR3040,ttyATH0,115200,0x30400001,1,4Mlzma))
diff --git a/tools/firmware-utils/src/mktplinkfw.c b/tools/firmware-utils/src/mktplinkfw.c
index 2574678..a7ca728 100644
--- a/tools/firmware-utils/src/mktplinkfw.c
+++ b/tools/firmware-utils/src/mktplinkfw.c
@@ -31,6 +31,7 @@
 
 #define HEADER_VERSION_V1    0x01000000
 #define HWID_TL_MR10U_V1    0x00100101
+#define HWID_TL_MR12U_V1    0x00120101
 #define HWID_TL_MR13U_V1    0x00130101
 #define HWID_TL_MR3020_V1    0x30200001
 #define HWID_TL_MR3220_V1    0x32200001
@@ -200,6 +201,11 @@ static struct board_info boards[] = {
         .hw_rev        = 1,
         .layout_id    = "4Mlzma",
     }, {
+        .id        = "TL-MR12Uv1",
+        .hw_id        = HWID_TL_MR12U_V1,
+        .hw_rev        = 1,
+        .layout_id    = "4Mlzma",
+    }, {
         .id        = "TL-MR13Uv1",
         .hw_id        = HWID_TL_MR13U_V1,
         .hw_rev        = 1,

Get raw patch from http://pastebin.com/8MEZ1wpS

I have not tested them as I do not have the TL-MR12U, but I expect this should generate correct firmware file. Use at your own risk.

have anyone succeeded with installing openwrt on this one? I wish I could use mine TL-MR12U but everything is in chinese! If the "raw patch" in the previous post works, can someone give me some hints/links about how to do a so called raw patch?

hrr, I have installed Gargoyle (based on OpenWRT) onto my TL-MR12U using the image from obsy (cezary@eko.one.pl) available here:

http://ecco.selfip.net/gargoyle-pl/atti … nt/ar71xx/

which seems to be based on the MR3040 image. I haven't tested it extensively, but it seems to work fine. I believe the TL-MR10U, TL-MR12U, and TL-MR13U images should all be pretty much interchangeable, just with some differences in the headers (and some slight differences in the hardware, like the 3G/Router/AP switch)

Hello,
A colleague have the same router TL-MR12U v2.
Have you got news about new image or patch?
Could I help you sending informations?

Hey guys, i flashed my mr12u with a modified mr3040 image according to the patches above and worked fine.
Today i duplicated patches for mr13u and adjusted them for building mr12u image. My trunk successfully generated factory and sysupgrade images for tp-link mr12u v1 and the sysupgrade image flashed successfully (cat /proc/cpuinfo still shows MR13U). Can you guys test the patches on your trunks and confirm the factory images writes successfully over the original chinese firmware?

https://lists.openwrt.org/pipermail/ope … 31209.html
https://lists.openwrt.org/pipermail/ope … 31210.html
https://lists.openwrt.org/pipermail/ope … 31212.html

Check your last patch. It reads:

+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR12U,tl-mr12u-v1,TL-MR13U,ttyATH0,115200,0x00120101,1,4Mlzma))

and it should be:

+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR12U,tl-mr12u-v1,TL-MR12U,ttyATH0,115200,0x00120101,1,4Mlzma))
otlabs wrote:

Check your last patch. It reads:

+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR12U,tl-mr12u-v1,TL-MR13U,ttyATH0,115200,0x00120101,1,4Mlzma))

and it should be:

+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR12U,tl-mr12u-v1,TL-MR12U,ttyATH0,115200,0x00120101,1,4Mlzma))

No, it uses the mr13u mach to avoid duplicate kernel patching for m12u smile

I have a M12u V2 and the web interface is in Chinese. Can someone post an update file I can flash so I will get openwrt or gargoyle on this little router? I have no experience at all with building from source, so if someone can help me out, that would be nice.

DenisFr wrote:

Hello,
A colleague have the same router TL-MR12U v2.
Have you got news about new image or patch?
Could I help you sending informations?

sjokki wrote:

I have the TL-MR12U v2. I found the Gargoyle file at http://openwrt.jaru.eu.org/gargoyle-pl/ … nt/ar71xx/ but it is for v1.

What has to be changed in the patch to make it work for v2?

antonclaeys wrote:

I have a M12u V2 and the web interface is in Chinese. Can someone post an update file I can flash so I will get openwrt or gargoyle on this little router? I have no experience at all with building from source, so if someone can help me out, that would be nice.

I checked some Chinese website. It suggest MR12U v2 is same as MR13U v1. You can use openwrt-ar71xx-generic-tl-mr13u-v1-squashfs-factory.bin found on http://wiki.openwrt.org/toh/tp-link/tl-mr13u or Gargoyle to flash your MR12U V2.

I have a MR12U v2 and I have no luck with any version of firmware I can find, the MR13U v1 firmware did not work.  The upgrade screen appears to be reporting in Chinese that the version number is wrong.  If I am following this thread right the advise is to rebuild the factory image from the source to create a version with a header that claims to be version 2.  From what I understand the factory versions are the normally OpenWRT files with the header added so the factory software will accept it.  In this case could I not simply use a hex editior to fix the version number reported to the factory upgrade software?  Is the TP-Link update file format documented somewhere?  Do anyone see why this would not work?

ukoda wrote:

I have a MR12U v2 and I have no luck with any version of firmware I can find, the MR13U v1 firmware did not work.  The upgrade screen appears to be reporting in Chinese that the version number is wrong.  If I am following this thread right the advise is to rebuild the factory image from the source to create a version with a header that claims to be version 2.  From what I understand the factory versions are the normally OpenWRT files with the header added so the factory software will accept it.  In this case could I not simply use a hex editior to fix the version number reported to the factory upgrade software?  Is the TP-Link update file format documented somewhere?  Do anyone see why this would not work?

I found there is one Chinese app which can modify the version number of firmware.

Download: https://drive.google.com/file/d/0B8iUGc … sp=sharing

http://i.imgur.com/9UcbSL3.png

Just use it to open up official Mr13U v1 firmware and modify as shown in the picture, then flash it in TP-Link official firmware, after that you can use it normally or upgrade in OpenWrt to the "real" MR13U firmware.

why not simply fix the source and submit patch?

jerryhou85 wrote:

I found there is one Chinese app which can modify the version number of firmware.

Download: https://drive.google.com/file/d/0B8iUGc … sp=sharing

Just use it to open up official Mr13U v1 firmware and modify as shown in the picture, then flash it in TP-Link official firmware, after that you can use it normally or upgrade in OpenWrt to the "real" MR13U firmware.

Thanks for that, apart from the hassle of finding a Windows PC that tool  did the job and I now have my TL-MR12U running OpenWRT.  Much appreciated.

anarchy99 wrote:

why not simply fix the source and submit patch?

Because patching is much quicker and easier.

The problem with your suggestion is the word 'simply'.  However your suggestion is the proper way to do things, so I may look into it regardless of now having a working unit.

ukoda wrote:
jerryhou85 wrote:

I found there is one Chinese app which can modify the version number of firmware.

Download: https://drive.google.com/file/d/0B8iUGc … sp=sharing

Just use it to open up official Mr13U v1 firmware and modify as shown in the picture, then flash it in TP-Link official firmware, after that you can use it normally or upgrade in OpenWrt to the "real" MR13U firmware.

Thanks for that, apart from the hassle of finding a Windows PC that tool  did the job and I now have my TL-MR12U running OpenWRT.  Much appreciated.

Glad to hear that. But due to limited RAM it got, you may find there would be not much space left for you install other packages.

Solutions I found to solve this issue are:
1. Use ImageBuilder to add in packages I need and then re-build. Only downside is you will lose Luci. (I did it successfully with this method.)
2. Compile and build from source, you can add in Luci and packages you want. (But I failed during compiling, no time to look into it yet...)

Well, ultimate solution would be hard hack it and add in some RAM... smile

Hope this post helps.

jerryhou85 wrote:

... But due to limited RAM it got, you may find there would be not much space left for you install other packages.

Solutions I found to solve this issue are:
1. Use ImageBuilder to add in packages I need and then re-build. Only downside is you will lose Luci. (I did it successfully with this method.)
2. Compile and build from source, you can add in Luci and packages you want. (But I failed during compiling, no time to look into it yet...)

Well, ultimate solution would be hard hack it and add in some RAM... smile

Hope this post helps.

Thanks, I have had good results with the TL-WR703N by installing the minimum of packages to support using an external USB flash drive and then installing the remainder of the programs there.  If I do run short even doing that then I will try what you are suggesting.  I have just been running thought the process of setting up the build environment so I can learn about making my own builds.

jerryhou85 wrote:

I found there is one Chinese app which can modify the version number of firmware.

Just use it to open up official Mr13U v1 firmware and modify as shown in the picture, then flash it in TP-Link official firmware, after that you can use it normally or upgrade in OpenWrt to the "real" MR13U firmware.

It works!!! No need to unpack the case!!! Thank you!!!