Support for Strong 1200

Nice!

Maybe someone have this one and could report us if it works as well as with Strong.

Salu2

1 Like

Hi, the Strong 1200 working for a month without any issues with latest snapshot without LuCi because I used it just for internet access nothing more. The performance is excellent. So thank you for your effort :slight_smile:

Hi, accidentally I downgraded via sysupgrade -F and now router is bricked with blank configuration. How can I manage to login? with serial or via usb?

Probably you can access to the router through OpenWrt Failsafe mode (99%). In the worst scenario, you need to open the router and connect through Serial GPIO with a USB-to-TTL adapter.

Hi, I have tried via Failsafe mode but with no success. There is no blinking led. Anyway, I will try with serial but can you confirm that this is the GPIO ports on the board ? (with red line on the picture):

Thanks

I just got the HooToo HT-ND001 version of this router to play with, loaded up an OpenWRT snapshot following the instructions, and I noticed that /proc/cpuinfo was only showing 1C/2T. After looking here, I saw that this matched with the info shown here for the Strong 1200 version of the router. Being the curious sort, I opened up my router and popped off the heat sink to see if the cpu was really the single core MT7621ST. However, what I found was a proper dual core MT7621AT.

So, a look at the u-boot source for similar MT7621 routers (since the specific source for the HooToo HT-ND001 / Strong 1200 / MTC WR1201 didn't seem to be available) indicated that it was likely that the u-boot used was not configured with dual core support turned on when it was built. Luckily, the way they had structured the initialization code, indicated that a 1 bit patch of the u-boot image (to set the "more cores" count during initialization from '0' to '1') might solve the issue an properly enable the second core.

So, I saved a copy of the the original HooToo HT-ND001 u-boot partition off to my PC did some quick disassembly, and produced a patched (changed 1 whole bit) u-boot image that has the proper core count set for the MT7621AT. After using the kmod-mtd-rw module to allow writing the image to the correct mtd partition (which OpenWRT normally keeps read only for safety) and rebooting, I now have 2C/4T showing inside of OpenWRT.

From looking here, the u-boot bootloader partition that I dumped from the HooToo HT-ND001 is identical to the one posted here for the Strong 1200 (SHA256 match), so it should work the same on either router.

For any highly adventurous sorts, I've posed the 2 u-boot files (original and modified) here on my google drive. I've not included further instructions at the moment, as the risk of bricking your router if something goes wrong flashing the bootloader is VERY VERY HIGH. I've only done this on my own personal HooToo router, which I had physically verified contained the MT7621AT chip.

https://drive.google.com/open?id=1MKm4O199JjsJoHe0z0Qqg8XAr6iLFY90

MTC_WR1201_uboot_original.img (hash matches the image for the Strong 1200 posted above)
SHA256: 9A3EFBD7AC70946B144A97752DA25C4FF1D663D082D634927BBC5D01C73878B1

MTC_WR1201_uboot_modified.img (A 1 bit change at 0x708)
SHA256: 3349323201EA4430F6232D558CE30BD1B064F18DBE0090E5F98BAC3AB9A95EBA

5 Likes

Is there a way to check the processor short of tearing the heatsink off? Kinda hoping to not accidentally destroy things.

From what the bootloader normally does if dual core support is compiled in, you read the memory word at 0xBE00000C, and check bit 17 of the result (1 == 2 cores, 0 == 1 core). I've not checked mine this way, as I'm not aware of an easy way to do this on OpenWRT

Hi,

Just tested the mod with a Strong1200 and works perfectly:

# cat /proc/cpuinfo 
system type             : MediaTek MT7621 ver:1 eco:3
machine                 : MTC Wireless Router WR1201
processor               : 0
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
Options implemented     : tlb 4kex 4k_cache prefetch mcheck ejtag llsc pindexed_dcache userlocal vint perf_cntr_intr_bit cdmm nan_legacy nan_2008 perf
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VPE                     : 0
VCED exceptions         : not available
VCEI exceptions         : not available

processor               : 1
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
Options implemented     : tlb 4kex 4k_cache prefetch mcheck ejtag llsc pindexed_dcache userlocal vint perf_cntr_intr_bit cdmm nan_legacy nan_2008 perf
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VPE                     : 1
VCED exceptions         : not available
VCEI exceptions         : not available

processor               : 2
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
Options implemented     : tlb 4kex 4k_cache prefetch mcheck ejtag llsc pindexed_dcache userlocal vint perf_cntr_intr_bit cdmm nan_legacy nan_2008 perf
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 1
VPE                     : 0
VCED exceptions         : not available
VCEI exceptions         : not available

processor               : 3
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
Options implemented     : tlb 4kex 4k_cache prefetch mcheck ejtag llsc pindexed_dcache userlocal vint perf_cntr_intr_bit cdmm nan_legacy nan_2008 perf
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 1
VPE                     : 1
VCED exceptions         : not available
VCEI exceptions         : not available

# sha256sum /dev/mtd0
3349323201ea4430f6232d558ce30bd1b064f18dbe0090e5f98bac3ab9a95eba  /dev/mtd0

:+1::+1::+1::+1:

Dear vk496,
I would like to know, if the image is safely flashable to the device without any serial connection jig / equipment available.
I do not want to "open" the case of the router, nor solder it.

Thank you for your answer,

No need to open the router to access the serial to be able to flash it, but you need to be comfortable with ssh and the linux shell in order to do it. You install kmod-mtd-rw from opkg, load the mtd-rw module with the proper command, and use the mtd command to write the patched bootloader to the proper mtd partition containing the bootloader. When you reboot the router it will come up showing the full 2C/4T.

!!!!! If you do it wrong, you can brick the router. Especially if you don't check that the bootloader partition sha256 is correct (matching either "original" or "mod") BEFORE you reboot the router. !!!!!

Hello,

I upgraded the firmware through the OEM menu, the router has restarted but I can't access the openwrt interace.

A port scan showed me that only ssh is open.

So I connected, put the sysupgrade.bin in /tmp/* and tried mtd -r write *

Got an error:

The device is in the format of mtdX (eg: mtd4) or its label.

I can't figure out what to do next, any help is appreciated! :slight_smile:

You have installed a snapshot image.

https://openwrt.org/playground/faq/can_not_connect_via_webbrowser

Thank you for the answer; this will be for me only the second step. First I would like to go from Strong fw to Openwrt one; with luci etc...
In case the bootloader is not modified the router performance will be "less" than previously with the orignal fw?

This is the point why I was "stopped" to install it; I have seen you need to do 2 times fw install, first time with the "openwrt-ramips-mt7621-mtc_wr1201-initramfs-kernel.bin", after than the sysupgrade (openwrt-ramips-mt7621-mtc_wr1201-squashfs-sysupgrade.bin). But this was not described in details; for sure you wont have "normal" interface, only ssh; but what is the level of this firmware compared to having a full-functional openwrt. I would like to ask as well some more details;
If you succeed please share!
I planned to follow this info:https://openwrt.org/docs/guide-user/installation/sysupgrade.cli
https://openwrt.org/docs/guide-user/installation/generic.sysupgrade
Thank you,

Do you think it is safe to upgrade this to a Strong? I have downloaded it, but I am waiting for someone confirmation with more experience to avoid bricking my main router. Actually only one thing is badly configurable in Strong (for me) - the MAC filtering rules only allow 16 entries (why???); otherwise everything is "acceptable"; [but really far-far the possible options compared with my old TP-Link 1043ND]

Thanks tmomas for your fast answer,

I was under the impression that I had to use the snapshot builds since they were included in the main post.

However I don't understand how I can revert the process now. I tried to edit /etc/config/network to change the ip (to install Luci from command line) but got an error saying that I don't have any space left on the device. So I only have read access?

Then I changed the ip of my main router. Because both were 192.168.1.1

Now I had internet access on the Strong router.

I tried

opkg update

success

opkg install luci

error no space left

Thanks for your help

Yes, is safe. Only be sure of flashing the images from Drive (to have LuCi during the process). If you are comfortable with console and ssh, snapshots are fine.

Modifying the bootloader IS NOT PART of the process to install OpenWrt. Is completely optional and up to each one.

If you are not sure what you are doing, better stay away from the MOD (which is COMPLETLY OPTIONAL and UNRELATED to the OpenWrt flash process).

If you want LuCi after flashing, please, make sure you continue the process with images hosted on Google Drive and not the snapshots.

First post edited with clarifications. Flashing through SSH the second image is pretty simple:

  1. Copy the sysupgrade image from Drive to /tmp path of the router (other locations probably will not work)
  2. Flash the new firmware: sysupgrade -n /tmp/openwrt-ramips-mt7621-mtc_wr1201-squashfs-sysupgrade.bin
1 Like

First post edited with clarifications. Flashing through SSH the second image is pretty simple:

  1. Copy the sysupgrade image from Drive to /tmp path of the router (other locations probably will not work)
  2. Flash the new firmware: sysupgrade -n /tmp/openwrt-ramips-mt7621-mtc_wr1201-squashfs-sysupgrade.bin

Thanks for your reply. I started sysupgrade but sadly no open port besides 22/ssh on the router.

How can I reset the router with the factory image?

Is it
sysupgrade -n openwrt*revert-oem.bin?

You need to connect to the router through SSH and execute the commands there.

For going back to OEM firmware you need to do exactly the same, but using the OEM firmware provided in the Drive folder

1 Like