Support for Strong 1200

Hello,

Thnks for the info. In addition to LuCI, do you know which packages are included into release images?

I didn't found buildlogs of release images and I'm not sure which are the exactly differences between snapshot and release.

BR

Please see config.seed.

1 Like

Thnks so much!

I've updated the images with luci and the packages that usually are in release images.

Good Morning,

I have the Strong 1200 router, when installing firmware openwrt gave an error starting and now I can not get it to work.
I can access by ssh and putty, is there a solution?

There's another rebrand of this MTC Wireless Router WR1201 for the US market.

https://www.hootoo.com/hootoo-ac1200-dual-band-wireless-router.html

Model number HT-ND001 and should have the same WR1201-ZC01-01 board as well. Thankfully there is a firmware file for this one that you can get from their website that you can find below.

https://www.hootoo.com/downloads-HT-ND001.html
https://www.hootoo.com/media/downloads/ND001.zip

WikiDevi link: https://wikidevi.com/wiki/HooToo_HT-ND001

1 Like

Please, describe better what you exactly did and what is happening right now.

Salu2

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?