HooToo HT-TM01 - How to flash Stock Firmware?

I tried upgrading the firmware of my HooToo Tripmate Nano (HT-TM02) but failed, now the device's blue LED keep on blinking and I am not able to see the WIFI network, device became unusable, I have tried to reset by inserting the pin but it seems not to be working.

Can anybody help me to get my HT-TM-02 back to life

HT-TM02 had to switch to source-only, exactly of the same error.

Your last hope is the 19.07 release.

Thanks for creating the new openWRT page for the HooToo TM01. I'm happy to add instructions there, but please confirm what is the recommended installation procedure for a factory-new TM01:

  • install the OpenWrt 19.07 "Install" firmware linked there straight from the stock menu?
  • install wingspinner's TM02 image (using an empty USB stick), and then sysupgrade to 19.07?
  • or simply install the official release recommended on the generic openWRT page for TM01–04?

Hi @ubr :wave: !

Well, it's a little bit complicated. Let me explain.


Sadly the current support isn't as good as it could (should? :thinking:) be:

  • it overwrites device specific parts of the device: the params partition
  • it changes the way of the TFTP recovery
    • it listens on another address
    • it uses different filename
    • it uses one file instead of separate kernel and rootfs files
  • it creates a full backup to the usb drive where from the user installed, but
  • the user doesn't know about it, and wouldn't put it to a safe place

Because of the above I won't recommend the current way of installation. :confused:

