Flash Xiaomi Qin F22 pro (stock firmware with Google Play , with and without ROOT)

Search This thread

izyer

Senior Member
Jun 7, 2017
71
12
Someone uploaded the international version of the firmware but i dont know rusian and i cant get the password , any of you can?

Qin F22 pro. выпущенная мной международная версия. распаковать пароль. бин190621 или than


https://drive.google.c…Zawg/view?usp=drivesdk
 

bsoklev

Member
Dec 1, 2022
7
4
Someone uploaded the international version of the firmware but i dont know rusian and i cant get the password , any of you can?

Qin F22 pro. выпущенная мной международная версия. распаковать пароль. бин190621 или than


https://drive.google.c…Zawg/view?usp=drivesdk
The password is "than"

I will try to test it today but I am very busy with work so it may need to wait...
 

vishalharenshah

New member
Dec 8, 2020
4
0
It seems to work , not all languages are fully translated but they are like 80% , it has google play and root, i have to test for the other things.
I follow your thread for a couple of weeks. I have the same problem. Can you please explain to me how to flash this Russian firmware that you got? what is the procedure? Thank you.
 

izyer

Senior Member
Jun 7, 2017
71
12
I follow your thread for a couple of weeks. I have the same problem. Can you please explain to me how to flash this Russian firmware that you got? what is the procedure? Thank you.
1) Turn off the phone with an unlocked bootloader.
2) In SP_Flash_Tool, select the Qin F22 Pro Root.txt file in the scatter field .
3) In rows with sections , all checkboxes on sections are enabled.
4) Click on Download, then connect the phone.
5) Upon completion, disconnect the phone from the cable, turn it on, get into Recovery. Choose Wipe All and Reset .

(random youtube link)

Volte and HD call seems to work , VoWiFI seems to throw an error like before when you want to enable it , translation are not 100% but they are OK (the phone app seems that is not translated) , still cant remove the right screen or add widgets (have to install 3rd party launcher), everything else seems to work so far.

Edit:
If you use an app like
https://play.google.com/store/apps/details?id=de.szalkowski.activitylauncher and serach for WIFI calling (depends on your language) you can enable it from there and its working.
For some reason i dont have root because ive installed the no root version first.
 
Last edited:

izyer

Senior Member
Jun 7, 2017
71
12
Be sure you have an unlocked bootloader. I used SP_Flash_Tool_v5.1924_Win (ive uploaded it here)
 

Attachments

  • SP_Flash_Tool_v5.1924_Win.zip
    58.9 MB · Views: 23

izyer

Senior Member
Jun 7, 2017
71
12
Edit: ill upload my backup and ill tell you what i did , i am not sure what fixed it exactly but yeah it worked in the end.

I did all of this after my phone was bricked and the screen did not light up.

So i got into mtkclient (download my arhive and you need to have python installed , check mtkclient website)

opened Flash Tool (SP FLASH ive uploaded in the other post) and used Format all Flash then disconnected the phone
(somtimes needed to keep OFF button pressed for 10 sec before i can connect again)

after that

cd mtclient

python mtk wl ROM (this will flash all the files from my backup - unlocked bootloader)

pressed volume UP and volume Down at the same time and connected the USB to the phone, phone started flashing the files

after all done i disconnected the phone from the USB

opened Flash Tool and i pressed Download button with everything selected.

connected the USB to the phone (without pressing anything on the phone)

it flashed and it worked.

---If the computer cant find the phone keep the OFF button pressed for 10 seconds then try again.

Was a bit messy when i was trying to connect the mtkclient , tried in different ways , you need to figure it out if it doesnt work exactly with what i wrote.

Edit: There was magisk app installed somewhere and i have root now too. (it wasnt showing at the beginning but after i installed a different launcher and rebooted the phone i saw it there)

What ive noticed , VoWifi option doesnt work from the settings menu (crashes) , you need some 3rd app to enable the switch , Call Log (phone app) is not fully translated and the main launcher is limited , you cant change any settings (for home screens etc..) , everything else seems to work.

Link: https://files.fm/u/cvxzz2gaq
 
Last edited:

bsoklev

Member
Dec 1, 2022
7
4
I can also confirm the ROM works fine. I've done very little testing but seems OK.
It was a nice surprise after all those failed attempts to make the phone work with super.rar, I managed to install the ROM first time and it is working OK. Some of the submenus of the main settings menu crash and the overall feel of the system shows that it is not the most stable but it is usable.
It remains to be seen does the OTA update work...
 

snorkel0906

New member
Dec 10, 2022
3
0
我最近剛買了小米F22 pro
因為是中文版,很多app在台灣用不到
剛看到你的帖子刷機和這個國際板的ROM
你願意教我如何從頭開始用goolge版刷F22 pro嗎?
非常感謝您

Mod translation:
I just recently bought a Xiaomi F22 pro
Because it is a Chinese version, many apps are not available in Taiwan
Just saw your post flashing and ROM of this international board
Would you like to teach me how to flash F22 pro with goolge version from scratch?
Thank you very much
 
Last edited by a moderator:

izyer

Senior Member
Jun 7, 2017
71
12
(some infos are from 4pda - translated with google)

The bootloader must be unlocked (three small lines "Orange state ..." are visible on the DuoQin boot screen).
You can take 1.0.7 ROM and unlock it Fastboot flashing unlock .
Save dump for recovery in case of something goes wrong.

