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

Dunno, tell me the path

com.duoqin.remoteservice? Or com.duoqin.remote

One sec

I think we need a summary on this whole topic

2 Likes

PS C:\Users\Daniel Frydman\Downloads> adb shell pm path com.duoqin.remote
package:/system/app/Remote/Remote.apk

the com.duoqin.remoteservice doesnt exist

Have this?

com.update.remotemanagement

Haha yeah

Need a summary of all three revisions

doesnt have com.update.remotemanagement

1 Like

Launch it with am start or monkey to see what it is

which one - com.update.remotemanagement

No, this - com.duoqin.remote

You can also remove system update too, don’t need to but why not.

look what i found in system/app

image

Nuke, but make a copy first and check it out later I’m curious

@ars18 is there a way to tell straight away what version one might have?

Also after this is done someone should make a master guide to the f21 of all three and what one has to do to each one (roshei prokim and directs to other guides obviously, don’t spell out every step in it). I would be happy to but I don’t think I would do it properly as I’m not so invested in these projects of fixing all this stuff

1 Like

I think I do want to do it, and spell out every step.

I think the most non technical way to verify would be to pull backup of phone as soon as you open it with mtk client, and run a script I’ll make that checks the checksums against known models.

I thought I was done with this phone :slight_smile: I think I still am after this.

1 Like

i can usually tell by the look - this new version i got the bootanimation is just QIN and its differnt

Problem is it’s hard with only having one of the versions… I’ll have to peice it together

check what color it is by the charger port, can be hard to see, its either blue or red. If i had to guess yours was red

it is - ive never seen red

Summary of this thread - 434 posts

Qin F21 Pro New Hardware/ROM Issue - Complete Thread Summary

Thread: PLEASE HELP with new version qin F21, different hardware and ROM
Date: December 18-21, 2025
Total Posts: 434


The Problem

User dfrydman received a new batch of 18 Qin F21 Pro phones (~$2000 total) for distribution and discovered they had fundamentally different hardware and software from previous batches.

Hardware Differences

Component Old Batch New Batch
eMMC Chip Samsung (RX1BMB) GigaDevice (GD6BMB)
Super Partition 4GB 3.5GB (512MB smaller)
ROM Version 1.1.1 2.0.2 / 3.0.2
Boot Logo Normal Shows “locked bootloader”
SP Flash Button Back button Owl button
Chipset MT6761 MT6761 (same)

Core Issues

  1. SP Flash Tool failed - Partition address mismatch due to different GPT layout
  2. Cannot flash 1.1.1 ROM from XDA - Super partition too large (4GB vs 3.5GB available)
  3. ADB install completely blocked - Returns only “Failure” with no details
  4. PM (package manager) commands blocked - Same “Failure” message
  5. One phone soft-bricked - Rainbow colors + flashlight on boot after flashing wrong dtbo

Key Participants

Username Role Contribution
dfrydman Phone Distributor Original poster, had 20+ customers waiting
ars18 Forum Admin Primary troubleshooter, created patched services.jar
ys770 Phone Distributor Suggested CM2 dongle, fastboot, had contact with Chinese sellers
PleaseSmileToday Helper Downloaded crucial firmware from Baidu when dfrydman couldn’t access it
duoqininfo Duoqin Contact Suggested paid contact @levishc on Telegram
FlipAdmin Developer Interested in F21 project, asked about new hardware
Zvi_Wolf User Asked about future phone batches
G_Sal User Requested a summary of the thread

Troubleshooting Timeline

Phase 1: Initial Discovery (Posts 1-50)

  • dfrydman noticed different boot logo on new phones
  • Used mtkclient to unlock bootloader and compare GPT tables
  • Claude AI analysis revealed the 512MB super partition difference
  • Attempted to flash old ROM - phone showed rainbow colors (soft brick)
  • ys770 suggested CM2 dongle; ars18 suggested trying fastboot instead of SP Flash Tool

Phase 2: Hardware Compatibility Testing (Posts 50-120)

  • Confirmed both batches use MT6761 chipset
  • Flashing old boot.img or dtbo caused bootloops/glitches
  • Successfully edited lk to remove warning delays
  • Discovered US bands work on new phones
  • ars18: “Try just super with everything else stock”
  • dfrydman’s 4GB super couldn’t fit in 3.5GB partition

Phase 3: Getting Stock Firmware (Posts 120-170)

  • dfrydman contacted Duoqin (manufacturer) in China
  • They provided stock firmware via Baidu link
  • dfrydman couldn’t access Baidu (SMS verification wouldn’t work)
  • PleaseSmileToday downloaded and re-uploaded via WeTransfer
  • Firmware received: F21Pro_CY_20251027_1800_v3.0.2.zip
  • Flashed with SP Flash Tool “Download Only” - it worked and booted!

Phase 4: Trying to Get Old Features (Posts 170-250)

  • Stock ROM booted but ADB install was blocked
  • Tried flashing just system_a from old ROM - stuck on boot animation
  • Tried mixing old system with new vendor - System UI crashed
  • ars18 found services.jar from Baidu firmware had patches
  • Discovered: If device is NOT overseas (China ROM without GMS), ADB install is blocked
  • ars18 suggested adding “gms” to build.prop values

