Fairphone 6 Reinstalling Stock Android

To solve my FRP problem on my just installed /e/OS, I have to reinstall stock Android to remove my Google account and then reinstall /e/OS again.

So I downloaded FP6.QREL.15.151.0.20251011181017_VS1P-factory (the oldest one, older then the /es/OS version).

Got my FP6 ready in fastboot mode:

# fastboot devices
******** fastboot

# fastboot oem device-info
(bootloader) Verity mode: true
(bootloader) Device unlocked: true
(bootloader) Device critical unlocked: true
(bootloader) Charger screen enabled: true
OKAY [ 0.001s]
Finished. Total time: 0.001s

And started the script:

./flash_fp6_factory.sh

*** The Fairphone (Gen. 6) flashing script ***

INFO: The procedure will start soon. Please wait

INFO: The package type is “user-factory”
INFO: You are using a Linux distribution.

INFO: Validating the integrity of the package.
This might take a while. Please wait

INFO: Validation complete.
WARNING: Flashing this image wipes all user data and settings on the phone.
It will also remove the Google factory reset protection.
Are you sure you want to continue?
Type “Yes” (case sensitive) and press enter to continue: Yes
INFO: Looking for connected device(s)

INFO: One The Fairphone (Gen. 6) in fastboot mode found (serial number: ********).

And then it got back directly to the prompt, nothing had happened.

I also tried it from the fastbootd mode with the same result.

There was no bin-linux-x86 directory in the zip file, so I copied it over from the eos one.
The README had a Linux section, so that should work.

Any idea?

Probably the problem is that the 15.151.0 Android version is older than the /e/OS version?
Then I should install the latest Android and cannot install the current /e/OS 3.2 any more :roll_eyes: and have to wait for 3.3 to come out?

Can it make a difference ?? perhaps not, but the install page https://support.fairphone.com/hc/en-us/articles/18896094650513-How-to-manually-install-Android-on-your-Fairphone includes

    • For Linux, use the .sh file.
  • Now that you’ve found the correct file, double-click to open it and begin the installation.

Clicking it from the file manager of starting it from the commandline is identical and gives the same result.

  • Is this cause by the android image being older the the installed image?
  • If yes should I install the newest android image?
  • Does that prevent me to reinstall /e/OS 3.2?
  • Is there and other way around this FPR issue in /e/OS 3.2?

As I read this:

  • The value of rollback index is UPDATED to match ro.build.version.security_patch’s value of the currently installed version, but only if the bootloader is LOCKED.

Since the bootloader is unlocked, it is appearantly not updated, so this would not be the case here?

1 Like

I find it interesting this is mentioned. Maybe it hints at the way FRP is now handled in a15.

I have no experience of seeing a script go silent at this point. Does it make any sense to look at the Fairphone script alongside the /e/OS?

Is there any significant difference that could possibly trigger a silent abort at such an early stage?

Did you run the checksum?

About the checksum, if the zip-file was corrupt, it would not unzip.
The script itself does a checksum of all files, when I added a line in the script, it aborted.

I ran the script in debugging mode and this is how it ended:

serial_numbers=
++ /home/kees/apps/asdk/fastboot devices
++ grep fastboot
++ grep -oE ‘

[:alnum:]+’

for sn in $(“${FASTBOOT_BIN}” devices | grep fastboot | grep -oE ‘

[:alnum:]+’)
++ /home/kees/apps/asdk/fastboot -s ******** getvar product

PRODUCT_STRING=$‘product: FP6\nFinished. Total time: 0.004s’

[[ product: FP6
Finished. Total time: 0.004s == FP6 ]]

serial_numbers=’ ********’

ANDROID_SERIAL=********

case $(echo “${serial_numbers}” | wc -w | grep -oE ‘[0-9]+’) in
++ echo ’ ********’
++ wc -wh
++ grep -oE ‘[0-9]+’

echo ‘INFO: One The Fairphone (Gen. 6) in fastboot mode found (serial number: ********).’

DEVICE_FOUND=true
INFO: One The Fairphone (Gen. 6) in fastboot mode found (serial number: ********).

break

is_unlocked

UNLOCKED_STRING=‘Device unlocked: true’

CRITICAL_UNLOCKED_STRING=‘Device critical unlocked: true’
++ /home/kees/apps/asdk/fastboot -s ******** oem device-info

DEVICE_INFO_OUTPUT=$‘FAILED (remote: 'unknown command')\nfastboot: error: Command failed’

Some error about fastboot, but it worked fine in before commands


Executing the /home/kees/apps/asdk/fastboot -s ******** oem device-info command from the prompt worked fine.

Hello. I have a similar problem.

I have to send back my FP6 (not bought as /e/OS) for repair. Fairphone wants the stock OS.

My FP was unlocked with the following version and never locked again since then:

Version d’Android

15

Mise à jour de sécurité Android

5 octobre 2025

Mise Ă  jour du systĂšme Google Play

1 janvier 2025

Version de bande de base

Milos.LA.2.0-00125-STD.PROD-2.,Milos.LA.2.0-00125-STD.PROD-2.

Version de noyau

6.1.112-android 14-11-gde436e940319-ab13241938

#1 Wed Mar 19 16:54:52 UTC 2025

Numéro de build

FP6.QREL.15.151.0

Now the current version of /e/ is:

/e/OS

3.5-a15-2026021158086

8-official-FP6

Android 15

11 février 2026

DerniÚre vérification: 25 février 2026 (10:42)

But it seems like the FP OS has an older security patch:

Android 15

[Current] FP6.QREL.15.176.0.20260113120233 VS21-factory.zip z

Version: FP6.QREL.15.176.0

Release Date: 02 February 2026

Security Patch: 05 December 2025

SHA256 Checksum:

84d4ac75bedeca3f2df7c9af5d9b155f0dd13b9e16d54a655820503f9bc2ce51

Is there a risk that FP tries to relock the phone and that it bricks it?

In my understanding it should be fine as the comparison would be made to the security version at the time of unlocking, that is, 5th October 2025.

i see no risk to brick if done as you said

a safe guide to install /e/ on your Fairphone

1 Like

I relocked the bootloader with no trouble !

Thanks.

2 Likes

Hi all,

Piggybacking on Pierr0’s question above with a variation : for going from /e/OS back to FP Android and then back again to /e/OS.

Context :

I bought a FP6 several months ago and installed /e/OS using the installer. I had many problems (Contact app crashed when importing .vcf files; Bliss launcher not showing all apps; Unable to activate work profile; System apps showing names as - for example - “com.android.settings” instead of “Settings”) but only found the time to try to fix them now. After many failed attempts, I have decided to try to revert to stock FP6 Android OS and then retry installing /e/OS via command line.

I am concerned about bricking the phone in the process, and would like someone to please look over the following and tell me if I’m doing it correctly. Looking at the instructions, it looks to me like every time I install a new OS (whether it’s going from /e/OS to Fairphone Android OS or the other way) it needs to have a security patch which is at least as recent as the one I’m overwriting, or newer.

Available OS options :

My current version is : 3.6-a15-20260312593772-official-FP6, with Release Date: 12 March 2026 and Security Patch: 5 December 2025.

Available Fairphone Android versions are :

  1. Android 16

    [Current] FP6.QREL.16.48.0.20260210142132_WS15-factory.zip

    Version: FP6.QREL.16.48.0
    Release Date: 16 March 2026
    Security Patch: 05 February 2026
    SHA256 Checksum:
    edf1c136c720f6ff46ee907ba2b9374e9c50ce33e37d6ed0c81796ceabfcdd91

  2. Android 15

    FP6.QREL.15.178.0.20260204144956_VS22-factory.zip

    Version: FP6.QREL.15.178.0
    Release Date: 05 March 2026
    Security Patch: 05 February 2026
    SHA256 Checksum:
    85ea44178af4cd0385cce45a8204000665436a70207a9261465ef43846206692