INSTRUCTIONS for flashing the multilingual version of NVT (similar to 1.9.8) with Google Play without Chinese applications. (with and without ROOT)

All you need is FlashTool and drivers for it .
1) Turn off the phone with an unlocked bootloader.
2) In FlashTool, select the Qin F22 Pro Root.txt file in the scatter field .
3) In rows with sections, all checkboxes are enabled.
4) Click Download, then connect the phone to USB.
5) Upon completion, disconnect the phone from the cable, turn it on, get into Recovery . Choose Wipe All and Reset . We are overloading.
6) Turn on the phone, connect to the network. Magisk will ask you to update.
7) After the reboot, install the keyboard (for example, Yandex).
---
Root can be deleted at any time (in Magisk, the "Delete Magisk" button).
Root can be installed at any time "on top" of the working system: 1) Run SP FT, select Qin F22 Pro Root.txt
as a scatterer . 2) Set the checkbox only on the boot_a partition (ThanR.img file). 3) Click Download, then connect the phone to USB.

4) After turning on, install Magisk, let it update.

Links:
1) Some backup i took with MTKCLIENT from my phone before flashing (unlocked, i had this ROM on my phone before Flashing the NVT version): https://files.fm/u/cvxzz2gaq

2) ROM V1.1.0 MTKCLIENT backup / CH original version , no google play (locked) https://dox.abv.bg/download?id=27ac8ae238#

3) ROM V1.0.7 without google play but unlocked: https://romprovider.com/xiaomi-qin-f22-pro-firmware-support/ (you may need to flash this first with Fastboot flashing before flashing NVT ROM version so you can have an unlocked phone requierd to flash NVT ROM or you can flash my backup from link 1 with MTKclient)

4) The ROM you want , multilingual version of NVT (similar to 1.9.8) with Google Play : https://drive.google.com/file/d/1gQE6MboV2jjI822cI2xdhlkxF-IvZawg/view
The password is "than"


What ive noticed , VoWifi option doesnt work from the settings menu (crashes if you try to enable it) , you need some 3rd app to enable the switch (then it works) , Call Log (phone app, and few others) are not fully translated (like 90% translated , but its OK) and the main launcher is still limited , you cant change any settings (for home screens etc.. but you can install some other launcher from Google Play) , everything else seems to work.

With my last ROMs (EN /CH version with Google Play and ROM V1.0.7) i had some microphone troubles and people on the other end of the call were hearing me in a very poor quality (and echo) some work around was to install the Google Phone App and in the settings i could find an option called Noise Suppression and i have to disable it (then i could remove the app), the sound was still bad and sometimes echo-ing but it was better than before. (VoLTE and VoWIFI were not working at all on this ROMs)

I didnt test the quality with the NVT ROM yet (but VoLTE and HD Call seems to work, hopping they fixed the codecs or what was wrong in the other ROMs) but if anyone has this kinda problems they can do what ive explained , install Google Phone app and disable Noise Suppression, i cant find this option without installing that.

With the original ROM that this phone came with , it had a PURE GOOGLE VERSION with Google Play (not a factory ROM), everything was working fine (including the Call Quality) but the KEYPAD was NOT mapped and you couldnt use it to do many functions as it was intended (you couldnt End Call, pressing cancel button was shutting down the screen instead of canceling , you couldnt navigate ok using they keypad etc.. , )
 
Last edited:

snorkel0906

New member
Dec 10, 2022
3
0
前輩
我是刷機新手
請教一下
這種手機要怎麼解鎖呢??要解鎖完才能刷機嗎??
還有目前最穩定帶google框架的rom是哪一個版本呢??
有圖文可以學習嗎??非常感謝
因為怕刷機變磚頭
 

a_testi

Member
Dec 13, 2022
8
7
So, as a warning (really this should be in the first post)

The "NVT" ROM seems to be a Vietnamese hack, or whatever the default language with lots of accents on each letter of the alphabet is supposed to be. The boot screen (fake and extremely ugly linux boot screen), security patch level January 2022, lots of preinstalled junk apps like Samsung Music or social networks, PIN limit to 4 digits, etc. doesn't really create a lot of confidence.

Not sure if root works properly. If it does, everything except the PIN limit can be fixed with dedication.

But the pure Google ROM was much better in that regard.

Still compared to the pure Google ROM it appears better because it supports the physical hardware layout.

4 digit pin limit really is such a shame. Thank Xi Jinping for that. Police need to be able to crack the PIN quickly if you say Tiananmen Square.

It's the downside of Chinese phones: software is always bad, no matter what you do. Chinese can make really good hardware, but never any good software.

Edit: Even the charging screen (when powered off) was molested by the guy who created the ROM. *sigh*

Edit2:
Magisk appeared after second reboot. To restore the factory's branding:

- logo.bin restores the boot loader and charge screens: https://anonfiles.com/GeX605M2yd/logo_bin (for use with mtkclient: mtk w logo)
- bootanimation.zip, goes into /system/media: https://anonfiles.com/84ob1aMeyc/bootanimation_zip

Also be aware that "NVT" is in charge of the software updater and can push whatever they want to your phone using this firmware. Best to disable the updater completely.

Edit3:
The guy even had to piss his name into /system :cautious:
rmdir /mnt2/Mod\ Bởi\ Nguyễn\ Văn\ Thản/
You'd think the build version, software update, charge animation, and boot logo would be enough.

Edit4:

Linux commands that worked for me to replace the boot animation without making a Magisk module:

