OpenWrt Forum Archive

Topic: Is there any way to run mktplinkfw in windows? I tried so many ways!

The content of this topic has been archived on 1 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

First of all, i am new here. Thank you for accepting me on the forum.

I am playing with my TPlink Archer C7 V2, and several firmwares for it. Also i have read a lot about editing them, and i am familiar with using a HEX editor.

The only thing that i can't manage to do is calculating the valid new checksum after editing the binaries.
My HEX editor can calculate several types of checksums, but the results are not the right ones.

When reading for days, one important tool that keeps coming back is "mktplinkfw", and in particular to calculate the right checksum. But that doesnt work in Windows.

i have tried almost anything to compile it with coding tools for Windows, but i have almost no experience in coding, and get all kind of new problems when trying to get a working executable.

I installed Git, Github Desktop, MinGW, Visual Studio , CodeBlocks. I read loads of tutorials, tips, but i still cant get the job done. I understand that using Linux would solve a lot, but i have no experience at all with that.

Could anyone please advise me what to do?

So i installed Linux Mint. But still cant manage to compile mktplinkfw. sad Nooby me
I just want to use it to inspect firmware files..
Running it in Windows seems impossible too..

Could somebody PLEASE post a compiled version of mktplinkfw that i can run in Linux? I would be so gratefull!

(Last edited by Ronald50 on 13 Oct 2017, 00:52)

A suitable (x86-64) binary is in the Image Builder system.  Download the AR71XX Image Builder tar, extract the tar file and find the firmware tools directory.

YES!!! big_smile big_smile
Thank you so much! That was exactly what i needed!

I first had to learn some more stuff about the PATH in Linux. What i still don't understand: Using the terminal, even when  i was in the map containing the file, i still could not run it. So i made a BIN map in my personal map, placed the file there and it's running now.

(Last edited by Ronald50 on 15 Oct 2017, 01:58)

Ronald50 wrote:

I first had to learn some more stuff about the PATH in Linux. What i still don't understand: Using the terminal, even when  i was in the map containing the file, i still could not run it. So i made a BIN map in my personal map, placed the file there and it's running now.

An executable in Linux must always be prefixed with the full path, either absolute or relative. If the folder where the executable is is found from your PATH variable, then the shell (terminal) does this prefixing for you.

If the folder is not in your PATH variable, then you need to use the absolute or relative path to the executable. The relative path to current folder is './'

(Last edited by Antek on 15 Oct 2017, 08:42)

Thank you! It explains a lot big_smile

The discussion might have continued from here.