Questions :

  1. Since I want to be able to reinstall /e/OS later, and the latest /e/OS version is the one mentioned above (based on Android 15), I assume I need to install Android 15 Fairphone Android, since there is no /e/OS Android 16 version of /e/OS yet that I could then reinstall, and I can’t go from Fairphone Android 16 to /e/OS Android 15 - is this correct?

  2. The Fairphone Android 15 version given above has a Security Patch date of 05 February 2026, which is more recent that the latest available /e/OS Android 15 version (05 December 2025). Does this mean that after I have installed this Fairphone Android version, I should hold back on reinstalling /e/OS until there is a new version with a Security Patch updated at least until 05 February 2026?

  3. Could an alternative be to install an the version of Fairphone Android given below? It has the same Security Patch date as the version of /e/OS I currently have installed.
    FP6.QREL.15.176.0

    Release date: 02 February 2026
    Android version: 15
    Security patch level: 05 December 2025

  4. If yes, where can I find it? I have searched on Fairphone’s website and forums with no luck, maybe someone here has better eyesight than I do.

Thanks in advance to whoever can help me.

-- o1vpr –

To give an answer one needs to know what is the lock status of the phone now and what was the Android SPL of the phone when it was last locked, or was this when you first installed /e/OS? The subject is explored here (answered) Install /e/ on FP5 with newer Security Patches.

So you can disregard Android SPL as long as you do not lock the bootloader.


Is it locked?

To receive a useful answer your question really has to be rephrased as:

This is (the date of) the Android SPL of the last locked build dd/mm/yyyy
This is the Android SPL of the build I want to lock dd/mm/yyyy/.

Now the reply is simple: Never go back anti-rollback. The second date must not be behind the first.

The install script is capable of change of Android version.

Smartphone Selector → Install /e/OS on a Fairphone The Fairphone (Gen. 6) - “FP6” →

Roll back to stock OS

Return to the default operating system.

Roll back


 but there are no historical builds shown there 
 never go back.

Hi, @aibd, thank you for your help. I am still a little confused after reading the thread you kindly linked, so I will try to clarify below what I have understood so far and ask simple questions.

  • If you want to re-lock, what matters is the date of the last locked build, not just the last build.
  • If you do not want to re-lock, then you don’t need to worry. Just make sure that when you do, the current OS is at least as new as the one you had when you last locked the boot loader.

Question 1 : which date should I refer to?