Extract partitions from super.bin backup made using mtktool, then:

Code:
# mount product_a.ext /mnt/
# rmdir /mnt/Mod\ Bởi\ Nguyễn\ Văn\ Thản/
# umount /mnt
# mount system_a.ext /mnt
# cp bootanimation.zip /mnt/system/media/
# e2fsck -yf system_a.ext
# e2fsck -yf product_a.ext
# lpmake --metadata-size 65536 --device-size=4294967296 --metadata-slots=3 --group=google_system_dynamic_partitions_a:2466766848 --partition=product_a:none:196341760:google_system_dynamic_partitions_a --partition=system_a:none:1812168704:google_system_dynamic_partitions_a --partition=vendor_a:none:458256384:google_system_dynamic_partitions_a --image=product_a=./product_a.ext --image=system_a=./system_a.ext --image=vendor_a=./vendor_a.img --group=google_system_dynamic_partitions_b:2466766848 --partition=product_b:none:196341760:google_system_dynamic_partitions_b --partition=system_b:none:88780800:google_system_dynamic_partitions_b --partition=vendor_b:none:458256384:google_system_dynamic_partitions_b --image=product_b=./product_b --image=system_b=./system_b.img --image=vendor_b=./vendor_b --sparse  --output ./super.new.img

Then flash super.new.img using fastboot (not mtktool; it won't work!)

If only the factory would release the official international image. But given that the year is almost over, it will likely never happen. So, to anyone out here, the NVT ROM is currently your best bet and will probably be the only firmware easily available for a long time.
 
Last edited:
  • Like
Reactions: Vuche and izyer

izyer

Senior Member
Jun 7, 2017
71
12
So, as a warning (really this should be in the first post)

The "NVT" ROM seems to be a Vietnamese hack, or whatever the default language with lots of accents on each letter of the alphabet is supposed to be. The boot screen (fake and extremely ugly linux boot screen), security patch level January 2022, lots of preinstalled junk apps like Samsung Music or social networks, PIN limit to 4 digits, etc. doesn't really create a lot of confidence.

Not sure if root works properly. If it does, everything except the PIN limit can be fixed with dedication.

But the pure Google ROM was much better in that regard.

Still compared to the pure Google ROM it appears better because it supports the physical hardware layout.

4 digit pin limit really is such a shame. Thank Xi Jinping for that. Police need to be able to crack the PIN quickly if you say Tiananmen Square.

It's the downside of Chinese phones: software is always bad, no matter what you do. Chinese can make really good hardware, but never any good software.

Edit: Even the charging screen (when powered off) was molested by the guy who created the ROM. *sigh*

Edit2:
Magisk appeared after second reboot. To restore the factory's branding:

- logo.bin restores the boot loader and charge screens: https://anonfiles.com/GeX605M2yd/logo_bin (for use with mtkclient: mtk w logo)
- bootanimation.zip, goes into /system/media: https://anonfiles.com/84ob1aMeyc/bootanimation_zip

Also be aware that "NVT" is in charge of the software updater and can push whatever they want to your phone using this firmware. Best to disable the updater completely.

Edit3:
The guy even had to piss his name into /system :cautious:
rmdir /mnt2/Mod\ Bởi\ Nguyễn\ Văn\ Thản/
You'd think the build version, software update, charge animation, and boot logo would be enough.

Edit4:

Linux commands that worked for me to replace the boot animation without making a Magisk module:

Extract partitions from super.bin backup made using mtktool, then:

Code:
# mount product_a.ext /mnt/
# rmdir /mnt/Mod\ Bởi\ Nguyễn\ Văn\ Thản/
# umount /mnt
# mount system_a.ext /mnt
# cp bootanimation.zip /mnt/system/media/
# e2fsck -yf system_a.ext
# e2fsck -yf product_a.ext
# lpmake --metadata-size 65536 --device-size=4294967296 --metadata-slots=3 --group=google_system_dynamic_partitions_a:2466766848 --partition=product_a:none:196341760:google_system_dynamic_partitions_a --partition=system_a:none:1812168704:google_system_dynamic_partitions_a --partition=vendor_a:none:458256384:google_system_dynamic_partitions_a --image=product_a=./product_a.ext --image=system_a=./system_a.ext --image=vendor_a=./vendor_a.img --group=google_system_dynamic_partitions_b:2466766848 --partition=product_b:none:196341760:google_system_dynamic_partitions_b --partition=system_b:none:88780800:google_system_dynamic_partitions_b --partition=vendor_b:none:458256384:google_system_dynamic_partitions_b --image=product_b=./product_b --image=system_b=./system_b.img --image=vendor_b=./vendor_b --sparse  --output ./super.new.img

Then flash super.new.img using fastboot (not mtktool; it won't work!)

If only the factory would release the official international image. But given that the year is almost over, it will likely never happen. So, to anyone out here, the NVT ROM is currently your best bet and will probably be the only firmware easily available for a long time.
I added a link to your post in the main post.

Can you make an MTKCLIENT backup with all the changes that you made? (maybe disable the updater too)

Also there is another ROM , i am not sure what is the deal with it:

I would like to add translated languages to the Phone app (Phone Log or what is called) and fix the VoWifi toggle as its mapped to a wrong "shortcut" that it doesnt exist and it crashes , i found the right shortcut that works with an "system app explorer" but i am not sure how i can change that in ROM. Also it would be nice if i could delete the left screen or some option that would add an shortcut button for apps instead of showing them in to the next screen(s).

Edit: i dont know what is the best way to repack the super/system images after i change them , maybe i should just do it inside the phone then make an MTKCLIENT backup. (if possible)

Im helping some blind people with this phone and they need the right language (so they can hear the options from Talkback) , everything else is translated for what they need less the "Phone App" main screen. Also they need a fixed "Home Screen" as they will get confused (im leaving only the Phone App , Msg App ,Contacts" and 2 other apps that are made for the blind) , so would be great if i could remove the other screens (at least the left screen with the search thingy) , im testing the Nova launcher atm that fixes this issue but its adding few others (like pressing top right button will open a settings menu that can confuse a blind person).

At the moment i just have one phone for testing but if i could resolve this issues i would like to get more so i can help some more blind persons here that need an android phone with keypad. (they are a bit old too so they are not familiar with the touch but they can use an android phone as long it has a KEYPAD that its mapped correctly)
 
Last edited:

a_testi

Member
Dec 13, 2022
8
7
Sadly I'm not an Android developer or hacker. The last time I deeply played around with custom ROMs was when the Samsung Galaxy S6 was current. Anyway I wasted an entire afternoon and evening on what follows. Now I'm tired and stuck. I just want a working phone, and I did this stuff purely out of self defence, because technology has become hostile.

Modify ROM

To edit the ROM, this is roughly how I did it:

  1. I use 7-Zip to open "Than.img" - 7-Zip can actually understand some of the ROM dumps and extract them
  2. I switch to a junk Debian VM where I have the folder with extracted files set as a shared folder (with VMware 17 and the latest Debian, this works right of the box)
  3. Then I do this:

Code:
# All of the below as root, because YOLO

cd ~/
wget http://newandroidbook.com/tools/imjtool.tgz
wget https://ci.android.com/builds/submitted/9401535/aosp_cf_x86_64_phone-userdebug/latest/cvd-host_package.tar.gz
tar xzf imjtool.tgz
tar xzf cvd-host_package.tar.gz

# Go to where extracted files are
cd /mnt/hgfs/rom/work
mkdir /mnt/product
mkdir /mnt/system
mount product_a.ext /mnt/product/
mount system_a.ext /mnt/system/

# Now you can play around!
# You don't have much space to work with, but it's OK for small patches.
# /dev/loop0      188M  176M  8.0M  96% /mnt/product
# /dev/loop1      1.7G  1.7G   13M 100% /mnt/system
# Out of space?
# You can grow the ext4 partition images a bit.
#  umount /mnt/system
#  e2fsck -f /mnt/hgfs/rom/work/system_a.ext
#  resize2fs /mnt/hgfs/rom/work/system_a.ext 2G
#  mount system_a.ext /mnt/system/
# Now you have 300 MB more space.

# To finish up
umount /mnt/product
umount /mnt/system
e2fsck -yf system_a.ext
e2fsck -yf product_a.ext

~/bin/lpmake --metadata-size 65536 --device-size=8589934592 --metadata-slots=3 \
--group=google_system_dynamic_partitions_a:2802081792 \
--partition=product_a:none:196341760:google_system_dynamic_partitions_a \
--partition=system_a:none:2147483648:google_system_dynamic_partitions_a \
--partition=vendor_a:none:458256384:google_system_dynamic_partitions_a \
--image=product_a=./product_a.ext \
--image=system_a=./system_a.ext \
--image=vendor_a=./vendor_a.img \
--group=google_system_dynamic_partitions_b:88780800 \
--partition=product_b:none:0:google_system_dynamic_partitions_b \
--partition=system_b:none:88780800:google_system_dynamic_partitions_b \
--partition=vendor_b:none:0:google_system_dynamic_partitions_b \
--image=product_b=./product_b \
--image=system_b=./system_b.img \
--image=vendor_b=./vendor_b \
--sparse --output ./super.new.img

# you need to edit the numbers in above command as follows:
# device-size = size of all files (or just 8589934592 for 8GB partition)
# group = size of the files in that group
# partition = size of the image file
# find the sizes using command "stat -c '%n %s' *"

# If it complains about "vendor_b" being strange, just set its image file
# to vendor_a.img and adjust the numbers again. It doesn't matter.
# Slot B is normally never used.


WiFi Calling Crash
For the Settings app crashing when trying to enable VoWiFi, it's caused by an oversight by the original ROM developers.

The APK is at /system/system_ext/priv-app/MtkSettings/MtkSettings.apk

The crash is:

Code:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.Settings$WifiCallingSettingsActivity}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set android:windowActionBar to false in your theme to use a Toolbar instead.
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3675)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3832)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2247)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7881)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:568)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)