I did my experiments (thanks @jwmullally for the initial work) about creating a safer device support which uses only the 1536 k Kernel_RootFS for kernel, and the 6144 k ​Rootfs partition for rootfs.
It's safe to use, and compatible with the official releases (currently 19.07.7).
(It's not finished yet, in terms of documentation :sweat_smile:)

But it's still a community build from a random guy from the Forum. :upside_down_face: So I couldn't recommend this too! :grinning:

Hi xabolcs, thanks four your quick response!

So what's the best way forward, given the situation?

  • happy to install your random-guy community build. I'd trust you :slightly_smiling_face: And I'd happily contribute to user-friendly documentation :sunglasses:
  • also fine to keep a USB stick in a safe place. Actually, if I get to install OpenWRT once on my TM01, I assume I'll be fine. I will run shairport-sync and that's it. If needed, I could live without OpenWRT updates etc.
  • it would be nice to be assured that with OpenWRT, the TM01's internal battery can still power the device. E.g. so that my TM01 can run for a while without external power attached, and re-charge later again when external power is available.
  • And in turn, ideally, that the battery could run in a way that the TM01 can still charge other devices if needed.

See my previous comments! :wink:


The most valuable contribution would be, IMHO:

After that, you could write about the two way of installing OpenWrt to the device with its pros and cons:

  • wingspinner's way:
    • easy installation through web interface :white_check_mark:
    • it creates a full backup from the device :white_check_mark:
      • should be put to a safe place
      • should be put to a safe place
      • should be put to a safe place
      • should be put to a safe place
      • should be put to a safe place
      • should be put to a safe place
      • should be put to a safe place
      • should be put to a safe place
    • it overwrites some device specific partition :x:
    • it needlessly replaces factory U-Boot :x:
    • which means other ways of TFTP recovery :x:
  • random community member, xabolcs's way:
    • no easy way installation (== TFTP recovery) :x:
    • compatible with original partition layout: 1536k kernel + 6144k rootfs :white_check_mark:
    • it keeps device specific partitions and U-Boot intact :white_check_mark:
      • it's compatible with the factory TFTP recovery
      • it's easy to revert to stock
      • keeps device's identity
    • created by Image Builder :white_check_mark:
      • no need for initial flashing, compatible with official release from the beginning
      • reproducible, customizable

After these are written down, then you could continue with the steps of installing them.
Please note, there is no easy way to go back and forth between the two installation. They aren't combatible with each other.
The only way is through stock firmware.

After these are written down, you could contribute to my readme.md, about installing, using and rolling back to stock, ...


Shairport-sync? I went to Snapcast way! :wink:

Well, I dug up my old HT-TM04 thinking I could use it in the vehicle on long roads, but the Android app will no longer works and found OWRT is supported on here. Apparently the same as the TM02, I started and use the option to firmware update in the stock unit:

openwrt-ramips-rt305x-ht-tm02-squashfs-factory-r44945-ws.bin

This worked, I logged in and poked around, then found the page for this unit here: https://openwrt.org/toh/hwdata/hootoo/hootoo_tripmate_elite_ht-tm04 which shows newer version of OWRT.

So from there I downloaded

openwrt-19.07.7-ramips-rt305x-ht-tm02-squashfs-sysupgrade.bin

Which went well. But checking through the menus, it was missing the Service menu that the previous version had as well as no way to map the USB drive.

So tried to flash the previous one back:

openwrt-ramips-rt305x-ht-tm02-squashfs-factory-r44945-ws.bin

Now it's hosed. Green light and Blue light are solid. Is there a way out of this? I can set up a TFTP but I couldn't find any stock firmware for this particular model.

Any help would be appreciated. Can't find any write up or links to the firmware although I saw someone posted some files here mid-thread...

thanks

This could become an interesting project. Obviously I prefer following your second option :slight_smile:

I'm just not sure how to help best, i.e. how to figure out how to actually go that route and install OpenWRT that way.

Where in your process are you stuck? Would it help you if I try opening my TM01 and attaching a serial connection, as I understand from your other post? I've done this in the past with other devices so I assume it's not a big challenge here, too.

But what would be a next step then? And how would we proceed from there?

Hi @teredactle !

You nicely softbricked your HT-TM04! :upside_down_face:

Factory files (like the openwrt-ramips-rt305x-ht-tm02-squashfs-factory-r44945-ws.bin) are for installing OpenWrt through vendor firmware, e.g. it's web UI.
You have to use factory.bin files only once! When your device first met with OpenWrt.

Sysupgrade files (openwrt-19.07.7-ramips-rt305x-ht-tm02-squashfs-sysupgrade.bin) are for installing OpenWrt through OpenWrt.
You have to use sysupgrade.bins files for upgrading and downgrading between OpenWrt versions.

You used factory.bin when your device already had OpenWrt installed. So you bricked. :man_shrugging:

Yep. Official OpenWrt release images contains a minimal package list, and the end users had to install the packages of their needs. (Snapshot images don't even contain LuCi.)

Wingspinner's images are prepared and filled with nice packages. :+1:


You have to revive your HT-TM04 through TFTP recovery!
Rewind the thread to my comment from Oct. 2020 and read through the whole thread! :wink:

You need your backup what openwrt-ramips-rt305x-ht-tm02-squashfs-factory-r44945-ws.bin did for you to your flash drive!
You need a TFTP server too. Windows and Linux has a few.

All your questions should have been answered in this thread! Read it carefully!
If not, then please split into a new HooToo HT-TM04 - How to flash Stock Firmware thread!

Ouf, I should have used this to downgrade I guess: openwrt-15.05.1-ramips-rt305x-ht-tm02-squashfs-sysupgrade.bin

I hope it's in this folder HT-FLASH on the USB stick.
image

This is not a problem.

I will look through this thread and see if I can do the recovery through TFTP.

Thanks for responding!!!

1 Like

Put that HT-FLASH directory to a safe place!

Good luck! You have all the files for success! :+1:

Question:

Is this folder the backup of the OEM/stock firmware, when one first does the upgrade to the factory.bin?
Or does that get overwritten again, when one does Luci upgrade using sysupgrade.bin? If it's the latter, I think I'm screwed... :slight_smile:

My kernel.bin and rootfs.bin files are installable through the vendor U-Boot's TFTP recovery.
Check for other HooToo device's TFTP recovery on the Wiki!

I responded there. I have "recipe problems". Serial won't help.

You came here to document these "how to back to stock" steps, to fill up the HT-TM01 device page on the Wiki. :wink:

I presented you already a roadmap. :slightly_smiling_face:
But if you don't like it, you could go different way:

  • create a common, SunValleyTek TFTP recovery page with the steps from e.g. HT-TM05 support commit, or from other HooToo / RAVPower device pages.
  • write a note about this duality of the device support, with their pros and cons.
  • my community build's installation is to install the kernel and root binaries through TFTP recovery

And if you still want to help, then ...

  • roll back to vendor firmware through TFTP recovery
  • install wingspinner's build
  • note that HT-FLASH backup!
  • try to roll back to vendor firmware with the steps from this thread!
  • document all the above :wink:

I have to open a topic for my community build! :grinning:
Please note that 19.07 is the last official OpenWrt build for TM01. I'll try to update my build to 21.02, but surely 21.02 will be my last OpenWrt release for these 8/32 devices. :confused:

Your backup looks good. Delete the openwrt.bin from it and will be ready to archive.

That HT-FLASH directory is created when the factory.bin upgrades the vendor firmware to OpenWrt.
Follow the HT-FLASH in tools/nmkhtimage for the details!

I don't understand the reference link you sent. I'm not a coder, so that link takes me to a bunch of code, am I supposed to run that code? Where would I run it, how do the files in the HT-Flash folder relate to this code?

I went back to read from the post you recommended, and this is my conclusion

First, I assume that the files you provided (via google drive) are backup OEM files for the MT02, and I should use my own MT04 backup files instead (from HT-Flash folder).

I also found this post for reference on flashing via TFTP: https://forum.archive.openwrt.org/viewtopic.php?id=53014&p=13#p293127 however that is not for flashing the OEM firmware but rather openwrt.

So, I have the following files in the HT-Flash folder (removed openwrt.bin as you suggested)

ALL.bin
Bootloader.bin
Config.bin
Factory.bin
Kernel_RootFS.bin
params.bin
Rootfs.bin
user.bin
user_backup.bin

From what I understand, I can just join them in windows like this: COPY /B File1.bin + File2.bin file3.bin > Kernal.bin

Have a TFTP server running on 10.10.10.3 with Kernal.bin in the root folder.

-Power off the router, connect everything (via switch or direct), start tftpd
-Press and hold router reset pin with paper clip. While holding reset then press and hold router power button. Wifi LED should light up then go out again, 3-5 seconds.
-Continue holding reset and release power. After another 10-15 seconds you should see 10.10.10.123 looking for tftp on 10.10.10.3. Now you can release the reset pin.
-If tftp is running the Kernal.bin file will upload right away and you'll see the upload in tcpdump.

It can take another 3-5 minutes for the firmware to install. Let it sit for a while, up to 10 minutes, then power cycle the router. It should boot up on default config for OpenWRT.

Your conclusion is correct.

The TFTP recovery doesn't verify what it get through Kernal.bin. It just flashes to the device.
If it's a correctly concatenated backup, or an OpenWrt sysupgrade file, it doesn't care.

@xaboics thanks
I will give it a go if I have time this evening and see if I can go back to the vendor firmware this way. If that's the case, is there a way to permanently post the vendor firmware BIN somewhere, so anyone else with the MT04 model could use it to go back to stock?

Can you please confirm that I should copy all these files in this particular order (alphabetically) to concatenate and create 1 large Kernal.bin file? It's not clear to me how this is supposed to work as it's not really documented (except for your example they are numbered sequentially mtd4.bin+mtd5.bin+mtd6.bin+mtd7.bin+mtd8.bin... while mine are aplhabetically)..

ALL.bin
Bootloader.bin
Config.bin
Factory.bin
Kernel_RootFS.bin
params.bin
Rootfs.bin
user.bin
user_backup.bin

I confirm. It concatenates files ib the order that you wrote them in the command line.
But please read the help text of Windows' copy command and try the copy /B command with text files!

To restore your backup with Kernal.bin, you have to concatenate a few of your partition backups in original order!
See my comment above!

Aaaaand:

:wink:


Your current HT-FLASH directory is a good candidate for that, but let me find an updated version of my EnterRouterMode.sh for you.

Thanks, I'm asking because the statements are confusing (to me) and there is no writeup for this that makes it clear for non devs and newbs like me. For example the reference you point to:

Seems contradictory to me. You first said you were wrong when listing mtd1+mtd2....mtd8 as Kernal.bin, but then you list only 5 files and say to join mtd4+...mtd8 to Kernal.bin, but then you listed all of the files from mtd0 to mtd8.

So is it all the files, or just 5 of the files? This is what I'm confused about.

Thank you for being patient - this is a long thread, parts of it are confusing to me and some things don't apply to my situations, so it looks like I already screwed things up once for lack of clarity on my part, just don't want to turn it into a total brick. :slight_smile: