PLEASE HELP With New Version of the Qin F21, Different Hardware and ROM

@Nooch Hi, I’m hoping you can help me identify the correct firmware for my Qin AI Life F21 Pro.

Device:

  • Qin AI Life F21 Pro
  • 4 GB RAM / 64 GB storage
  • MT6761
  • Blue USB-C port
  • Purchased in Israel
  • Serial: F21PL…

I followed the guide and flashed the 3.0.2 GApps firmware with SP Flash Tool. During the flash I received:

STATUS_SEC_IMG_TYPE_MISMATCH (0xC002002A)

After that, the phone no longer boots. Windows now detects it as a MediaTek device that repeatedly connects and disconnects (preloader loop).

I connected with MTKClient on macOS and got:

  • SBC: False
  • SLA: False
  • DAA: False

So BootROM is accessible, but the phone won’t boot anymore.

Could you please tell me which stock firmware/revision matches this hardware and the best way to recover it? I don’t mind wiping the phone completely.

1 Like

i had the same issue with a phone bought in israel. theres something strange about the israel version that dont allow flashing

very confusing because the S/N and the blue charger port are a match for the 3.0.2 but…

I’m not familiar with all models but from reading on the forum, it seems there is a uncommon weird untested version.

Nothing to do with Israel though. They’re all created in China. Me and many people bought phones in Israel and flashed them.

You flashed the wrong ROM

3.02 support only with a orange port not blue

1 Like

So what’s my next steps? Any ideas?

Does anyone know of anyone anyone in Lakewood that can help me?

youre right forgot about that.

did you flash the preloader from 3.0.2

Where did you guys get the 3.0.2? Where can i get it?

2 Likes

Hi everyone, I recently bought Qin F21 Pro to play with J2ME, custom kernels and so on. My version came with official preinstalled Google Services, with Go variants of the apps. (Un)fortunately I got a new revision with projet AGN_3224WPA_F21PRO_C3BW_MV3224_P0_V02, OTA f21_pro_agenew_oversea with ROM version 2.0.3

Detailed info about the device: the hardware, MTK status

Firmware

  • Android: 11 / API 30
  • DuoQin version: 2.0.3
  • OTA tag: f21_pro_agenew_oversea
  • Display build: 1.0.0
  • Build ID: RP1A.200720.011
  • Incremental: 1762416485
  • Security patch: 2022-06-05
  • Build date: 2025-11-06 16:06:41 CST
  • Build type: user/release-keys
  • Fingerprint: Android/Android/Android:11/RP1A.200720.011/1762416485:user/release-keys
  • Kernel: 4.19.127, build 2025-11-06 16:09:38 CST
  • Baseband: MOLY.LR12A.R3.MP.V202.3

Hardware bring-up

  • Display: 480×640, 208 dpi, 60 Hz, rotation 0
  • Display stack: legacy MTK FB/LCM + M4U; DRM core is present but CONFIG_DRM_MEDIATEK is disabled
  • Bootloader DTBO LCM string: nt35521_hd_dsi_vdo_truly_rt5081_drv
  • Kernel-compiled LCM strings: IPS_PV028V0E_T40_2QP0_BOE_MIPI_VGA, GC9503_YH_028BG3175C0_MIPI2_VGA, GC9503_YIHUA_3224WPA_MIPI2_VGA
  • GPU: PowerVR Rogue GE8300; Rogue DDK 1.13@5776728; OpenGL ES 3.2; EGL platform meow
  • GPU kernel config: rgx clark m1.9ED4971894; userspace uses gralloc.rogue.so and vulkan.mt6761.so
  • Touch runtime: generic mtk-tpd, 480×640, pressure 0–255, multitouch tracking IDs 0–10
  • Touch kernel: active GSL path (tp-gsl / GSL1691); DTBO also describes inactive Goodix GT1151 at 0x14 and Hynitron CST8xx at 0x15
  • Keypad: MTK matrix keypad plus SN7326 expander at I2C 0x58; runtime reports digits, arrows, Enter, Menu, Back, Camera, Select, * and #
  • PMIC keys: Power and Volume Up; MT6357 ACCDET provides headset buttons and jack switches
  • Rear camera: sp5508z5157v_mipi_raw, I2C 0x1a, EEPROM 0x50, AF 0x0c; 2592×1944, flash, orientation 90°
  • Front camera: ov02b_mipi_raw, I2C 0x2d, EEPROM 0x52; 1600×1200, fixed focus, orientation 270°
  • Camera stack: MTK imgsensor/ISP/JPEG; Camera Provider 2.6, device HAL 3.6
  • Audio: MT6357 codec/ACCDET; Awinic AW87xxx speaker PA at I2C 0x58; Audio HAL 6.0
  • Charging: ETA6937 primary charger at I2C 0x6a; WUSB3801 Type-C controller at I2C 0x60
  • Stock charger bug: [eta6937_otg_thr] stays runnable at about 100% of one CPU; stock code busy-waits instead of sleeping
  • Flash/IR: AW3641E flashlight; MTK PWM IR transmitter
  • AW3641E’s unconditional set_driver log can appear during camera HAL enumeration or flash-device acquire/release while the LED remains off;
  • Sensors exposed by Android: light, proximity, tilt detector and device orientation; no accelerometer or gyroscope HAL sensor is exposed
  • Connectivity kernel: MT6761 CONSYS, Wi-Fi, Bluetooth, GPS and MT6631 FM; modem uses MTK ECCCI/CLDMA with MD1 support
  • Additional DTBO nodes: NFC at I2C 0x08, cap-touch at 0x5d, dual-SIM hotplug, RGB/keypad/button/backlight LEDs and vibrator
  • HAL generation: graphics allocator/mapper 4.0, composer 2.1, GNSS 2.1, sensors/thermal 2.0, radio through 1.5, Wi-Fi through 1.4, USB gadget 1.1

