While trying to build custom roms for one of my cell phones, I managed to soft brick the phone. It was a Cat S42G, and I somehow managed to get it stuck in a preloader boot loop while attempting to change a stock kernel to have a TWRP recovery image. Fortunately for me (Praise God!) I was able to get it fixed with a tool called MTKclient.


While this tool has some pretty good instructions, I just couldn’t make it work on my Ubuntu distribution. It has several python dependencies that just don’t seem to mesh up with my system. No matter what dependencies I installed or changed version of, I couldn’t make it work.

Again, fortunately for me, the author also released a live DVD of Ubuntu with all of the proper dependencies installed. I burnt the live DVD to a thumbstick and booted it up in no time! Here’s the link to that:


My first attempt to fix the phone using the payload from the Android 12 OTA update zip didn’t work at all, so I decided instead to clone my working CAT phone to the non-working one. That worked flawlessly, though it did take a long time to copy down the entire contents of the first phone, and then upload the files to the non-working phone.

The GUI worked really well on the MTKclient tool, and I am pretty impressed with the program overall. If you try it out, feel free to leave a comment with your results.

Linux – keep it simple.

3 Replies to “Fixing my phone with MTKclient”

  1. Alaska linux user,can you please help me: i ve builded a twrp image and the build was complete with no error(some warnings but build completed) and my device is A/B and doesn’t have fastboot boot(unisoc stuff) i tried flashing it to the inactive which was successful and switched slots and rebooted and the device stayed at manufacturer bootloader boot logo i restored is using spd flash tool but I can’t make it work any help or info and i used twrpdtgen python script and also prebuilt device kernel as there is no source for it(note that using boot.img in twrpdtgen is not successful so i used vendor_boot.img bcz it worked and i also used some TW_EXCLUDE flags) the device tree is(the github repo is kinda strange and i have a release there of twrp but it is not working just for me to test the boot.img as i was using gitpod to build not on my device)

  2. Might I suggest an alternative approach?

    Try using venv with python

    Inside a venv environment, use pip3 to install requirements.txt and then install it as per readme instructions instead of messing with your system’s python packages

    cd mtkclient

    python3 -m venv venv

    source venv/bin/activate

    (Please contact me if I made a mistake ofc)

Leave a Reply

Your email address will not be published. Required fields are marked *