• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[GUIDE] Fix Fingerprint Scanner with "corrupt" persist in 15 minutes!

Search This thread

starcms

Senior Member
So when i went to root explorer today exploring data folder inside persist folder i noticed something strange, even after restoring my original non broken persist.img these files did not change as per my thinking and have newer calibration dates than that of 2019.

so what i did i copied data and engineer mode folder from my original unbroken persist.img after extracting it, to the Persist folder inside Root/mnt/vedor and merged both folders. this brought me back having all dates to 2019 except gf_persist.so and autoCalibrationParams.so.

then wat i did i rebooted and used command dd (dd if=/sdcard/persist.img of=/dev/block/bootdevice/by-name/persist) to copy back my original unbroken persist.img.

rebooted and Boom now i have finger print working just like new. didnt even needed to use any fix or anything.

and now my question is... why even after flashing and dd'ing my persist.img many times the persist folder files were not getting modified? doesnt this partition flashing is actually re writing these files inside Root/mnt/vendor/persist ???

so many questions but no satisfying answer :( but im really very happy with your support and all the healthy inputs :)) double thumbs up to the efforts you guys are putting in this forum.

As you probably found out by now, the FP scanner stopped working like new. It seems to only work like new after first following the steps posted. After a reboot or two, autoCalibrationParams.so gets updated (as it should) but it makes the FP scanner only work a small percentage of the time/works like crap. I've pretty much given up trying to fully understand why it does this and there is no permanent fix (besides sending it to 1+ for a fingerprint recalibration or motherboard replacement)
 
Jun 20, 2016
18
2
As you probably found out by now, the FP scanner stopped working like new. It seems to only work like new after first following the steps posted. After a reboot or two, autoCalibrationParams.so gets updated (as it should) but it makes the FP scanner only work a small percentage of the time/works like crap. I've pretty much given up trying to fully understand why it does this and there is no permanent fix (besides sending it to 1+ for a fingerprint recalibration or motherboard replacement)
That's not in my case, because after copying the files as i mentioned in above post, i restarted many times after installing swift installer and dark mode using it. And my fingerprint is working flawless uptill now. All my base cal dates are of 2019 in data and eng mode folder.

What worked for me was copying all files from original non broken persist to my device in data and eng mode folder.

Edit: checked again and found all files in data folder have dates back of 2019, only autocalibrationparam.so has date of 22sep2021.
 
  • Like
Reactions: starcms

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    Omg, I've been messing with this thing for 2 months trying to fix it, all because I didn't take a backup of my /persist as soon as I got the phone, but there is a way to fix it!!! The only pre-requisites are that:
    A) you still have your own /persist (that came with your specific phone, didn't overwrite it with one from the forums and didn't save your original somewhere) AND
    B) all sensors still work (only the fingerprint scanner is broken) AND
    C) that you have NEVER ran the hidden fingerprint calibration tools accessible from *#808# (unless you have a backup of /persist from before you did that)

    Follow these simple instructions and enjoy:

    https://forum.xda-developers.com/oneplus-8/how-to/guide-fix-persist-img-loss-finger-print-t4126455

    You can ignore the entire part about having to run the MSM tool to roll back to a previous version of OOS (Step 2). Therefore, no data is lost, no factory reset is required, etc.

    Also in very first part of Step 4, you need to dial *#808#, not *#801#

    It took me less than 15 minutes and now it's good as new!!! Please give the OP thanks! He spent almost 200 hours figuring this out (and I don't doubt it; I must have spent easily over 20 hours myself and didn't get anywhere...). All I did was find his genius instructions and post them here.

    Edit: And to add one last step to the guide, after you finish and get the fp scanner working again, please be sure to take a backup of your now fixed persist partition and store it in at least two different locations. Because if you are reading this, you are most likely modding your phone with at least Magisk (why else unlock the bootloader? ;) and almost anything can cause persist to be corrupted. For me, it was simply installing a bad build of magisk canary back in May that did it. It's not just important for those installing aftermarket ROMs. It's vital for anyone who even thinks about unlocking the bootloader on this device. Because even the act of relocking the bootloader has caused persist to be corrupted for some...

    Edit2: If you run the MSM tool after fixing persist, or manually relock the bootloader, you'll wind up with your FP being broken again. I'm assuming because the checksum of the "fixed" persist doesn't match that of the original, unmodified persist, so it gets marked as corrupt again. So you'll need to unlock the bootloader and restore/flash your backed up, fixed persist (you did back it up this time, right? ;) Impossible to run msm tool to get back to stock AND have FP working. Bootloader must be unlocked after using msm tool and fixed persist restored.
    1
    Hi All respected seniors!

    can anybody please explain procedure for original persist.img backup. I have a TMO 7T PRO Mclaren and after bootloader unlock at android 11 after magisk i took all partition backup including then working finger print persist.img but after installing several magisk mods one day i woke up with no fingerpring hardware error. now i have my original persist.img at hand. i also backed up this corrupt fp persist.img.

    every one here has workaround for broken persist.img but i want to know the restoration method of original woking persist.img backed up before any sensor issues..

    please help!

    I already answered in your other thread. Please don't double post.
    1
    Okay.

    But I'm thinking of another option, as i backed up my original non broken persist.img after unlocking bootloader via MSM tool, so im sure that partition backup would have original non corrupt unlock.so file in it. Along with original persist.so

    So the question, can that file be used in any way to help this issue.

    Need your precious expert opinion in this regard..

    Also should i continue replying in this thread or move the discussion to HD1925's.

    If gf_persist.so is what's causing the issue of it not working anywhere near as well as it should, then you/we are crap outta luck because that file must be over-written as per the instructions to get the FP sensor working again. Only way to properly restore that file is per re-cal by OnePlus. However, at least on the OP8, this file only seems to "tell" the system whether or not the FP cal data is "valid" and doesn't contain any actual calibration parameters.

    Our HD1925 is slightly different however because the OP8 doesn't even have a gf_persist_unlock.so file. However, your idea is an excellent one. The file dates on your pre-corrupted, backed-up persist partition in /persist/data should all share the same exact date (except for autoCalibrationParams.so_0) -- the date being when the phone was originally built and calibrated by OnePlus. Most likely a date in late 2019.

    If the file date of gf_persist_unlock.so (or any other files in that directory besides gf_persist.so and autoCalibrationParams.so_0) in your backed-up, pre-corrupt persist is still showing back in late 2019, but the persist version you are currently using shows much more recent dates for any of these files (again, excluding gf_persist.so and autoCalibrationParams.so_0), specifically gf_persist_unlock.so, then do what you just thought of -- restore the original, "non-corrupted cal data but apparently corrupt gf_persist.so" version of persist, get a copy of /persist/data/gf_persist_unlock.so, then restore the "fixed" version of persist and copy over gf_persist_unlock.so.

    But this will only have a chance of working if the date of gf_persist_unlock.so matches everything else in that folder (again, excluding gf_persist.so and autoCalibrationParams.so_0) -- a date in late 2019 or possibly early 2020, meaning it has never been touched or modified in any way since the phone was originally made.
    1
    So i think we might have a chance.. im attaching my persist.img extraction. Give a look at dates.. i think i have original OP cal at hand.

    Yep, looks great. Just copy/overwrite the fixed gf_persist.so from following the instructions

    Edit: just so strange you are even having issue since gf_persist.so has never even been altered/corrupted judging by the file date.
    1
    Figured I would post this here for anyone that had my issue. The Fingerprint fix from the OP works perfect but after getting back the fingerprint it never registered my fingerprint properly(maybe 1 out of every 10 tries).

    I decided to rerun the calibration test.

    delete all fingerprints first if you can

    1) Start test nothing pressed just hit start
    2) Start flesh sleeve - quickly put your finger or palm completely over the white circle
    3) Black Rubber Sleeve Test - Hit start and I used a black rubber mat I have to cover the whole bottom of the screen
    4) Positioning Circle Test I quickly just used my thumb to cover the circles
    5) Stripe Rubber Sleeve Test I rubber mat to cover half the circle.

    Completed the file copy and rebooted

    Now it works 4 out of 5 times - I can now disable face scanner again yay. What I also noticed is it take a bit longer to process the fingerprint.

    Again thank you to the OP for this fix!

    Also just noticed some people in this thread that are having difficulty getting the op instructions to work, I figured I would mention what happened to me. A while back I upgraded magisk and which broke my finger print. I used this guide to fix it. Then again later after upgrading magisk and phone upgrade and it broke again but I couldn't fix it no matter how many times I tried. What I didnt realize was I had a few scripts in post-fs-data.d and service.d to automate a few startup things through magisk(things that should not affect fingerprint scanner). I deleted everything in the folder and boom finger print worked again. Very weird to me, so thing with this process breaks the fp. Still need to do OP directions but was good again.