MediaTek BROM

  • HW code: 0x717
  • HW subcode: 0x8a00
  • HW version: 0xca01
  • SW version: 0x200
  • Target config: 0x0
  • SBC: disabled
  • SLA: disabled
  • DAA: disabled
  • SWJTAG: disabled
  • Root certificate required: no
  • Memory read authentication: no
  • Memory write authentication: no
  • Command 0xC8 blocked: no

eMMC

  • ID: RX1BMB
  • Firmware version: 0x0
  • User region: 0x747c00000 bytes (29.12 GiB)
  • Boot1: 0x400000 bytes (4 MiB)
  • Boot2: 0x400000 bytes (4 MiB)
  • RPMB: 0x400000 bytes (4 MiB)
  • GP1–GP4: absent

Custom kernel

I just got it yesterday, but by today with the help of GPT 5.6 Sol in Codex I already have a custom kernel based on JamiKettunen’s android_kernel_duoqin_mt6761 repo (that one is for an older F21 Pro revision).

The custom kernel already has most things working: WiFi/BT, rear camera, front camera, flashlight, charging, audio, keypad, keypad backlight, touchscreen, display (obviously), light/proximity sensors.

What’s still not tested: calls, mobile data, SIM operation - I haven’t yet put a SIM into it, but I will probably soon. It’s not my main phone.

Bootloader

This is one of the funniest things on this device’s revision. The fastboot bootloader is very tiny, and it’s obviously never been tested.

  • Bug 1: If you enable the OEM unlock toggle and then try to unlock the device with fastboot, you won’t be able to! Why? Because the bootloader has a confirmation step where you have to press “Volume Up” button to confirm. But F21 Pro does not have that button! And on my revision it’s not remapped in the bootloader to any of the existing keys. Thankfully, I was able to unlock the device with mtkclient’s lower level seccfg feature. This also made it so that userdata wasn’t wiped
  • Bug 2: The bootloader’s fastboot boot is very broken on my version. This made it very annoying to test new kernels, so I had GPT actually investigate and patch the bootloader binary, fixing the fastboot boot path. Signature verification worked because the bootloader on this device seems to be signed with test keys that are available on GitHub, which were used.

Misc

As mentioned in the top collapsed section, there’s a stock kernel bug, at least in my revision, that makes 1 core spin at 100% when a USB cable is connected for OTG. To quote GPT:

We found the exact bug in the stock kernel. The public reference uses wait_event(...) and sleeps until its 10-second timer wakes the thread. Your V3 stock function does something else: it compiles an infinite loop around a 1,000-iteration __const_udelay sequence. That is effectively mdelay(1000)—a one-second busy-wait that deliberately burns a core, checks one flag, then repeats forever. The fix is to use msleep(1000) or restore the reference wait-queue/hrtimer logic.

After identifying this, GPT actually made a binary patch to the stock kernel (that is, modifying the stock kernel binary directly) and reflashed it, making the bug disappear. The full custom kernel build also has this bug fixed.

With mtkclient, I also made the full backup of all important partitions from my device’s version.

I’m just sending all this in case someone needs help or has a similar device :slight_smile: I wonder if anyone will be interested in me releasing that custom kernel? I don’t know if my revision of the devie is common or not.

3 Likes

For bug one:
Bootloader is not unlockable with mtkclient. That’s well documented.
I don’t have the link right now but you could search the forums for the F21 bootloader unlock tool, a tool that’s built on top of mtkclient, specifically for this.
EDIT: I did not test this on v3 only on the older ones.

2 Likes

As I mentioned in the post itself, I did unlock with mtkclient, and it shouldn’t be hard to patch the bootloader to make it directly work this way. But then you’d have to reflash the bootloader just to unlock which you can already do with mtkclient.

Gotcha but totally unnecessary.

Yes, which is exactly what I said, and the extra F21 tool is also unncessary since you can just use mtkclient.

1 Like

Wdym, ofc it’s unlockable with mtkclient

It’s not unlock able with fastboot…

1 Like

One of the biggest bugs for this device is that on v3 the us bands could not be flashed because they changed something not sure what @ars18 might have figured out what they changed and since it couldn’t be flashed most of the american users moved off this device

1 Like

The hardware

2 Likes

I didn’t really follow the whole journey of this device, trying to figure out now what happened. In summary, someone basically paid that they shouldn’t release a non-kosher version with U.S. bands? Who is that exclusive company paying for that now? Does the TIQ or DOOV do any of the similar-looking phones have anything to do with the original Qin company? Why would someone pay for exclusive kosher rights of a phone that says Qin on it and not at least have their own kosher name?

This is all from around chanuka

from my understanding:

Basically when eko made the f30, the deal was that duoqin wouldn’t sell a non kosher American one so if you see a phone like that in America it’s obviously kosher

Thing is we managed to pull from the f30 b4 it was completely locked down

So now duoqin makes a version that doesn’t work with the us bands that we have from the f30

I don’t think doov or Tiq have anything to do

3 Likes

i always unlock the bootloader using mtkclient on f21 pro new and old version nver had an issue

2 Likes