The workaround could be as simple as:

  1. Decompile it with apktool (use "apktool -r" because it cannot reassemble resources correctly)
  2. Open this file: smali/com/android/settings/Settings\$WifiCallingSettingsActivity.smali
  3. Comment out this line, save, recompile (apktool b), and sign:
Code:
    .line 280
    # invoke-virtual {p0, p1}, Lcom/android/settings/core/SettingsBaseActivity;->setActionBar(Landroid/widget/Toolbar;)V

But if you put the patched settings app into the ROM you will brick the phone. All system apps need to be signed with the same platform key, and that key is somewhere in China. I don't know how to bypass the signature check for system apps. I think you can resign all system apps with a custom key but unless someone could tell me how, I don't know. I think because of this also you can't just translate the missing strings in the Phone app.


Cleaned ROM

Here's my attempt to clean up the NVT ROM. This is currently running on my phone but if it bricks your phone then I am sorry. You may need to wipe userdata. Maybe not. I don't know. I wiped it.

  • Restored factory boot logo and charge animation
  • Restored factory boot Android animation
  • Removed "Mod\ Bởi\ Nguyễn\ Văn\ Thản" folder
  • Removed NVT's hacked QinSystemUpdate, so he can't remotely destroy phones (NOTICE Settings app will crash if you try to check for updates, because the APK it needs is now no longer there)
  • Removed "Gbroad" which didn't work because poor NVT could not spell "GBoard" correctly
  • Removed Samsung Music
  • Removed Zalo (Vietnamese social network)
  • Removed SprdQuickSearchBox
  • Removed Facebook Messenger
  • Removed third-party IR Blaster app
  • Removed Baidu App and Baidu Location Service
  • Removed "MtkCalendar" which NVT actually replaced with his own Vietnam Lunar Calendar. sigh
  • Restored Sound Recorder from 1.0.7 Qin China ROM to undo NVT's hardcoded Vietnamese translation of it
  • Replaced build.prop with the one from the clean Google ROM to restore the phone identifying itself as a Duoqin F22 Pro, to remove various ricer style "performance tweaks"/"speed optimizations", and to get rid of more references to "NVT" (as a bonus the phone no longer defaults to Vietnamese after wiping userdata)
