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