Here [ (answered) Install /e/ on FP5 with newer Security Patches - #16 by aibd ] you say that the Vendor Security Patch Level is not the correct one to look at, but “something else”, and point to post #2 in the thread, which says :

To check the security patch level on your phone with a locked bootloader, prior to installing /e/OS, open your phone Settings » About Phone » Android Version » Android Security Patch Level

The guide for installing /e/OS [ Install /e/OS on a Fairphone The Fairphone (Gen. 6) - “FP6” ] on FP6 says the same thing :

1. Find your device’s current rollback date (Security Patch Level)

  • Go to Settings > About Phone > Android Version > Android Security Patch Level.

  • Note the full date (e.g., 2025-06-05). This is your current rollback date.

In my FP6 when I go to Settings > About Phone > Android Version there is no Android Security Patch Level, but only these two dates :

  • Android security update : 1 March 2026
  • Vendor security patch level : 5 December 2025

( As an aside, the full list of fields is : Android version; /e/ OS version; Android security update; Vendor security patch level; Baseband version; Kernel version; Build date; Build number)

If the VSPL is not the one I should look at, then the only one left is the ASU. However, I unlocked the boot loader prior to installing /e/OS sometime in December 2025 (don’t have the exact date), and I know that I have updated the OS at least twice and possibly more between then and 1 March 2026. Which means that on 1 March 2026 the boot loader was already unlocked.

So Q1 is : which one is the date I should focus on?

Question 2 : can I avoid worrying about this if I don’t want to lock the bootloader until I’m back with /e/OS?

My boot loader is currently unlocked - as the phone reminds me every time I boot it.

My plan is to revert to FP Android, and then reinstall /e/OS. Since I will install the latest /e/OS version, it will not be older than the one I currently have.

So, Q2: if I leave the boot loader unlocked, can I just roundtrip /e/OS/ —> Fairphone Android —> /e/OS, and then lock the bootloader if I wish? And to make doubly sure, maybe wait for an extra OS update (to /e/ OS 3.7 for example) before doing so? (I understand that locking the bootloader leads to complete loss of data; this is fine).

Thank you,

– o1vpr –

It may be safest to continue using the phone unlocked A discussion about bootloader locking/unlocking
 AKA I want to relock my bootloader, should I?.

Locking the bootloader requires you to understand the risks.

Indeed Android Security Patch Level [1] is the same idea as Android security update and “(the date of) the Android SPL” as used here.

When you are satisfied there is no rollback you could continue as Post #9 which includes the “round trip” you describe.

[1] https://source.android.com/docs/security/bulletin/2026/2026-03-01#2026-03-01-security-patch-level-vulnerability-details

1 Like

Thank you @aibd .

The good news : Just confirming for any lurkers that I was able to roundtrip : Murena OS 3.6 (version 3.6-a15-20260312593772-official-FP6) —> FP OS (version FP6.QREL.15.178.0) —> Murena OS 3.6 (same version as above) by doing it via command line on Linux. I did not touch the bootloader and left it unlocked.

The bad news : looks like it hasn’t solved the issues I had originally that caused me to try this in the first place - I’ve just reconfirmed that when I try to import a .vcf, the Contacts app just
 closes. This happens with vcf 2.1, 3.0, and 4.0. So I’ll be digging around and probably posting more in the near future.

Thanks,

– o1vpr –

Contacts app issue solved : FP6 + /e/OS 3.6 Contacts app failing to import vcf - #2 by Wulf

1 Like

I’ve re-locked the bootloader successfully. Posting here in case this is useful to others who had the same questions.

To sum it up:

I know that I unlocked the bootloader some time in December, but I didn’t write down when I did it or what the date was for the existing Security Patch Update. So, just to be extra safe, let’s assume my memory is very flawed, and I did it much later, and it was the version currently available on Fairphone’s website today : https://support.fairphone.com/hc/en-us/articles/18896094650513-How-to-manually-install-Android-on-your-Fairphone. Both A15 and A16 show a Security Patch date of 5 February 2026. So that’s the absolute latest Security Patch version I could have had when unlocking the bootloader, as it’s the most recent one.

Yesterday I updated the OS from v3.6-a15 · e / os / :rocket: Releases · GitLab to v3.7-a15 · e / os / :rocket: Releases · GitLab.

The release for 3.6 states

“This /e/OS 3.6 version includes all Android security patches available as of March 2026.”

which is more recent than the FP Security Patch, so I would have been safe anyway. But just to be extra extra safe, I am now on 3.7, and the release states :

“This /e/OS 3.7 version includes all Android security patches available as of April 2026.”

Then I locked the bootloader by following the instructions at the bottom here Install /e/OS on a Fairphone The Fairphone (Gen. 6) - “FP6” , with one difference :

These are the steps given at the link :

  1. Reboot your device into bootloader, via a key combination:
    • With the device powered off

    • hold Volume Down + Power

  2. In the command prompt, lock critical partition with the following command
    • fastboot flashing lock_critical

    • Approve with Volume + then power

  3. In the command prompt lock the device with the following command
    • fastboot flashing lock

    • Approve with Volume + then power

After step 2, the phone rebooted, which the instructions above don’t mention. Not being sure of what to do, I actually went through with initial setup (I didn’t want to force a reboot halfway through), which was quick (I skipped everything that was skippable). Then I turned it off, and rebooted into bootloader again as it says in step 1.

When I rebooted, the phone popped up the usual “boot loader is unlocked” message before going into bootloader.

Then I followed step 3 (without repeating step 2). The phone rebooted, and did not show me the “boot loader is unlocked” message anymore.

I wanted to double check without having to reboot into fastboot again. So from the settings menu I did the following :

  1. Settings –> About phone –> Tap Build number repeatedly (in my case 7 times) until it tells you that you have enabled developer settings
  2. Settings –> System –> Developer options –> scroll down to where it says “OEM unlocking” and confirm that the toggle is off.

I hope this is useful to someone else.

– o1vpr –

This topic was automatically closed after 180 days. New replies are no longer allowed.