NVT is such a strange person. He even renamed the logo partition to "super.bin", probably hoped that people don't remove his branding. Also the phone reported itself as an Infinix HOT 12, not Duoqin F22 Pro. NVT also changed one of the stock wallpapers, but I have not yet found out how to undo it. Really, the only thing missing from his ROM that the phone starts playing a sound file of someone shouting "Nguyen Van Then" at maximum volume every 30 seconds. Anyway, while NVT still haunts the wallpaper selector, he should be pretty much gone elsewhere. I'm glad the guy did all of this work, but it's always better to become famous by what you do rather than by who you are.

Download patched ROM: https://anonfiles.com/n5vfCfMey7/ThanCleaned_7z Use V2 below

The ROM is pretty much naked, so you need to replace a lot of missing stock apps with custom ones. I recommend using F-Droid (search "Simple Mobile Tools"). They are not perfect, but decent enough, and free without ads. Music player can be replaced with the excellent app "Musicolet" from Google Play. A better romaji T9 keyboard and 10key Japanese keyboard can be taken from https://github.com/shuuryou/f22pro/

I have really mixed feelings about the NVT version, cleaned or not. It's more like the Chinese ROM and the hardware features of the phone are now working essentially without flaws, but the software experience feels so mediocre. Like, it can be tolerated, but it could be so much better with a few little tweaks and changes overall. Not being able to modify the system APKs is a pity.

Edit: I may have accidentally removed all keyboards. Just install one via adb.

Edit2: Of course NVT also replaced all the ringtones. I will have to clean the cleaned ROM even more and will try to fix the keyboard issue then also.

Edit3: Second attempt now available.
 
Last edited:

a_testi

Member
Dec 13, 2022
8
7
Here is NVT ROM cleanup second attempt.

Additional changes since the first attempt:

  • Reverted NVT's iPhone/Samsung/Vietnam ringtones/notifications/alarms to the original ringtones from the factory ROM and translated the track titles of the underlying OGG files from Chinese to English.
  • Reverted wallpaper_01.png that NVT scribbled over to the original from the factory ROM (the wallpapers are stored inside /product/priv-app/Settings/Settings.apk but this is not the actual Settings app)
  • Restored the camera shutter click sound (camera_click.ogg)
  • Added Traditional T9 keyboard as a preloaded app so there's at least one working keyboard to get going, but it can be uninstalled like any standard app if you don't like it (the patched Freetel Musashi keyboard form Github is quite heavy at 250MB. t9.apk only takes 3MB space in the ROM)

I hope it is now fully cleaned of all the NVTisms, but I did leave his initials in the Android build number in the settings app, so that he doesn't feel uncredited for his work.


Download: https://anonfiles.com/baW9HcMey0/ThanClean2_7z

Checksum ThanClean2.sha512:
Code:
7afd1d2b6df836fbe6c22f8d4eb0f07b9c4aeb68c442fab873d483dc90ff88abef936b4160bdfea463a49394ebe146a7199e2e607c05e2ca4d773ede8f97436f *ThanClean2.7z
 
  • Like
Reactions: Vuche

a_testi