Phase 5: Services.jar Investigation (Posts 250-370)

  • Multiple versions of patched services.jar created:

    • v1, v2 - Initial patches from old 1.1.1 ROM
    • v3 - services_v3.jar - Added more patches
    • v5-userbuild - Patched to work on “user” builds (not just debuggable)
    • v6-userbuild-app_kill - Final version with background app kill fix
  • Key discovery by ars18 (Post #364):

    If build not debug nothing works. Will patch, or you can change debug to user with resetprop to test
    
  • The smali code was checking Build.IS_DEBUGGABLE and returning “Failure” for all installs on user builds

Phase 6: The Breakthrough (Posts 364-395)

ars18 identified the root cause and created the final patch:

# Original code:
sget-boolean v0, Landroid/os/Build;->IS_DEBUGGABLE:Z
const/4 v1, 0x1
if-nez v0, :cond_1    # If debuggable, continue
# Otherwise:
const-string v2, "Failure"
return v1

# Patched to bypass the check

Post #374 - dfrydman: “it worked”
Post #375 - dfrydman: “gotta go but im so happy”
Post #376 - ys770: “wow @ars18 for the win (again)”

Phase 7: Cleanup & Final Steps (Posts 395-434)

  • ars18 created services-v6-userbuild-app_kill.jar with background app kill fix included
  • Discovered Duoqin Guard MDM system embedded in firmware:
    • com.duoqin.guard.Guard - Custom MDM that blocks ADB, monitors settings
    • com.duoqin.remote - IR remote app (legitimate, can keep)
    • com.duoqin.devicereg - Device registration (remove)
    • com.duoqin.systemupdate - System update (can remove)
  • ars18 provided a “nuke script” to remove MDM apps
  • dfrydman confirmed eGate MDM could be set as device owner after fix
  • Found suspicious RemoteManagement folder in /system/app
  • ars18: All patching done on Termux on OnePlus 12 using Claude AI

The Solution

Final Working Process

  1. Flash stock firmware from Duoqin (v3.0.2 or similar for new hardware)

    • Use SP Flash Tool with “Download Only” option
    • Use owl button (not back button) for SP Flash mode
  2. Root the device with Magisk

  3. Replace services.jar with ars18’s patched version:

    • Final version: services-v6-userbuild-app_kill.jar
    • Rename to services.jar
    • Location: /system/framework/services.jar
    • Method: Either flash in system_a image or replace via root
  4. Run ars18’s nuke script to remove MDM/spyware apps:

    adb push script.sh /data/local/tmp
    adb shell su -c "sh /data/local/tmp/script.sh"
    
  5. Factory reset after removing MDM

  6. Pull super partition as backup before adding Google services

  7. Optional: Add Google services and apps as needed

What the Patches Fix

  • ADB install command works
  • PM install command works
  • Background app kill issue resolved (accessibility services work)
  • Can set eGate or other MDM as device owner
  • Removes Duoqin Guard restrictions

Technical Details

Why Old ROMs Don’t Work

The new eMMC chip (GigaDevice vs Samsung) has a different partition layout:

Partition Old Device New Device Difference
super 0x30000000 (4GB) 0x30000000 (3.5GB) -512MB
vbmeta_b 0x130000000 0x110000000 -512MB offset
userdata 0x131800000 0x111800000 -512MB offset

All partitions after super are shifted by 512MB, causing SP Flash Tool to fail with address mismatches.

Duoqin Guard MDM System

The new firmware includes an embedded MDM called “Duoqin Guard” that:

  • Blocks ADB at service level
  • Monitors settings changes
  • Maintains a blacklist of blocked activities
  • Sends broadcasts when activities are blocked
  • Acts as hidden device administrator

Tools Used

  • mtkclient - Bootloader unlock, partition backup
  • SP Flash Tool - Firmware flashing
  • CRB Kitchen - Super partition decompile/recompile
  • Magisk - Root access
  • android-framework-jar-patching (GitHub: AsenOsen) - services.jar patching
  • Claude AI - Analysis and code comparison
  • Termux - Mobile Linux environment (ars18 did all patching on phone)

Files Shared

File Description Shared By
services-v6-userbuild-app_kill.jar Final patched services.jar ars18
F21Pro_CY_20251027_1800_v3.0.2.zip Stock firmware from Duoqin PleaseSmileToday (from Baidu)
Nuke script Remove MDM apps ars18
se.zip Smali patches for reference ars18

Outcome

  • dfrydman successfully got phones working with ADB install
  • Committed to releasing a custom ROM for new hardware revision phones
  • ars18 noted the old 1.1.1 guide from XDA no longer works for new hardware
  • Community now has a solution for the new batch of F21 Pro phones

Notable Quotes

ars18 (Post #397):

“Look, I think this thread revealed how much of an ai junkie I am lol. Used to think it was useless. It’s just so useful if you get yourself a nice workflow and actually plan ahead.”

dfrydman (Post #378):

“for you ill do it - just dont know when it will be ready” (regarding releasing the ROM)

ys770 (Post #411):

“life hack: just do pm list packages duo - you dont need grep”


Summary compiled from 434 forum posts

5 Likes