Support for Strong 1200

Tried another microSD card and work like a charm.

Further details in a different post: Help with ramips microSD support

Hello,

After some research, I think I understand why flash squashfs.bin images from the OEM web interface is not working.

When you upload a firmware to the webpage, it get the full size from uImage Data header and not the file size.

That mean, if the full OpenWrt firmware is 7 MB, in the uImage header will appear a size of ~1,8 MB, corresponding to the Kernel.

The main problem is that doing some hacks (set uImage header to 7 MB) WILL flash the whole image, BUT OpenWrt will supose that the Kernel is 7 MB (instead of 1,8 MB) and the boot will fail:

[    2.861104] spi-mt7621 1e000b00.spi: sys_freq: 50000000
[    2.872486] m25p80 spi0.0: mx25l12805d (16384 Kbytes)
[    2.882661] 5 fixed-partitions partitions found on MTD device spi0.0
[    2.895328] Creating 5 MTD partitions on "spi0.0":
[    2.904883] 0x000000000000-0x000000030000 : "Bootloader"
[    2.916770] 0x000000030000-0x000000040000 : "Config"
[    2.927854] 0x000000040000-0x000000050000 : "Factory"
[    2.939132] 0x000000050000-0x000000ff0000 : "firmware"
[    2.951865] random: fast init done
[    2.991139] 0x000000ff0000-0x000001000000 : "Second_Config"
[    3.004283] libphy: Fixed MDIO Bus: probed
[    3.076818] libphy: mdio: probed
[    4.483005] mtk_soc_eth 1e100000.ethernet: loaded mt7530 driver
[    4.495632] mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 17
[    4.515354] NET: Registered protocol family 10
[    4.525766] Segment Routing with IPv6
[    4.533132] NET: Registered protocol family 17
[    4.542097] 8021q: 802.1Q VLAN Support v1.8
[    4.553483] hctosys: unable to open rtc device (rtc0)
[    4.564464] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[    4.579369] Please append a correct "root=" boot option; here are the available partitions:
[    4.596007] 1f00             192 mtdblock0 
[    4.596014]  (driver?)
[    4.609009] 1f01              64 mtdblock1 
[    4.609015]  (driver?)
[    4.622015] 1f02              64 mtdblock2 
[    4.622021]  (driver?)
[    4.635030] 1f03           16000 mtdblock3 
[    4.635036]  (driver?)
[    4.648030] 1f04              64 mtdblock4 
[    4.648035]  (driver?)
[    4.659316] mtk_soc_eth 1e100000.ethernet eth0: port 3 link up
[    4.672633] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    4.690729] Rebooting in 1 seconds..

Not sure if is possible to force OpenWrt to ignore uImage header data size...

WiFi LEDs fixed!

https://forum.openwrt.org/t/why-some-mt7621-leds-are-not-working/23939/2

FYI - snapshot support for MTC Wireless Router WR1201 (aka STRONG Dual Band Gigabit Router 1200) has been added with https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=30a7ab8f61c8a5f1a4428f8c7cf9a1d6a12b096b

snapshot images are available for download.

1 Like

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,