Member
Dec 13, 2022
8
7
Sorry the spam but I just want to quickly confirm that the call recording feature in the Phone app works perfectly, and the automatic call recorder also works. Finally an Android phone that can record calls. (^^♪
 
  • Like
Reactions: Vuche

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Thanks to everyone who is adding his skills to have a good working ROM for this apparently great phone.

    I'm looking forward to buying this model but I need to know what 3G and 4G Bands it's working on, and if you can add bands if they are missing, like it was possible with MTK toolbox a few years back. I'm in europe and my country is for example on B20 4G band, wich isn't listed on any of the aliexpress seller.

    Bands needed:
    3G -> B1 (2100 MHz), B8 (800 MHz)
    4G -> B1 (2100 MHz), B3 (1800 MHz), B20 (800 MHz)
    optional: B28 (700 MHz), B38 (2600 MHz)

    And from what I read here, if you buy a "Google" version of this phone, it would come already bootloader unlocked, right?

    Thanks for any information.
    Ok, I now received my F22 Pro with v1.0.3 goggled and bootloader unlocked version. I did the (long!) backup with MTKclient and installed NVTclean V2 ROM, thanks to Than, izyer and a_testi for the work and help.

    I can now answer my own questions about the Network frequencies:
    After installing MTK EngineerMode apk, I can see that all the Bands that I
    20230124_134938_HDR.jpg
    20230124_134926_HDR.jpg
    needed are activated. Apparently the phone has all international Bands activated, check the photos attached to see if your local ones are there. Cool thing to know!

    If they could sell a 256GB version, or at least the announced 128GB, of the F22 (or with microSD extension), it would be a perfect, simple and light phone for everyday use.
  • 2
    So, as a warning (really this should be in the first post)

    The "NVT" ROM seems to be a Vietnamese hack, or whatever the default language with lots of accents on each letter of the alphabet is supposed to be. The boot screen (fake and extremely ugly linux boot screen), security patch level January 2022, lots of preinstalled junk apps like Samsung Music or social networks, PIN limit to 4 digits, etc. doesn't really create a lot of confidence.

    Not sure if root works properly. If it does, everything except the PIN limit can be fixed with dedication.

    But the pure Google ROM was much better in that regard.

    Still compared to the pure Google ROM it appears better because it supports the physical hardware layout.

    4 digit pin limit really is such a shame. Thank Xi Jinping for that. Police need to be able to crack the PIN quickly if you say Tiananmen Square.

    It's the downside of Chinese phones: software is always bad, no matter what you do. Chinese can make really good hardware, but never any good software.

    Edit: Even the charging screen (when powered off) was molested by the guy who created the ROM. *sigh*

    Edit2:
    Magisk appeared after second reboot. To restore the factory's branding:

    - logo.bin restores the boot loader and charge screens: https://anonfiles.com/GeX605M2yd/logo_bin (for use with mtkclient: mtk w logo)
    - bootanimation.zip, goes into /system/media: https://anonfiles.com/84ob1aMeyc/bootanimation_zip

    Also be aware that "NVT" is in charge of the software updater and can push whatever they want to your phone using this firmware. Best to disable the updater completely.

    Edit3:
    The guy even had to piss his name into /system :cautious:
    rmdir /mnt2/Mod\ Bởi\ Nguyễn\ Văn\ Thản/
    You'd think the build version, software update, charge animation, and boot logo would be enough.

    Edit4:

    Linux commands that worked for me to replace the boot animation without making a Magisk module:

    Extract partitions from super.bin backup made using mtktool, then:

    Code:
    # mount product_a.ext /mnt/
    # rmdir /mnt/Mod\ Bởi\ Nguyễn\ Văn\ Thản/
    # umount /mnt
    # mount system_a.ext /mnt
    # cp bootanimation.zip /mnt/system/media/
    # e2fsck -yf system_a.ext
    # e2fsck -yf product_a.ext
    # lpmake --metadata-size 65536 --device-size=4294967296 --metadata-slots=3 --group=google_system_dynamic_partitions_a:2466766848 --partition=product_a:none:196341760:google_system_dynamic_partitions_a --partition=system_a:none:1812168704:google_system_dynamic_partitions_a --partition=vendor_a:none:458256384:google_system_dynamic_partitions_a --image=product_a=./product_a.ext --image=system_a=./system_a.ext --image=vendor_a=./vendor_a.img --group=google_system_dynamic_partitions_b:2466766848 --partition=product_b:none:196341760:google_system_dynamic_partitions_b --partition=system_b:none:88780800:google_system_dynamic_partitions_b --partition=vendor_b:none:458256384:google_system_dynamic_partitions_b --image=product_b=./product_b --image=system_b=./system_b.img --image=vendor_b=./vendor_b --sparse  --output ./super.new.img

    Then flash super.new.img using fastboot (not mtktool; it won't work!)

    If only the factory would release the official international image. But given that the year is almost over, it will likely never happen. So, to anyone out here, the NVT ROM is currently your best bet and will probably be the only firmware easily available for a long time.
    2
    Sadly I'm not an Android developer or hacker. The last time I deeply played around with custom ROMs was when the Samsung Galaxy S6 was current. Anyway I wasted an entire afternoon and evening on what follows. Now I'm tired and stuck. I just want a working phone, and I did this stuff purely out of self defence, because technology has become hostile.

    Modify ROM

    To edit the ROM, this is roughly how I did it:

    1. I use 7-Zip to open "Than.img" - 7-Zip can actually understand some of the ROM dumps and extract them
    2. I switch to a junk Debian VM where I have the folder with extracted files set as a shared folder (with VMware 17 and the latest Debian, this works right of the box)
    3. Then I do this:

    Code:
    # All of the below as root, because YOLO
    
    cd ~/
    wget http://newandroidbook.com/tools/imjtool.tgz
    wget https://ci.android.com/builds/submitted/9401535/aosp_cf_x86_64_phone-userdebug/latest/cvd-host_package.tar.gz
    tar xzf imjtool.tgz
    tar xzf cvd-host_package.tar.gz
    
    # Go to where extracted files are
    cd /mnt/hgfs/rom/work
    mkdir /mnt/product
    mkdir /mnt/system
    mount product_a.ext /mnt/product/
    mount system_a.ext /mnt/system/
    
    # Now you can play around!
    # You don't have much space to work with, but it's OK for small patches.
    # /dev/loop0      188M  176M  8.0M  96% /mnt/product
    # /dev/loop1      1.7G  1.7G   13M 100% /mnt/system
    # Out of space?
    # You can grow the ext4 partition images a bit.
    #  umount /mnt/system
    #  e2fsck -f /mnt/hgfs/rom/work/system_a.ext
    #  resize2fs /mnt/hgfs/rom/work/system_a.ext 2G
    #  mount system_a.ext /mnt/system/
    # Now you have 300 MB more space.
    
    # To finish up
    umount /mnt/product
    umount /mnt/system
    e2fsck -yf system_a.ext
    e2fsck -yf product_a.ext
    
    ~/bin/lpmake --metadata-size 65536 --device-size=8589934592 --metadata-slots=3 \
    --group=google_system_dynamic_partitions_a:2802081792 \
    --partition=product_a:none:196341760:google_system_dynamic_partitions_a \
    --partition=system_a:none:2147483648:google_system_dynamic_partitions_a \
    --partition=vendor_a:none:458256384:google_system_dynamic_partitions_a \
    --image=product_a=./product_a.ext \
    --image=system_a=./system_a.ext \
    --image=vendor_a=./vendor_a.img \
    --group=google_system_dynamic_partitions_b:88780800 \
    --partition=product_b:none:0:google_system_dynamic_partitions_b \
    --partition=system_b:none:88780800:google_system_dynamic_partitions_b \
    --partition=vendor_b:none:0:google_system_dynamic_partitions_b \
    --image=product_b=./product_b \
    --image=system_b=./system_b.img \
    --image=vendor_b=./vendor_b \
    --sparse --output ./super.new.img
    
    # you need to edit the numbers in above command as follows:
    # device-size = size of all files (or just 8589934592 for 8GB partition)
    # group = size of the files in that group
    # partition = size of the image file
    # find the sizes using command "stat -c '%n %s' *"
    
    # If it complains about "vendor_b" being strange, just set its image file
    # to vendor_a.img and adjust the numbers again. It doesn't matter.
    # Slot B is normally never used.


    WiFi Calling Crash
    For the Settings app crashing when trying to enable VoWiFi, it's caused by an oversight by the original ROM developers.

    The APK is at /system/system_ext/priv-app/MtkSettings/MtkSettings.apk

    The crash is:

    Code:
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.Settings$WifiCallingSettingsActivity}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set android:windowActionBar to false in your theme to use a Toolbar instead.
           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3675)
           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3832)
           at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
           at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
           at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2247)
           at android.os.Handler.dispatchMessage(Handler.java:106)
           at android.os.Looper.loopOnce(Looper.java:201)
           at android.os.Looper.loop(Looper.java:288)
           at android.app.ActivityThread.main(ActivityThread.java:7881)
           at java.lang.reflect.Method.invoke(Native Method)
           at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:568)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)

    The workaround could be as simple as:

    1. Decompile it with apktool (use "apktool -r" because it cannot reassemble resources correctly)
    2. Open this file: smali/com/android/settings/Settings\$WifiCallingSettingsActivity.smali
    3. Comment out this line, save, recompile (apktool b), and sign:
    Code:
        .line 280
        # invoke-virtual {p0, p1}, Lcom/android/settings/core/SettingsBaseActivity;->setActionBar(Landroid/widget/Toolbar;)V

    But if you put the patched settings app into the ROM you will brick the phone. All system apps need to be signed with the same platform key, and that key is somewhere in China. I don't know how to bypass the signature check for system apps. I think you can resign all system apps with a custom key but unless someone could tell me how, I don't know. I think because of this also you can't just translate the missing strings in the Phone app.


    Cleaned ROM

    Here's my attempt to clean up the NVT ROM. This is currently running on my phone but if it bricks your phone then I am sorry. You may need to wipe userdata. Maybe not. I don't know. I wiped it.

    • Restored factory boot logo and charge animation
    • Restored factory boot Android animation
    • Removed "Mod\ Bởi\ Nguyễn\ Văn\ Thản" folder
    • Removed NVT's hacked QinSystemUpdate, so he can't remotely destroy phones (NOTICE Settings app will crash if you try to check for updates, because the APK it needs is now no longer there)
    • Removed "Gbroad" which didn't work because poor NVT could not spell "GBoard" correctly
    • Removed Samsung Music
    • Removed Zalo (Vietnamese social network)
    • Removed SprdQuickSearchBox
    • Removed Facebook Messenger
    • Removed third-party IR Blaster app
    • Removed Baidu App and Baidu Location Service
    • Removed "MtkCalendar" which NVT actually replaced with his own Vietnam Lunar Calendar. sigh
    • Restored Sound Recorder from 1.0.7 Qin China ROM to undo NVT's hardcoded Vietnamese translation of it
    • Replaced build.prop with the one from the clean Google ROM to restore the phone identifying itself as a Duoqin F22 Pro, to remove various ricer style "performance tweaks"/"speed optimizations", and to get rid of more references to "NVT" (as a bonus the phone no longer defaults to Vietnamese after wiping userdata)
    NVT is such a strange person. He even renamed the logo partition to "super.bin", probably hoped that people don't remove his branding. Also the phone reported itself as an Infinix HOT 12, not Duoqin F22 Pro. NVT also changed one of the stock wallpapers, but I have not yet found out how to undo it. Really, the only thing missing from his ROM that the phone starts playing a sound file of someone shouting "Nguyen Van Then" at maximum volume every 30 seconds. Anyway, while NVT still haunts the wallpaper selector, he should be pretty much gone elsewhere. I'm glad the guy did all of this work, but it's always better to become famous by what you do rather than by who you are.

    Download patched ROM: https://anonfiles.com/n5vfCfMey7/ThanCleaned_7z Use V2 below

    The ROM is pretty much naked, so you need to replace a lot of missing stock apps with custom ones. I recommend using F-Droid (search "Simple Mobile Tools"). They are not perfect, but decent enough, and free without ads. Music player can be replaced with the excellent app "Musicolet" from Google Play. A better romaji T9 keyboard and 10key Japanese keyboard can be taken from https://github.com/shuuryou/f22pro/

    I have really mixed feelings about the NVT version, cleaned or not. It's more like the Chinese ROM and the hardware features of the phone are now working essentially without flaws, but the software experience feels so mediocre. Like, it can be tolerated, but it could be so much better with a few little tweaks and changes overall. Not being able to modify the system APKs is a pity.

    Edit: I may have accidentally removed all keyboards. Just install one via adb.

    Edit2: Of course NVT also replaced all the ringtones. I will have to clean the cleaned ROM even more and will try to fix the keyboard issue then also.

    Edit3: Second attempt now available.
    2
    I can also confirm the ROM works fine. I've done very little testing but seems OK.
    It was a nice surprise after all those failed attempts to make the phone work with super.rar, I managed to install the ROM first time and it is working OK. Some of the submenus of the main settings menu crash and the overall feel of the system shows that it is not the most stable but it is usable.
    It remains to be seen does the OTA update work...
    2
    Edit: ill upload my backup and ill tell you what i did , i am not sure what fixed it exactly but yeah it worked in the end.

    I did all of this after my phone was bricked and the screen did not light up.

    So i got into mtkclient (download my arhive and you need to have python installed , check mtkclient website)

    opened Flash Tool (SP FLASH ive uploaded in the other post) and used Format all Flash then disconnected the phone
    (somtimes needed to keep OFF button pressed for 10 sec before i can connect again)

    after that

    cd mtclient

    python mtk wl ROM (this will flash all the files from my backup - unlocked bootloader)

    pressed volume UP and volume Down at the same time and connected the USB to the phone, phone started flashing the files

    after all done i disconnected the phone from the USB

    opened Flash Tool and i pressed Download button with everything selected.

    connected the USB to the phone (without pressing anything on the phone)

    it flashed and it worked.

    ---If the computer cant find the phone keep the OFF button pressed for 10 seconds then try again.

    Was a bit messy when i was trying to connect the mtkclient , tried in different ways , you need to figure it out if it doesnt work exactly with what i wrote.

    Edit: There was magisk app installed somewhere and i have root now too. (it wasnt showing at the beginning but after i installed a different launcher and rebooted the phone i saw it there)

    What ive noticed , VoWifi option doesnt work from the settings menu (crashes) , you need some 3rd app to enable the switch , Call Log (phone app) is not fully translated and the main launcher is limited , you cant change any settings (for home screens etc..) , everything else seems to work.

    Link: https://files.fm/u/cvxzz2gaq
    1
    Once i make root for my F22 pro
    The Bluetooth not working
    I try to do same like this post👆🏻
    But how i can get (Scatter File) from rom folder
    The ROM_2_1.0.7_Unlocked.7z
    Have only one file 59 GB
    Any help??
    You can delete userdata file from ROM_2_1.0.7_Unlocked, its a file with 50GB that you dont need.

    I am flashing it with "mtkclient" ( https://github.com/bkerler/mtkclient , i have a version that works nice with windows but this one should work too) or you can only flash the system_a.img from super.bin / .img with fastboot.

    Flashing super.rar - you get Google play but no WiFi , no Volte or VoWifi + a random crash sometimes, only EN and CH and bad microphone when calling.

    Flashing ROM_2_1.0.7_Unlocked.7z (or only the system_a.img INSIDE super.img from fastboot) and going with the normal mode you get working WiFI and no crash but Volte and Vowifi doesnt work, bad microphone when calling, only EN and CH and no Google Play but you can install from 3rd party

    Flashing ROM_2_1.0.7_Unlocked.7z (or only the system_a.img INSIDE super.img from fastboot) but going with the Student mode (second option on first boot), you can OTA update to the last firmware 3.0.0 something and you get working Wifi and Volte. VoWifi still crashes , you cant install any apps and no Google play, only EN / CH. (i didnt test microphone quality with this one)

    Flashing system_a.img from super.rar after flashing the rest of the files from ROM_2_1.0.7_Unlocked.7z (all files from super.img less system_a.img ) you get Google play, WiFI working but no Volte or VoWifi , only EN and CH bad microphone when calling.

    My phone came with an "pure Android version" (and i didnt backup it before flashing this other stuff , sadly) , it had all languages ,google play and no bugs (vowifi , volte etc all working) but the keypad buttons werent doing what they supposed to do and some stock functions were missing (ex: You couldnt end call from end call button etc , the screen was just going off instead and many others things like this), you had to do many things from the touchscreen. The seller sent me that super.bin but as you see its bugged , but the buttons from the keypad are working as intended.

    Seller told me like 4 5 6 times in the past month that he will give me Global ROM with no bugs but nothing, he said its not released yet.

    Edit: We need this firmware but i cant find it anywhere: